◇Q121.CLで同一ファイルをRE-OPENしたい。
◇A121.
V5.4以上であれば以下の方法で対応できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
PGM DCLF FILE(MYLIB/xxxxx) OPNID(MYFILE) DCL VAR(&CNT) TYPE(*DEC) LEN(1) DOWHILE COND(&CNT < 3) RCVF OPNID(MYFILE) MONMSG MSGID(CPF0864) EXEC(DO) CLOSE OPNID(MYFILE) CHGVAR &CNT (&CNT + 1) ENDDO 処理 ENDDO ENDPGM |
◇Q122.DSPUSRPRFの内容について知りたい。
◇A122.
DSPUSRPRFでOUTFILEに出力した場合
●パスワード有効期間(UPPWEI)
1 2 |
0 : *SYSVAL(QPWDEXPITV) 1- : *NOMAX |
●パスワードが*NONE(UPPWON)
1 2 |
*YES : パスワードなし(サインオン不可) *NO : パスワードあり |
●パスワード満了日付(UPEXPD)
パスワードが満了する日
※有効期間が*NOMAX、パスワードなしの場合は表示されません。
◇Q123.ユーザープロファイルの制限機能(LMTCPB))について知りたい。
◇A123.
LMTCPB(*YES)にすると、コマンドラインからのコマンド実行ができなくなります。
ただし、以下の実行は可能です。
・CLの中からのコマンド実行
・メニュー(SDA)の中からのコマンド実行
・ODBC経由でのCALL QCMDEXC実行
◇Q124.CLコマンドでOUTFILEに出力したい。
◇A124.
所有者を一括変更する場合の例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
PGM PARM(&LIB &NEWOWN) DCLF FILE(QADSPOBJ) DCL VAR(&LIB) TYPE(*CHAR) LEN(10) DCL VAR(&NEWOWN) TYPE(*CHAR) LEN(10) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) + MSGDTA('OBJECT LIST取得中!') + TOPGMQ(*EXT) MSGTYPE(*STATUS) DSPOBJD OBJ(&LIB/*ALL) OBJTYPE(*ALL) + OUTPUT(*OUTFILE) OUTFILE(QTEMP/OBJLIST) OVRDBF FILE(QADSPOBJ) TOFILE(QTEMP/OBJLIST) /* ライブラリーの所有者変更 */ CHGOBJOWN OBJ(&LIB) OBJTYPE(*LIB) + NEWOWN(&NEWOWN) CUROWNAUT(*SAME) MONMSG MSGID(CPF22BE) READ: RCVF MONMSG MSGID(CPF0864) EXEC(GOTO END) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) + MSGDTA(&ODOBNM *CAT '所有者変更中!') + TOPGMQ(*EXT) MSGTYPE(*STATUS) /* オブジェクトの所有者変更 */ CHGOBJOWN OBJ(&ODLBNM/&ODOBNM) OBJTYPE(&ODOBTP) + NEWOWN(&NEWOWN) CUROWNAUT(*SAME) MONMSG MSGID(CPF22BE) GOTO READ END: ENDPGM |
◇Q125.ソースタイプの取得または変更を行いたい。
◇A125.
ソースタイプの取得:RTVMBRD
ソースタイプの変更:CHGPFM
◇Q126.ソースファイルの一覧を作成したい。NEW
◇A126.
■DSPFDを使用する場合
1 |
DSPFD FILE(xxx/*ALL) TYPE(*BASATR) OUTPUT(*OUTFILE) |
OUTFILEのFILE TYPE「S」がソースファイルです。
■SQLを使用する場合
1 2 3 |
SELECT DBXFIL, DBXLIB, DBXATR, DBXTYP, DBXTXT FROM QADBXREF WHERE DBXTYP = 'S' |