CLプログラムからの要求発行

この節では要求発行を行うサンプルCLを掲載しています。

<サンプルCLについて>

  • エラーコードをCL変数&EXTで受け取ります。要求発行を行う前に、&EXTを7バイトのスペース+「0x00」で初期化しています。

    = 備考 =

    エラーコードをCL変数に受け取る場合、サンプルCLのように使用前に必ず変数を初期化してください。

  • PARMに'OUTPUT='の指定があるものは、エラーメッセージをライブラリー「MYLIB」のファイル「MSG」、メンバー「MSG」に出力します。エラーコードについては、以下を参照してください。

    HULFT10 for IBMi エラーコード・メッセージ : 終了ステータス

ファイル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

ファイル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

ファイル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

ファイル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

ホスト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

ジョブ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

配信受付ジョブ、集信受付ジョブ、要求受付ジョブを終了させる

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=MYLIB/MSG(MSG)' 'EXIT' &EXT)

CALL  PGM(HULFT/UTLKILLRCV) +
PARM('OUTPUT=MYLIB/MSG(MSG)' 'EXIT' &EXT)

CALL  PGM(HULFT/UTLKILLOBS) +
PARM('OUTPUT=MYLIB/MSG(MSG)' 'EXIT' &EXT)

SNDPGMMSG       MSG('EXIT=' *BCAT &EXT)      MSGTYPE(*COMP)
ENDPGM