CLプログラムからの要求発行
この節では要求発行を行うサンプルCLを掲載しています。
<サンプルCLについて>
-
エラーコードをCL変数&EXTで受け取ります。要求発行を行う前に、&EXTを7バイトのスペース+「0x00」で初期化しています。
= 備考 =エラーコードをCL変数に受け取る場合、サンプルCLのように使用前に必ず変数を初期化してください。
-
PARMに'OUTPUT='の指定があるものは、エラーメッセージをライブラリ「MYLIB」のファイル「MSG」、メンバ「MSG」に出力します。エラーコードについては「エラーコード・メッセージ」を参照してください。
(1) ファイルID「TEST01」の配信要求を発行する
START:PGM DCL &FILEID TYPE(*CHAR) LEN(11) DCL &EXT TYPE(*CHAR) LEN(8) DCL &NULL TYPE(*CHAR) LEN(1) VALUE(X'00') CHGVAR VAR(&FILEID) VALUE('F=TEST01' *CAT &NULL) CHGVAR VAR(&EXT) VALUE(' ' *CAT &NULL) CALL PGM(HULFT/UTLSEND) + PARM(&FILEID 'OUTPUT=MYLIB/MSG(MSG)' 'EXIT' &EXT) SNDPGMMSG MSG('EXIT=' *BCAT &EXT) MSGTYPE(*COMP) ENDPGM
(2) ファイルID「TEST01」(相手ホスト:RS6000)の再配信要求を発行する
START:PGM DCL &FILEID TYPE(*CHAR) LEN(11) DCL &HOST TYPE(*CHAR) LEN(71) DCL &EXT TYPE(*CHAR) LEN(8) DCL &NULL TYPE(*CHAR) LEN(1) VALUE(X'00') CHGVAR VAR(&FILEID) VALUE('F=TEST01' *CAT &NULL) CHGVAR VAR(&HOST) VALUE('R=RS6000' *CAT &NULL) CHGVAR VAR(&EXT) VALUE(' ' *CAT &NULL) CALL PGM(HULFT/UTLSEND) + PARM(&FILEID 'OUTPUT=MYLIB/MSG(MSG)' &HOST 'EXIT' &EXT) SNDPGMMSG MSG('EXIT=' *BCAT &EXT) MSGTYPE(*COMP) ENDPGM
(3) ファイルID「TEST01」(相手ホスト:RS6000)の送信要求を発行する
START:PGM DCL &FILEID TYPE(*CHAR) LEN(11) DCL &HOST TYPE(*CHAR) LEN(71) DCL &EXT TYPE(*CHAR) LEN(8) DCL &NULL TYPE(*CHAR) LEN(1) VALUE(X'00') CHGVAR VAR(&FILEID) VALUE('F=TEST01' *CAT &NULL) CHGVAR VAR(&HOST) VALUE('H=RS6000' *CAT &NULL) CHGVAR VAR(&EXT) VALUE(' ' *CAT &NULL) CALL PGM(HULFT/UTLRECV) + PARM(&FILEID 'OUTPUT=MYLIB/MSG(MSG)' &HOST 'EXIT' &EXT) SNDPGMMSG MSG('EXIT=' *BCAT &EXT) MSGTYPE(*COMP) ENDPGM
(4) ファイルID「TEST01」(相手ホスト:RS6000)の再送要求を発行する
START:PGM DCL &FILEID TYPE(*CHAR) LEN(11) DCL &HOST TYPE(*CHAR) LEN(71) DCL &EXT TYPE(*CHAR) LEN(8) DCL &NULL TYPE(*CHAR) LEN(1) VALUE(X'00') CHGVAR VAR(&FILEID) VALUE('F=TEST01' *CAT &NULL) CHGVAR VAR(&HOST) VALUE('H=RS6000' *CAT &NULL) CHGVAR VAR(&EXT) VALUE(' ' *CAT &NULL) CALL PGM(HULFT/UTLRECV) + PARM(&FILEID 'OUTPUT=MYLIB/MSG(MSG)' &HOST 'R' 'EXIT' &EXT) SNDPGMMSG MSG('EXIT=' *BCAT &EXT) MSGTYPE(*COMP) ENDPGM
(5) ホストRS6000へジョブID「JOB0001」のジョブ実行結果通知を行う
START:PGM DCL &HOST TYPE(*CHAR) LEN(71) DCL &JOB TYPE(*CHAR) LEN(11) DCL &MSG TYPE(*CHAR) LEN(53) DCL &RC TYPE(*CHAR) LEN(7) DCL &EXT TYPE(*CHAR) LEN(8) DCL &NULL TYPE(*CHAR) LEN(1) VALUE(X'00') CHGVAR VAR(&JOB) VALUE('J=JOB0001' *CAT &NULL) CHGVAR VAR(&HOST) VALUE('H=RS6000' *CAT &NULL) CHGVAR VAR(&MSG) VALUE('M=PERSONNEL INFORMATION' *CAT &NULL) CHGVAR VAR(&RC) VALUE('R=0000' *CAT &NULL) CHGVAR VAR(&EXT) VALUE(' ' *CAT &NULL) CALL PGM(HULFT/HULSNDRC) + PARM(&HOST &JOB &MSG &RC 'EXIT' &EXT) SNDPGMMSG MSG('EXIT=' *BCAT &EXT) MSGTYPE(*COMP) ENDPGM
(6) ジョブID「JOB01」(相手ホスト:RS6000)のリモートジョブ実行を行う
START:PGM DCL &HOST TYPE(*CHAR) LEN(71) DCL &JOBID TYPE(*CHAR) LEN(11) DCL &EXT TYPE(*CHAR) LEN(8) DCL &NULL TYPE(*CHAR) LEN(1) VALUE(X'00') CHGVAR VAR(&JOBID) VALUE('J=JOB01' *CAT &NULL) CHGVAR VAR(&HOST) VALUE('H=RS6000' *CAT &NULL) CHGVAR VAR(&EXT) VALUE(' ' *CAT &NULL) CALL PGM(HULFT/UTLRJOB) + PARM(&HOST &JOBID 'SYNC' 'EXIT' &EXT) SNDPGMMSG MSG('EXIT=' *BCAT &EXT) MSGTYPE(*COMP) ENDPGM
(7) 配信受付ジョブ、集信受付ジョブ、要求受付ジョブを終了させる
START:PGM DCL &EXT TYPE(*CHAR) LEN(8) DCL &NULL TYPE(*CHAR) LEN(1) VALUE(X'00') CHGVAR VAR(&EXT) VALUE(' ' *CAT &NULL) CALL PGM(HULFT/UTLKILLSND) + PARM('OUTPUT=MYLLIB/MSG(MSG)' 'EXIT' &EXT) CALL PGM(HULFT/UTLKILLRCV) + PARM('OUTPUT=MYLLIB/MSG(MSG)' 'EXIT' &EXT) CALL PGM(HULFT/UTLKILLOBS) + PARM('OUTPUT=MYLLIB/MSG(MSG)' 'EXIT' &EXT) SNDPGMMSG MSG('EXIT=' *BCAT &EXT) MSGTYPE(*COMP) ENDPGM