# 配信要求

配信要求を行うには、配信要求プログラムを起動します。配信要求プログラムは配信するファイルの情報を配信制御ファイル（HULFT.QUEUE）に登録し、配信プログラムに配信を指示します。

配信要求を対話処理（HULFT管理画面）で行うこともできます。詳細は「要求の発行」を参照してください。

## 配信要求プログラム

### プログラム名

XRSNDGO

### 実行（EXECステートメント）パラメーター

    [ERR=CONT]

CONT

  続行

  XRCRD定義カードが複数指定されたとき、途中の定義カードで何らかのエラーが起きた場合であっても、その後の定義カードの処理を続行することを指定します。

  XRCRD定義カードに“SYNC”を指定した場合は、配信処理の異常時も有効になります。

### XRSYSIN定義カード

HULFTシステムの動作環境を設定します。設定内容の詳細は、以下を参照してください。

HULFT10 for zOS アドミニストレーション マニュアル : 各項目の説明

定義カードの形式

    START-TASK=配信プログラムのジョブ名(XRSNDのジョブ名)
    RESENDDEL=再配信待ちキューの削除条件
    PREFIX=配信ワークファイルの第一修飾子
    CMPBLK=圧縮用ワークファイルのブロック長
    RECLEN=配信ファイルのシフトコードの扱い
    JOBTIME=配信前ジョブのタイムアウト
    SCANMODE=同期転送時のキャンセルの扱い
    PSCHG=パック・ゾーン変換
    PSASCII=ASCII用符号部
    PSEBCDIC=EBCDIC用符号部
    GAIJIFILE=外字テーブル使用
    GAIJIERR=外字未登録時の処理
    CLEARMODE=配信後クリアの扱い
    DYNAMIC-DIRECT=動的指定時のダイレクト転送の扱い
    INIT-UNIT=配信ファイル・集信ファイルのUNIT名
    UNIT=配信ワークファイルのUNIT名
    WORKVOLMODE=ワークボリュームモード
    JESC=JESコマンドの頭文字
    JLIB1=後続ジョブ付加ステップのSTEPLIB設定1
    JLIB2=後続ジョブ付加ステップのSTEPLIB設定1
    JLIB3=後続ジョブ付加ステップのSTEPLIB設定1
    JELIB1=後続ジョブ付加ステップのSTEPLIB設定2
    JELIB2=後続ジョブ付加ステップのSTEPLIB設定2
    JELIB3=後続ジョブ付加ステップのSTEPLIB設定2
    SNDRETRY=配信ファイルのリトライ回数
    SNDRTIME=配信ファイルのリトライ間隔
    EUCSP=EUCコード変換時のスペースコードの扱い
    MSGDYNPARM=メッセージ動的パラメーター指定
    DEFER=デファードマウント
    JCLRETRY=JCLライブラリーのリトライ回数
    JCLRTIME=JCLライブラリーのリトライ間隔
    CNVLENCHK=コード変換後データ長チェック
    OPLSELECT=操作ログ出力選択(*1)
    SND-SEQNO-THRESHOLD=配信処理番号しきい値
    HULCHARSET=HULFTキャラクターセット
    RPREFIX=集信ワークファイルの第一修飾子
    INDOPTVAR=環境変数の頭文字選択
    CODE-CONVERSION-LOCATION=コード変換テーブルの記憶域
    SYSFILEOUTPUTMODE=システムファイル出力モード

*1 | : | 操作ログ出力機能を使用する場合は、操作ログ関連の設定が必要です。詳細は「操作ログの動作設定」を参照してください。

注意

配信後クリアの扱い（CLEARMODE）を指定する場合、配信プログラム起動時のシステム動作環境の配信後クリアの扱いと同じ値を必ず指定してください。

### XRCRD定義カード

配信要求を実行するために必要な情報を定義する、定義カードの形式は以下のとおりです。

定義カードの形式

                a      b         c                 d             e        f
    FILE-ID=xxxxxxxx[,P=999][,DD=xxxxxxxx][,GRPID=xxxxxxxx|HOST=xx･･･xx][,SYNC]
                g
       [,MSG0=xxxx...xxxx][,MSG1=xxxx...xxxx][,MSG2=xxxx...xxxx]

       [,MSG3=xxxx...xxxx][,MSG4=xxxx...xxxx][,MSG5=xxxx...xxxx]
                h
       [,MSGL0=xxxx...xxxx][,MSGL1=xxxx...xxxx]

