# メッセージ送信

配信システムから集信システムにファイルを転送するのと同時に、任意のメッセージを送信することができます。

メッセージは以下の処理に利用できます。

- 配信履歴および集信履歴への出力

- 各管理情報の動的変更

  例）集信ファイルの動的変更

- 配信後ジョブまたは集信後ジョブへ環境変数の引き継ぎ

## メッセージ送信機能について

配信要求時にメッセージを送信するには、配信要求プログラムの定義カードにメッセージを指定します。

送信要求時にメッセージを送信するには、送信要求プログラムの定義カードにメッセージを指定します。

メッセージを使用して管理情報の設定値を動的に変更するには、以下の環境変数を使用して、変更したい項目にメッセージ置換するという設定をします。

&MSG0～&MSG5

「&MSG0」～「&MSG5」の6つの環境変数で、それぞれ50バイトまでのメッセージを指定できます。

配信要求プログラムまたは送信要求プログラムの、XRCRD定義カードのパラメーター「MSG0」～「MSG5」で指定したメッセージに置換されます。

&MSGL0～&MSGL1

「&MSGL0」～「&MSGL1」の2つの環境変数で、それぞれ200バイトまでのメッセージを指定できます。

配信要求プログラムまたは送信要求プログラムの、XRCRD定義カードのパラメーター「MSGL0」～「MSGL1」で指定したメッセージに置換されます。

管理情報内に指定した環境変数を、送信側にて指定しなかった場合、受信側では0バイトメッセージとして受信します。

メッセージの置換を行うには、システム動作環境設定のメッセージ動的パラメーター指定（MSGDYNPARM）を有効にしなければなりません。システム動作環境設定についての詳細は、「システム動作環境の設定について」を参照してください。

= 備考 =

メッセージ内の1バイトコードはIBM英小文字拡張として扱います。

注意

- メッセージ送信側で指定したメッセージの置換を行う際、管理情報にて指定できるバイト数を超えていた場合はファイル転送前にエラーとなります。

- ジョブ起動情報のJCLライブラリー（DSNAME）やメンバー名（MEMBER DEF～DEFEND）に、複数のメッセージを続けて記述したり、固定値と組み合わせて使用したりすることはできません。

  （誤）&MSG0.JCL

  （正）&MSG0

## メッセージ指定可能な設定情報について

メッセージ置換で指定可能な管理情報の設定値およびIDは以下のとおりです。

[配信管理情報]

  - 汎用機DSN

  - ボリューム通番

  - UNIT

  - ワークボリューム通番

  - 転送グループID

  - 配信前ジョブID

  - 正常時ジョブID

  - フォーマットID

  - マルチフォーマットID

[集信管理情報]

  - 汎用機DSN

  - ボリューム通番

  - UNIT

  - 転送グループID

  - 正常時ジョブID

[ジョブ起動情報]

  - JCLライブラリー

  - メンバー名

注意

HULFT for MainframeまたはHULFT for IBMiの各設定値およびIDは、英大文字で登録されています。英小文字のメッセージを指定した場合、メッセージは英小文字のまま置換されます。各設定値またはIDとして指定する場合は英大文字で指定してください。

## 配信時のメッセージ置換処理

図2.19 メッセージ送信（配信時）

1) 配信要求プログラムからメッセージ送信指示

配信要求プログラムから配信システムに対して、「ファイルID」と「メッセージ」を指定して配信要求を実行します。

2) 配信管理情報の内容の変更

配信システムは指定された「ファイルID」の配信管理情報に設定されている“&MSG0”～“&MSG5”および“&MSGL0”～“&MSGL1”を配信要求プログラムで指定された「メッセージ」に置換します。配信処理は、置換された値に従って実行されます。

3) 集信側ホストへメッセージを送信

配信システムは配信要求プログラムで指定された「メッセージ」をファイル転送前に集信プログラムへ通知します。

4) 配信後ジョブへ環境変数設定

配信システムは、配信後ジョブでジョブ起動情報のメッセージ置換を行えるように、配信要求プログラムで指定された「メッセージ」を環境変数（「&MSG0」～「&MSG5」および「&MSGL0」～「&MSGL1」）に設定します。

## 集信時のメッセージ置換処理

図2.20 メッセージ送信（集信時）

1) メッセージの通知の受け取り

集信システムは配信システムから「ファイルID」および「メッセージ」の通知を受け取ります。

2) 集信管理情報の内容の変更

集信システムは配信システムから通知された「ファイルID」の集信管理情報に設定されている“&MSG0”～“&MSG5”および“&MSGL0”～“&MSGL1”を通知された「メッセージ」に置換されます。集信処理は、置換された値に従って実行されます。

3) 集信後ジョブへ環境変数設定

集信システムは、集信後ジョブでジョブ起動情報のメッセージ置換を行えるように、配信システムから通知された「メッセージ」を環境変数（「&MSG0」～「&MSG5」および「&MSGL0」～「&MSGL1」）に設定します。

## 送信要求時のメッセージ置換処理

図2.21 メッセージ送信（送信要求時）

1) 送信要求プログラムからメッセージ送信指示

送信要求プログラムにて、「ファイルID」と「メッセージ」を指定します。送信要求プログラムは、集信管理情報に設定されている“&MSG0”～“&MSG5”および“&MSGL0”～“&MSGL1”を指定された「メッセージ」に置換します。

2) 送信要求の実行

送信要求プログラムは、配信システムへ送信要求の実行とともに指定された「メッセージ」も通知します。

3) 配信管理情報の内容の変更

配信システムは送信要求プログラムから通知された「ファイルID」の配信管理情報に設定されている“&MSG0”～“&MSG5”および“&MSGL0”～“&MSGL1”を通知された「メッセージ」に置換します。配信処理は、置換された値に従って実行されます。

4) 集信側ホストへメッセージを送信

配信システムは送信要求プログラムから通知された「メッセージ」をファイル転送前に集信システムに通知します。

5) メッセージの通知の受け取り

集信システムは配信システムから「ファイルID」および「メッセージ」の通知を受けます。

6) 集信管理情報の内容の変更

集信システムは配信システムから通知された「ファイルID」の集信管理情報に設定されている“&MSG0”～“&MSG5”および“&MSGL0”～“&MSGL1”を通知された「メッセージ」に置換します。置換された値に従って集信処理を実行します。

## メッセージ送信の注意点

メッセージにマルチバイトを指定した場合の注意点

- 自ホストと相手ホストとで使用している言語が異なる場合に、マルチバイト文字を送信すると、転送が異常終了したり、メッセージが正しく置換できないことがあります。

- 相手ホストが以下の場合は、マルチバイト文字で使用できる文字は日本語のみです。

  - 相手ホストがHULFT Ver.8.1.0未満

  - 相手ホストがHULFT Ver.8.1.0以降で、相手ホストのHULFT7通信モードが“有効”