◇Q1. *ALLOBJ権限をもつユーザーをリストアップしたい
◇A1.
下記を実行してください。
1 |
PRTUSRPRF TYPE(*ALL) SELECT(*SPCAUT) SPCAUT(*ALLOBJ) |
◇Q2. AS/400からUNIXへFTP(PUT)したのですが漢字が化けてしまいます
◇A2.
ltypeを追加してみてください。
ltype c 5050
1 2 |
FTP クライアント TYPE が変更された。サーバー TYPE は変更されていません。 データ・タイプは C である。 CCSID 値は 5050 である。 |
◇Q3.AS/400の漢字コードを知りたい
◇A3.
ToolBoxコマンド WRKDBMコマンドでPFファイルを開き、F13キーから確認出来ます。
◇Q4. CCCSID=5026のファイルからCCSID=5035のファイルへコード変換したい
◇A4.
以下の手順を行ってください。
①CCSID=5035でファイルを作成する。
②CPYF FMTOPT(*MAP)でコード変換を行う。
◇Q5.CDの内容を見るには?
◇A5.
WRKOPTVOLまたは、WRKOPTDIRを使用してください。
◇Q6.CLでRCVFを使用しているが、ファイルエンドメッセージ(CPF0864)をジョブログに出力しない方法は?
◇A6.
1 2 3 4 |
RCVF MONMSG MSGID(CPF0864) EXEC(DO) RCVMSG MSGTYPE(*EXCP) RMV(*YES) ENDDO |
◇Q7.CLで呼出し元のプログラム名を取得したい
◇A7.
サンプルCLを参考にしてください。
呼出し元のプログラム名により、制御したい場合は便利です。
◇Q8.CLで数字変数を編集して表示したい
◇A8.
USRTOOLのEDTVARコマンドを使用すれば出来ます。
■例■
1 2 3 4 5 |
DCL VAR(&IN) TYPE(*DEC) LEN(9 0) DCL VAR(&OUT) TYPE(*CHAR) LEN(22) CHGVAR VAR(&IN) VALUE(123456) EDTVAR CHROUT(&OUT) NUMINP(&IN) SNDPGMMSG MSG(&OUT) |
123,456と表示されます。
◇Q9.CLで数字属性(*DEC)を定義した場合は、内部的にはどのような形式になっているのか?
◇A9.
パック10進数になっています。
ご参考までに、ゾーン10進数とのちがいをまとめてみました。
添付ファイルを参照ください。
パック10進数とゾーン10進数の違い
◇Q10.CLで自分自身のプログラム名、ライブラリー名を取得できますか?
◇A10.
DMPCLPGMを使うと可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
PGM DCL VAR(&LIB) TYPE(*CHAR) LEN(10) DCL VAR(&PGM) TYPE(*CHAR) LEN(10) DCL VAR(&MSGDATA) TYPE(*CHAR) LEN(256) OVRPRTF QPPGMDMP QSYS/QDARCDSP DMPCLPGM MONMSG MSGID(CPF0570) EXEC(DO) RCVMSG MSGTYPE(*EXCP) MSGDTA(&MSGDATA) CHGVAR VAR(&PGM) VALUE(%SST(&MSGDATA 1 10)) CHGVAR VAR(&LIB) VALUE(%SST(&MSGDATA 11 10)) ENDDO SNDPGMMSG &LIB SNDPGMMSG &PGM ENDPGM: ENDPGM |