= 備考 =

定義カードが2行にまたがる場合は、以下のいずれかの方法で定義カードを記述してください。

- 1行目は71カラム目まで記述した後、72カラム目に「-」（ハイフン）を記述する。2行目は1カラム目から記述する。

- パラメーターの後の「,」（カンマ）まで記述した後、半角スペースを空けた上で71カラム目までに「-」（ハイフン）を記述する。

定義カードの入力内容

a.ファイルID

  集配信管理ファイル（HULFT.FILE）に登録した配信管理情報のファイルIDを指定します（省略不可）。

  50バイト以内の英数字および“_”で指定します。

b.転送優先度

  配信待ちの状態での優先度を指定します（省略可）。

  “1”～“256”の範囲で指定します。

  小さい値のものが優先されます。省略すると、配信管理情報の転送優先度が採用されます。

c.配信ファイルのDD名

  集配信管理ファイルに登録した配信管理情報の配信ファイル名を変更し、動的ファイル指定する場合に指定します（省略可）。

  配信したいデータ・セット名をJCLで指定し、そのDD名を指定します。

  8バイト以内の英数字で指定します。

d.転送グループID

  集配信管理ファイルに登録した配信管理情報の転送グループIDを変更したいときに指定します（省略可）。

  集配信管理ファイルに登録済みの転送グループIDを指定します。

  50バイト以内の英数字および“_”で指定します。

e.ホスト名

  集配信管理ファイルに登録した配信管理情報の転送グループIDに登録されたホスト名を変更したいときに指定します（省略可）。

  詳細ホスト情報ファイル（HULFT.HOST）に登録済みのホスト名を指定します。

  50バイト以内の英数字で指定します。

f.同期転送

  配信処理が終了するまで、配信要求プログラムのジョブ・ステップを停止したいときに指定します（省略可）。

g.メッセージ0 ～ メッセージ5

  集信側ホストへ送信するメッセージを指定します（省略可）。

  50バイト以内で指定します。

  省略すると、集信側ホストにメッセージは送信されません。

  メッセージは6つまで指定できます。

h.拡張メッセージ0～拡張メッセージ1

  集信側ホストへ送信する拡張メッセージを指定します（省略可）。

  200バイト以内で指定します。

  省略すると、集信側ホストに拡張メッセージは送信されません。

  拡張メッセージは2つまで指定できます。

注意

配信ファイルを動的指定してダイレクト転送する場合は、DDステートメントに以下の指定をしてください。

- 指定するデータセット名は、1つのDD名につき1つのみ指定してください。

  1つのDD名に2つ以上のデータセット名を指定した場合は、最初に指定したデータセットのみ転送されます。

- 「DISP」パラメーターに“SHR”を指定してください。

= 備考 =

- XRCRD定義カードで「MSG0」～「MSG5」または「MSGL0」～「MSGL1」を指定し、メッセージの置換を行う場合は、システム動作環境設定のメッセージ動的パラメーター指定（MSGDYNPARM）に“1”～“3”のいずれかを指定する必要があります。

- XRCRD定義カードで「MSG0」～「MSG5」または「MSGL0」～「MSGL1」を指定した場合、相手ホストの言語設定によっては、メッセージの置換が正しく行われず、転送に失敗する場合があります。

  メッセージ送信の注意点については、以下を参照してください。

  HULFT10 for zOS アドミニストレーション マニュアル : メッセージ送信

- メッセージおよび拡張メッセージに以下の文字を入力する場合、「'」（シングルクォーテーション）で括ってください。

  - スペース

  - 「=」（イコール）

  - 「,」（カンマ）

  - マルチバイト文字

- メッセージに以下を指定することはできません。

  - 「'」（シングルクォーテーション）

### JCL例

JCL例1

