ジョブ実行
(1) 配信前ジョブ
配信要求または送信要求を受け付けた時点で配信前ジョブを起動できます。
起動した配信前ジョブが正常終了(RC=0000、またはジョブ起動情報のジョブRC判定(JOB-RC)で設定した値以下)すると配信処理を開始します。異常終了すると配信処理を行いません。たとえば、配信要求または送信要求を受け付けた時点で、配信データを作成するユーザジョブを起動し、配信データが作成された時点で、その配信データを配信するという処理に使用できます。
配信前ジョブ機能を使用するには配信管理情報の配信前ジョブID(PRE-JOB)にジョブ起動情報に登録されているジョブIDを設定してください。
【JCL例】
HULFTで起動される配信前ジョブの最終ジョブステップに、自動的に以下のHULFTのプログラムのジョブステップが組み込まれます。
//NCHK EXEC PGM=XRJEND,REGION=1024K,COND=(nn,LT), // PARM=(NML) //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=NULLFILE,DISP=SHR //XRLOG1 DD DSN=NULLFILE,DISP=SHR //XRLOG2 DD DSN=NULLFILE,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=* //RCHK EXEC PGM=XRJEND,REGION=1024K,COND=(0,EQ,NCHK), // PARM=(RER) //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=NULLFILE,DISP=SHR //XRLOG1 DD DSN=NULLFILE,DISP=SHR //XRLOG2 DD DSN=NULLFILE,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=* //ACHK EXEC PGM=XRJEND,REGION=1024K,COND=ONLY, // PARM=(ABN) //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=NULLFILE,DISP=SHR //XRLOG1 DD DSN=NULLFILE,DISP=SHR //XRLOG2 DD DSN=NULLFILE,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=*
DD名 |
項目名 |
説明 |
---|---|---|
STEPLIB |
HULFT.LOAD |
HULFTロードモジュールライブラリ(システム動作環境設定で設定したSTEPLIB) |
STEPCAT |
USERCAT |
カタログ簿データセット名(システム動作環境設定で設定したSTEPCAT) |
XRFILE |
HULFT.FILE |
集配信管理ファイル |
XRHOST |
HULFT.HOST |
詳細ホスト情報ファイル |
パラメータ名 |
項目名 |
説明 |
---|---|---|
COND |
nn |
ジョブ起動情報の「ジョブRC判定」の値 |
自動的に組み込まれるHULFTのプログラムのジョブステップには、システム動作環境設定ファイルで設定した後続ジョブ付加ステップのSTEPLIB設定2および後続ジョブ付加ステップのSTEPCAT設定2が追加されます。設定されていない場合は追加されません。
同期転送で配信要求を行った場合、配信前ジョブがJCLエラーになると、システム動作環境設定の配信前ジョブのタイムアウト(JOBTIME)の時間まで配信要求プログラムが終了しません。
(2) 配信後ジョブまたは集信後ジョブ
配信処理または集信処理が終了した時点で配信後ジョブまたは集信後ジョブを起動できます。配信処理または集信処理が正常終了した場合と異常終了した場合で異なるジョブを起動できます。
配信後ジョブまたは集信後ジョブを起動するには、ジョブ起動情報に登録されているジョブIDを起動する条件に合わせて設定する必要があります。
配信後ジョブの起動を設定する場合
配信後ジョブを起動するには、ジョブIDを以下の項目に設定します。
配信後ジョブが起動する条件 |
ジョブIDを設定する項目 |
---|---|
配信処理が正常終了した場合 |
配信管理情報の「正常時ジョブID」 |
配信処理が異常終了した場合 |
配信管理情報の「異常時ジョブID」 |
集信後ジョブの起動を設定する場合
集信後ジョブを起動するには、ジョブIDを以下の項目に設定します。
集信後ジョブが起動する条件 |
ジョブIDを設定する項目 |
---|---|
集信処理が正常終了した場合 |
集信管理情報の「正常時ジョブID」 |
集信処理が異常終了した場合 |
集信管理情報の「異常時ジョブID」 |
配信後ジョブまたは集信後ジョブの実行履歴が、集配信履歴ファイルに書き込まれます。
-
転送テスト機能を利用した転送の場合、配信後ジョブ実行で出力される履歴はシステム動作環境設定の配信後ジョブ実行(TTSNDJOB)の設定値により異なります。
詳細は、「各項目の説明」を参照してください。
-
転送テスト機能を利用した転送の場合、集信後ジョブ実行で出力される履歴はシステム動作環境設定の集信後ジョブ実行(TTRCVJOB)の設定値により異なります。
詳細は、「各項目の説明」を参照してください。
-
転送テスト機能を利用した転送の場合、配信後ジョブおよび集信後ジョブの実行結果を出力するには、転送履歴出力(TTSNDRCVLOG)に“1(配信履歴および集信履歴を出力する)”を指定する必要があります。
【JCL例1】
HULFTで起動される配信後ジョブまたは集信後ジョブの第一ジョブステップに、自動的に以下のHULFTのプログラムのジョブステップが組み込まれます。
//XRJINT EXEC PGM=XRJINT,REGION=1024K //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=HULFT.LOG,DISP=SHR //XRLOG1 DD DSN=HULFT.LOG.PATH1,DISP=SHR //XRLOG2 DD DSN=HULFT.LOG.PATH2,DISP=SHR //XRIN DD * //SYSOUT DD SYSOUT=*
DD名 |
項目名 |
説明 |
---|---|---|
STEPLIB |
HULFT.LOAD |
HULFTロードモジュールライブラリ(システム動作環境設定で設定したSTEPLIB) |
STEPCAT |
USERCAT |
カタログ簿データセット名(システム動作環境設定で設定したSTEPCAT) |
XRLOG |
HULFT.LOG |
集配信履歴ファイルIDキーファイル |
XRLOG1 |
HULFT.LOG.PATH1 |
集配信履歴ホスト名キーファイル |
XRLOG2 |
HULFT.LOG.PATH2 |
集配信履歴日付キーファイル |
【JCL例2】
HULFTで起動される配信後ジョブまたは集信後ジョブの最終ジョブステップに、自動的に以下のHULFTのプログラムのジョブステップが組み込まれます。
//NCHK EXEC PGM=XRJEND,REGION=1024K,COND=(nn,LT), // PARM=(NML) //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=HULFT.LOG,DISP=SHR //XRLOG1 DD DSN=HULFT.LOG.PATH1,DISP=SHR //XRLOG2 DD DSN=HULFT.LOG.PATH2,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=* //RCHK EXEC PGM=XRJEND,REGION=1024K,COND=(0,EQ,NCHK), // PARM=(RER) //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=HULFT.LOG,DISP=SHR //XRLOG1 DD DSN=HULFT.LOG.PATH1,DISP=SHR //XRLOG2 DD DSN=HULFT.LOG.PATH2,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=* //ACHK EXEC PGM=XRJEND,REGION=1024K,COND=ONLY, // PARM=(ABN) //XRLOG DD DSN=HULFT.LOG,DISP=SHR //XRLOG1 DD DSN=HULFT.LOG.PATH1,DISP=SHR //XRLOG2 DD DSN=HULFT.LOG.PATH2,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=*
DD名 |
項目名 |
説明 |
---|---|---|
STEPLIB |
HULFT.LOAD |
HULFTロードモジュールライブラリ(システム動作環境設定で設定したSTEPLIB) |
STEPCAT |
USERCAT |
カタログ簿データセット名(システム動作環境設定で設定したSTEPCAT) |
XRFILE |
HULFT.FILE |
集配信管理ファイル |
XRHOST |
HULFT.HOST |
詳細ホスト情報ファイル |
XRLOG |
HULFT.LOG |
集配信履歴ファイルIDキーファイル |
XRLOG1 |
HULFT.LOG.PATH1 |
集配信履歴ホスト名キーファイル |
XRLOG2 |
HULFT.LOG.PATH2 |
集配信履歴日付キーファイル |
パラメータ名 |
項目名 |
説明 |
---|---|---|
COND |
nn |
ジョブ起動情報の「ジョブRC判定」の値 |
自動的に組み込まれるHULFTのプログラムのジョブステップには、システム動作環境設定ファイルで設定した後続ジョブ付加ステップのSTEPLIB設定1、後続ジョブ付加ステップのSTEPLIB設定2、後続ジョブ付加ステップのSTEPCAT設定1、および後続ジョブ付加ステップのSTEPCAT設定2が追加されます。設定されていない場合は追加されません。
(3) リモートジョブ実行
リモートジョブ実行を受け付けた時点で、リモートジョブとして実行するジョブを起動できます。
【JCL例】
HULFTで起動されるジョブの最終ジョブステップに、自動的に以下のHULFTのプログラムのジョブステップが組み込まれます。
//NCHK EXEC PGM=XRJEND,REGION=1024K,COND=(nn,LT), // PARM=(NML,NOLOG) //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=NULLFILE,DISP=SHR //XRLOG1 DD DSN=NULLFILE,DISP=SHR //XRLOG2 DD DSN=NULLFILE,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=* //RCHK EXEC PGM=XRJEND,REGION=1024K,COND=(0,EQ,NCHK), // PARM=(RER,NOLOG) //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=NULLFILE,DISP=SHR //XRLOG1 DD DSN=NULLFILE,DISP=SHR //XRLOG2 DD DSN=NULLFILE,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=* //ACHK EXEC PGM=XRJEND,REGION=1024K,COND=ONLY, // PARM=(ABN,NOLOG) //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //STEPCAT DD DSN=USERCAT,DISP=SHR //XRLOG DD DSN=NULLFILE,DISP=SHR //XRLOG1 DD DSN=NULLFILE,DISP=SHR //XRLOG2 DD DSN=NULLFILE,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRIN DD * //SYSUDUMP DD SYSOUT=*
DD名 |
項目名 |
説明 |
---|---|---|
STEPLIB |
HULFT.LOAD |
HULFTロードモジュールライブラリ(システム動作環境設定で設定したSTEPLIB) |
STEPCAT |
USERCAT |
カタログ簿データセット名(システム動作環境設定で設定したSTEPCAT) |
XRFILE |
HULFT.FILE |
集配信管理ファイル |
XRHOST |
HULFT.HOST |
詳細ホスト情報ファイル |
パラメータ名 |
項目名 |
説明 |
---|---|---|
COND |
nn |
ジョブ起動情報の「ジョブRC判定」の値 |
自動的に組み込まれるHULFTのプログラムのジョブステップには、システム動作環境設定ファイルで設定した後続ジョブ付加ステップのSTEPLIB設定2および後続ジョブ付加ステップのSTEPCAT設定2が追加されます。設定されていない場合は追加されません。
(4) 環境変数への変換
配信前ジョブ、配信後ジョブ、または集信後ジョブを起動する際、HULFTは起動ジョブに対して環境変数を付加します。付加する環境変数の一覧は以下のとおりです。
変数名 |
変換規則 |
配信前 |
配信後 |
集信後 |
---|---|---|---|---|
&HOST |
配信側ホスト名または集信側ホスト名に変換する |
- |
○ |
○ |
&FILEID |
ファイルIDに変換する |
○ |
○ |
○ |
&DATE |
配信終了日または集信終了日に変換する(形式:YYYYMMDD)(*1) |
- |
○ |
○ |
&TIME |
配信終了時間または集信終了時間に変換する(形式:HHMMSS) |
- |
○ |
○ |
&COUNT |
配信したファイルおよび集信したファイルのレコード件数に変換する(7桁まで変換) |
- |
○ |
○ |
&RCOUNT |
配信したファイルおよび集信したファイルのレコード件数に変換する(10桁まで変換) |
- |
○ |
○ |
&DSNAME |
配信ファイルのデータセット名または集信ファイルのデータセット名に変換する |
○ |
○ |
○ |
&VOL |
配信ファイルのボリューム通番または集信ファイルのボリューム通番に変換する |
○ |
○ |
○ |
&STATUS |
配信完了コードまたは集信完了コード 完了コードは「エラーコード・メッセージ」を参照 |
- |
○ |
○ |
&DETAIL |
配信詳細コードまたは集信詳細コード 詳細コードは「エラーコード・メッセージ」を参照 |
- |
○ |
○ |
&SDATE |
配信開始日または集信開始日に変換する(形式:YYYYMMDD)(*1) |
○ |
○ |
○ |
&EDATE |
配信終了日または集信終了日に変換する(形式:YYYYMMDD)(*1) |
- |
○ |
○ |
&STIME |
配信開始時刻または集信開始時刻に変換する(形式:HHMMSS) |
○ |
○ |
○ |
&ETIME |
配信終了時刻または集信終了時刻に変換する(形式:HHMMSS) |
- |
○ |
○ |
&RSNDNO |
配信制御ファイルに書き込まれる際に付与された通し番号に変換する |
- |
○ |
- |
○ |
: |
利用可能 |
- |
: |
利用不可 |
*1 |
: |
配信前ジョブ、配信後ジョブ、および集信後ジョブの日付の、年月日の順序は、システム動作環境設定の「日付形式(DATEFMT)」で設定した形式が適用されます。 |
-
「&」は16進コードで「0x50」です。
-
上記の変数は、システム動作環境設定の環境変数の頭文字選択(INDOPTVAR)で、頭文字を選択できます。
初期値は“0(0xE0)”です。
ただし、0xE0の文字は、使用しているエミュレータのEBCDICセットの値により表示が異なるため、“1(0x50(&))”を指定して動作させることを推奨します。
本書では、16進コードの0xE0は「$」と表記しています。
-
集信管理情報の集信完了通知が“J(ジョブ完了)”の場合、「&EDATE」、「&ETIME」、「&DATE」、「&TIME」は、集信後ジョブの完了日時ではなく、転送の完了日時に変換されます。
-
配信前ジョブで「&SDATE」、「&STIME」を使用した場合、開始日付と開始時刻は配信要求を行ったときの日付、時刻になります。
-
配信が正常に完了した場合、「&RSNDNO」は“00000000”に変換されます。
変数名 |
変換規則 |
配信前 |
配信後 |
集信後 |
---|---|---|---|---|
&MSG0 |
メッセージ0に変換する |
○ |
○ |
○ |
&MSG1 |
メッセージ1に変換する |
○ |
○ |
○ |
&MSG2 |
メッセージ2に変換する |
○ |
○ |
○ |
&MSG3 |
メッセージ3に変換する |
○ |
○ |
○ |
&MSG4 |
メッセージ4に変換する |
○ |
○ |
○ |
&MSG5 |
メッセージ5に変換する |
○ |
○ |
○ |
&MSGL0 |
拡張メッセージ0に変換する |
○ |
○ |
○ |
&MSGL1 |
拡張メッセージ1に変換する |
○ |
○ |
○ |
○ |
: |
利用可能 |
- |
: |
利用不可 |
-
「&」は16進コードで「0x50」です。
-
「&MSG0」~「&MSG5」、および「&MSGL0」~「&MSGL1」には、システム動作環境設定の環境変数の頭文字選択(INDOPTVAR)は使用されません。
-
「&MSG0」~「&MSG5」は、頭文字に0x50(&)または0xE0のどちらを指定しても記述できますが、0xE0は、使用しているエミュレータのEBCDICセットの値により表示が異なるため、頭文字には0x50(&)を指定することを推奨します。
本書では、16進コードの0xE0は「$」と表記しています。
-
「&RCOUNT」は、配信件数または集信件数が2147483647件を超えた場合、“2147483647”と変換されますので注意してください。
-
起動JCL内に指定された環境変数を変換した結果、JCLの1レコードの80カラム目を超えた場合、配信前ジョブ、配信後ジョブ、または集信後ジョブは正常に実行されません。環境変数は、変換結果がJCLの1行を超えないように設定してください。
ただし、「&MSGL0」および「&MSGL1」の変換結果が、配信前ジョブ、配信後ジョブ、または集信後ジョブのJCLの1レコードの80カラム目を超える場合、変換結果を80カラム目まで出力した後改行し、次のレコードの先頭1カラム目より出力を継続します。
-
以下のいずれかの場合、「&DSNAME」、「&MSG0」~「&MSG5」、および「&MSGL0」~「&MSGL1」の環境変数でファイル名やファイルパスに置き換えられる文字列は、半角英数字で指定してください。
-
配信側ホストと集信側ホストでシステム動作環境設定のHULFTキャラクタセット(HULCHARSET)が異なる場合
-
HULFT Ver.8.1未満と通信する場合
-
HULFT7通信モードが“有効”の場合
-
ジョブ起動情報のジョブを指定するときに、表2.4 の環境変数を起動JCL内に指定すると、自動的に環境変数の値に置き換えてJCLを起動します。
変換する項目 |
変換値 |
---|---|
集信側ホスト名 |
HOST0001 |
ファイルID |
FILEID01 |
配信開始日 |
20151201 |
配信終了時刻 |
155432 |
配信したファイルのレコード件数 |
12000 |
配信ファイルのデータセット名 |
FILEID01.DATA |
ボリューム通番 |
HUL001 |
完了コード |
0000 |
【変換前のJCL例】
//HUL001 JOB MSGCLASS=B,CLASS=A //STEP01 EXEC PGM=PGM01,PARM='&HOST,&FILEID,&EDATE,&ETIME' //U01 DD DSN=&DSNAME,DISP=SHR,UNIT=SYSDA,VOL=SER=&VOL //SYSIN DD * &COUNT,&STATUS //
パラメータ名 |
項目名 |
説明 |
---|---|---|
UNIT |
SYSDA |
UNIT |
【変換後のJCL例】
//HUL001 JOB MSGCLASS=B,CLASS=A //STEP01 EXEC PGM=PGM01,PARM='HOST0001,FILEID01,20151201,155432' //U01 DD DSN=FILEID01.DATA,DISP=SHR,UNIT=SYSDA,VOL=SER=HUL001 //SYSIN DD * 0012000,0000 //
パラメータ名 |
項目名 |
説明 |
---|---|---|
UNIT |
SYSDA |
UNIT |
(5) ジョブ実行時の留意点
配信前ジョブ、配信後ジョブ、または集信後ジョブが実行できない場合は、以下の内容を確認してください。
ジョブ起動情報の設定確認
ジョブ起動情報の以下の設定を確認してください。
-
JCLライブラリ(DSNAME)のデータセット名の設定
-
メンバ名(MEMBER DEF~DEFEND)のメンバ名の設定
JCLライブラリ、メンバの存在確認
記述したデータセット名が存在するか、またはメンバ名が記述したデータセットに存在するか確認してください。
JCLの確認
ジョブ起動情報に登録されたメンバ名を実行し、正常に起動されるか確認してください。
起動JCL内に指定された環境変数を変換した結果、JCLの1行に記載できるバイト数を超えていないか確認してください。
システム動作環境設定の確認
配信後ジョブまたは集信後ジョブが実行できない場合は、システム動作環境設定の以下の設定を確認してください。
-
転送動作モード(TTMODE)の設定値
-
配信後ジョブ実行(TTSNDJOB)の設定値
-
集信後ジョブ実行(TTRCVJOB)の設定値
転送動作モード(TTMODE)が“1(テストモード)”かつ配信後ジョブ実行(TTSNDJOB)が“2(配信後ジョブにTYPRUN=SCANを付加して実行する)”の場合、配信後ジョブ実行履歴には先頭のメンバの実行結果のみが出力されます。そのとき、ステータスは“0(実行待ち)”となります。
また、転送動作モード(TTMODE)が“1(テストモード)”かつ集信後ジョブ実行(TTRCVJOB)が“2(集信後ジョブにTYPRUN=SCANを付加して実行する)”の場合、集信後ジョブ実行履歴には先頭のメンバの実行結果のみが出力されます。そのとき、ステータスは“0(実行待ち)”となります。
なお、転送テスト機能を利用した転送の場合、配信後ジョブおよび集信後ジョブの実行結果を出力するには、転送履歴出力(TTSNDRCVLOG)に”1( 配信履歴および集信履歴を出力する)”を指定する必要があります。