◇Q131. リモートOUTQの作り方を教えてください
◇A131.
AS/400間の場合とダイレクトにネットワークプリンターへ出力する場合の例です。
※添付ファイル
リモートOUTQ作成方法
◇Q132. リモートOUTQを使ってネットワークプリンターに印刷しているが、COPY部数を指定しているのに、1部しか印刷されない
◇A132.
CRTOUTQのパラメータとして、DESTOPT(XAIX)を指定してください。
但し、プリンターによっては対応していない場合もあります。
◇Q133. リモートOUTQを使用する場合の注意事項は?
◇A133.
ターゲット側では、LPDサーバーが起動されている必要があります。
STRTCPSVR *LPDで起動できますが、IPL時に自動起動する場合は、CHGLPDA AUTOSTART(*YES)を行ってください。
サーバーが立ち上がっているかを確認するには、WRKACTJOB JOB(QTLPD*)で確認します。
◇Q134. リモートシステムに、CLあるいはRPGなどのソースメンバーをコピーしたい
◇A134.
FTP、データ転送などでも出来ますが、DDMを使用する方法がもっとも簡単です。
サンプルをご参照ください。
1.リモートシステムのCL のソースファイルをDDM で作成する。
2.DDM ファイルへコピーを行う。
1 2 |
CRTDDMF FILE(YYLIB/QCLSRCDM) RMTFILE(YYLIB/QCLSRC) RMTLOCNAME(CYFLEX2) CPYSRCF FROMFILE(YYLIB/QCLSRC) TOFILE(YYLIB/QCLSRCDM) FROMMBR(TEST1) |
◇Q135. ローカルデータエリアの使用方法を教えてください
◇A135.
CL、ILE-RPG、RPGの場合の使用方法です。
CL
1 2 3 4 5 |
FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 0007.00 PGM 0007.01 DCL VAR(&DATE) TYPE(*CHAR) LEN(8) 0008.00 RTVDTAARA DTAARA(*LDA (1 8)) RTNVAR(&DATE) 0009.00 ENDPGM |
1 2 3 4 5 6 |
FMT D DNAME+++++++++++ETDSFROM+++TO/L+++IDC.KEYWORDS+++++++++++++++++++++++++ 0036.01 D #DATE DS 0036.02 D #YYMMDD 1 8 0037.00 C***************************************************************** 0042.01 C *DTAARA DEFINE *LDA #DATE 0043.01 C IN *DTAARA |
1 2 3 4 5 6 |
FMT DS .....IDSNAME....NODSEXT-FILE++.............OCCRLEN+.................... 0039.01 I DS 0039.02 I 1 8 #DATE 0045.00 C************************************************************ 0045.01 C *NAMVAR DEFN *LDA #DATE 0045.02 C IN *NAMVAR |
◇Q136. 今までパススルーできていたのが、CPF8933(指定したロケーションへの経路が見つからない)のエラーになる
◇A136.
パススルーで使用している制御装置を見てください。
活動状態になっていなかったら、オフ/オンを行ってください。
◇Q137. 他人のジョブのMSGW対して応答を返すことができてしまうがなぜか?
◇A137.
QSYSOPRのMSGWの場合は、QSYSOPR(MSGQ)の権限に従います。
デフォルト値は、PUBLICはOPR READ ADD
EXECUTE権限が付いていますがこの場合は応答を返すことができます。
EXECUTE権限がないと応答は返せなくなります。
◇Q138. 借用権限を設定しいるかどうかを調べたいが、DSPPGMコマンドはOUTPUT(*OUTFILE)を指定できない
◇A138.
API(QCLRPGMI)を使用すればプログラム属性を取得できます。
ご参考までに、借用権限について添付します。
※添付ファイル
借用権限について
◇Q139. 入力されたユーザーID、パスワードがユーザープロファイルに登録されているものと一致するかをチェックしたい
◇A139.
API(QSYGETPH)を使用すると可能です。
パスワードエラーの場合、システム値QMAXSIGNのチェックが行われますので注意してください。
◇Q140. 全てのジョブ記述の初期ライブラリーリストを調べたい
◇A140.
以下のいずれかの方法で可能です。
2.システムAPI QWDRJOBDを使用する。
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 34 35 36 37 38 39 40 41 42 43 44 45 46 |
PGM PARM(&LIB) DCL VAR(&LIB) TYPE(*CHAR) LEN(10) DCL VAR(&JOBDQUAL) TYPE(*CHAR) LEN(20) DCL VAR(&INLLIBL) TYPE(*CHAR) LEN(2750) DCL VAR(&STARTPOS) TYPE(*DEC) LEN(5 0) DCL VAR(&LEN) TYPE(*DEC) LEN(5 0) DCL VAR(&RECEIVER) TYPE(*CHAR) LEN(7000) DCL VAR(&RECLEN) TYPE(*CHAR) LEN(4) DCL VAR(&OFFSET) TYPE(*CHAR) LEN(4) DCL VAR(&ENTNBR) TYPE(*CHAR) LEN(4) DCL VAR(&I) TYPE(*DEC) LEN(5 0) VALUE(0) DCL VAR(&J) TYPE(*DEC) LEN(5 0) DCL VAR(&NBR) TYPE(*DEC) LEN(7 0) DCL VAR(&NBR_CHR) TYPE(*CHAR) LEN(7) DCLF FILE(QSYS/QADSPOBJ) CHGVAR VAR(%BIN(&RECLEN)) VALUE(7000) DSPOBJD OBJ(*ALL/*ALL) OBJTYPE(*JOBD) + OUTPUT(*OUTFILE) OUTFILE(QTEMP/ALLJOBD) OVRDBF FILE(QADSPOBJ) TOFILE(QTEMP/ALLJOBD) READ: RCVF MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(EOF)) CHGVAR VAR(&JOBDQUAL) VALUE(&ODOBNM *CAT &ODLBNM) CALL PGM(QWDRJOBD) PARM(&RECEIVER &RECLEN + 'JOBD0100' &JOBDQUAL X'00000000') CHGVAR VAR(&OFFSET) VALUE(%SST(&RECEIVER 361 4)) CHGVAR VAR(&STARTPOS) VALUE(%BIN(&OFFSET) + 1) CHGVAR VAR(&ENTNBR) VALUE(%SST(&RECEIVER 365 4)) CHGVAR VAR(&LEN) VALUE(%BIN(&ENTNBR) * 11) CHGVAR VAR(&INLLIBL) VALUE(%SST(&RECEIVER &STARTPOS + &LEN)) CHGVAR VAR(&I) VALUE(0) NEXT: CHGVAR VAR(&J) VALUE((&I * 11) + 1) IF (%SST(&INLLIBL &J 10) *EQ &LIB) + THEN(GOTO FOUND) CHGVAR VAR(&I) VALUE(&I + 1) IF (&I *LT 250) THEN(GOTO CMDLBL(NEXT)) GOTO READ FOUND: SNDPGMMSG MSG('LIBRARY ' *CAT &LIB *BCAT 'FOUND IN + JOBD' *BCAT &ODLBNM *TCAT '/' *CAT &ODOBNM) CHGVAR VAR(&NBR) VALUE(&NBR + 1) GOTO READ EOF: DLTF FILE(QTEMP/ALLJOBD) CHGVAR VAR(&NBR_CHR) VALUE(&NBR) SNDPGMMSG MSG('LIBRARY ' *CAT &LIB *BCAT 'FOUND' *BCAT + &NBR_CHR *BCAT 'TIMES IN JOB DESCRIPTIONS.') END: ENDPGM |