以下に、配信管理情報に従って配信する場合のJCL例を示します。

    //XRSNDGO  JOB  CLASS=A,MSGCLASS=B
    //XRSNDGO  EXEC PGM=XRSNDGO,REGION=4096K
    //STEPLIB  DD   DSN=HULFT.LOAD,DISP=SHR
    [//XREXTLIB DD  DSN=HULFT.LOAD,DISP=SHR]
    //XRFILE   DD   DSN=HULFT.FILE,DISP=SHR
    //XRHOST   DD   DSN=HULFT.HOST,DISP=SHR
    //XRQUE    DD   DSN=HULFT.QUEUE,DISP=SHR
    //XRSYSIN  DD   DSN=HULFT.PARMLIB(HULPRM),DISP=SHR
    //SYSOUT   DD   SYSOUT=*
    //XRCRD    DD   *
          FILE-ID=LOOPTEST
    //*   FILE-ID=XXXXXXXX,DD=INDD,GRPID=XXXXXXXX,P=999,SYNC
    //

DD名 | 項目名 | 説明
--- | --- | ---
STEPLIB | HULFT.LOAD | HULFTロードモジュールライブラリー
XREXTLIB | HULFT.LOAD | HULFTロードモジュールライブラリー(*1)
XRFILE | HULFT.FILE | 集配信管理ファイル
XRHOST | HULFT.HOST | 詳細ホスト情報ファイル
XRQUE | HULFT.QUEUE | 配信制御ファイル
XRSYSIN | HULFT.PARMLIB(HULPRM) | システム動作環境設定ファイル

*1 | : | 配信側ホストで外字コードを外字テーブルで変換させるときに、HULFTのロードモジュールが格納されているライブラリーを付加します。外字テーブルの詳細は、以下参照してください。 HULFT10 for zOS アドミニストレーション マニュアル : 外字テーブルについて

JCL例2

以下に、配信ファイルをDDステートメントで動的ファイル指定する場合のJCL例を示します。

    //XRSNDGO  JOB  CLASS=A,MSGCLASS=B
    //XRSNDGO  EXEC PGM=XRSNDGO,REGION=4096K
    //STEPLIB  DD   DSN=HULFT.LOAD,DISP=SHR
    //SNDFILES DD   DSN=PAYROLL.FILE,DISP=SHR
    //XRFILE   DD   DSN=HULFT.FILE,DISP=SHR
    //XRHOST   DD   DSN=HULFT.HOST,DISP=SHR
    //XRQUE    DD   DSN=HULFT.QUEUE,DISP=SHR
    //XRSYSIN  DD   DSN=HULFT.PARMLIB(HULPRM),DISP=SHR
    //SYSOUT   DD   SYSOUT=*
    //XRCRD    DD   *
          FILE-ID=LOOPTEST,DD=SNDFILES,GRPID=HP1
    //

DD名 | 項目名 | 説明
--- | --- | ---
STEPLIB | HULFT.LOAD | HULFTロードモジュールライブラリー
SNDFILES | PAYROLL.FILE | 配信ファイル
XRFILE | HULFT.FILE | 集配信管理ファイル
XRHOST | HULFT.HOST | 詳細ホスト情報ファイル
XRQUE | HULFT.QUEUE | 配信制御ファイル
XRSYSIN | HULFT.PARMLIB(HULPRM) | システム動作環境設定ファイル

### 同期転送の解放

同期転送を指定した場合に、転送終了待ちとなっている配信要求プログラムを解放したい場合は、以下のコマンドを投入してください。以下のコマンドでは、転送自体はキャンセルされません。転送自体を終了する場合は、転送のキャンセルを行ってください。

    F 配信要求プログラムのジョブ名,CANCEL

注意

- 配信管理情報に配信前ジョブが登録されている場合は、以下の制限があります。

  - 配信前ジョブのジョブが異常終了したときは、配信要求は行わずコマンドが異常終了となります。

  - 同報配信（複数ホストへの配信）の場合も、配信前ジョブの実行は1回のみです。

  - 配信管理情報の内容に誤りがあっても、配信前ジョブは実行されます（転送グループ、詳細ホスト情報の未登録など）。

- 配信ファイルをDDステートメントで動的指定する場合は、以下の動作となります。

  - 配信ファイルがロックされていたときの動作が異なります。

    詳細は、以下を参照してください。

    HULFT10 for zOS アドミニストレーション マニュアル : ファイルオープンおよびロックに関係する設定

  - 配信管理情報の配信ファイルの扱い（CLEAR）に“D（削除）”、または“L（ロック）”が指定されていても“K（保存）”として動作します。

  - 配信管理情報の配信ファイルの扱い（CLEAR）に“C（クリア）”が指定されていても以下のいずれかの場合は“K（保存）”として動作します。

    - ダイレクト転送

    - ワークファイル転送かつ、システム動作環境の配信後クリアの扱い（CLEARMODE）に“A （配信処理が正常終了した後にクリアまたは削除）”を設定

- 同期転送で配信要求を行った場合、通信異常で自動再配信が行われると自動再配信が完了するまで配信要求コマンドは終了しません。