ジョブのライブラリーリストを、ジョブ記述のライブラリーリストに複写するコマンドです。簡単なプログラムですが、便利ですよ。プログラム自体の説明は省きますが、いろいろ追加して、育ててください。
これで、たとえば、プロンプトをYにして、実行キーを押すと、こうなります。
下のソースをカット&ペーストでAS/400にアップロードして、使ってください。
コマンド:CHGJOBDLBL
CMD ('CHANGE LIBL IN JOBD ')
PARM KWD(JOBD) TYPE(QUAL1) +
PROMPT('JOBD')
PARM KWD(PROMPT) TYPE(*CHAR) LEN(1) RSTD(*YES) +
DFT(N) VALUES(Y N) PROMPT('PROMPT')
QUAL1: QUAL TYPE(*NAME) LEN(10) DFT(*USRPRF) +
SPCVAL((*USRPRF))
QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) +
SPCVAL((*LIBL)) PROMPT('LIBRARY')
|
CPP: CHGJOBDLBC (CMDのコマンド処理プログラム)
PGM (&JOBDL &PROMPT)
DCL &USER *CHAR 10
DCL &JOBDL *CHAR 20
DCL &JOBD *CHAR 10
DCL &JOBDLIB *CHAR 10
DCL &PROMPT *CHAR 1
DCL &USRLIBL *CHAR 275
DCL &CMD *CHAR 500
DCL &CMDLEN *DEC (15 5) VALUE(500.00000)
MONMSG CPF0000
CHGVAR &JOBD %SST(&JOBDL 1 10)
CHGVAR &JOBDLIB %SST(&JOBDL 11 10)
RTVJOBA USRLIBL(&USRLIBL)
IF (&JOBD='*USRPRF') RTVUSRPRF JOBD(&JOBD) JOBDLIB(&JOBDLIB)
CHKOBJ &JOBDLIB/&JOBD *JOBD
MONMSG CPF9800 *N DO
CHGVAR &CMD ('?CRTJOBD'|>&JOBDLIB|<'/'|<&JOBD|>'INLLIBL('|> &USRLIBL |<')')
GOTO EXEC
ENDDO
CHGVAR &CMD ('CHGJOBD'|>&JOBDLIB|<'/'|<&JOBD|>'INLLIBL('|> &USRLIBL |<')')
IF (&PROMPT='Y') CHGVAR &CMD ('?'|<&CMD)
EXEC:
CALL QCMDEXC (&CMD &CMDLEN)
RETURN
ENDPGM
|
2000-8-12 |