メッセージ送信

配信システムから集信システムにファイルを転送するのと同時に、任意のメッセージを送信することができます。メッセージは「集配信履歴への出力」、「各種管理情報の動的変更」(例:集信ファイル名の動的変更)、「起動ジョブへの環境変数としての引継」などに利用することができます。

使用している言語が異なるホスト同士のメッセージ送信の場合は、「(6) メッセージ送信の注意点」を参照してください。

(1) メッセージ送信機能について

メッセージを送信するには、要求発行コマンドのパラメータにメッセージを指定します。配信要求時は配信要求コマンド、送信要求時は送信要求コマンドとなります。

環境変数を使用することで、管理情報の設定値を動的に変更することができます。パラメータに指定したメッセージは、以下の環境変数で使用することができます。

  • &MSG0~&MSG5

    「&MSG0」~「&MSG5」の6つで、それぞれ50バイトまでのメッセージを指定できます。配信要求コマンドまたは送信要求コマンドのパラメータ「MSG0」~「MSG5」で指定したメッセージに置換されます。

  • &MSGL0~&MSGL1

    「&MSGL0」~「&MSGL1」の2つで、それぞれ200バイトまでのメッセージを指定できます。配信要求コマンドまたは送信要求コマンドのパラメータ「MSGL0」~「MSGL1」で指定したメッセージに置換されます。

 

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

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

= 備考 =

メッセージ内の文字は、システム動作環境設定のHULFTキャラクタセット(HULCHARSET)に設定されている値を用いて文字コードの変換を行います。詳細は、「(6) メッセージ送信の注意点」を参照してください。

注意

メッセージ送信側で指定したメッセージの置換を行う際、以下のような場合はファイル転送前にエラーとなります。

  • 管理情報にて指定できるサイズを超えていた場合

  • 配信ファイル名の置換時にファイル名として適用できない場合

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

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

[配信管理情報]
  • 配信ファイル名

  • 転送グループID

  • 配信前ジョブID

  • 正常時ジョブID

  • フォーマットID

  • マルチフォーマットID

[集信管理情報]
  • 集信ファイル名

  • 転送グループID

  • 正常時ジョブID

[ジョブ起動情報]
  • 起動ジョブの引数

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

  • メッセージを起動ジョブの引数で使用する場合、1つのメッセージにつき1つのパラメータを指定してください。

    <メッセージを起動ジョブの引数で使用する場合の留意点>

    • メッセージと文字列、メッセージとメッセージの連結はできません(メッセージの置換は行われません)。

      【誤】

      CALL ライブラリ名/プログラム名 PARM(&MSGn&MSGn)

      CALL ライブラリ名/プログラム名 PARM(文字列&MSGn)

      CALL ライブラリ名/プログラム名 PARM(&MSGn文字列)

    • 1つのメッセージは1つのパラメータとして扱います。

      【正】

      CALL ライブラリ名/プログラム名 PARM(&MSGn)

      上記の例でMSGnに「'XXX' 'YYY'」と指定した場合、'XXX','YYY'の2つのパラメータとしては扱わず、1つのパラメータ「''XXX' 'YYY''」として扱います。

(3) 配信時のメッセージ置換処理

図2.18 メッセージ送信(配信時)

1) 配信要求コマンドからメッセージ送信指示

配信要求コマンドから配信システムに対して、「ファイルID」と「メッセージ」を指定して配信要求します。

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

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

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

配信システムは配信要求コマンドで指定された「メッセージ」をデータ転送前に集信システムへ通知します。

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

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

(4) 集信時のメッセージ置換処理

図2.19 メッセージ送信(集信時)

1) 配信システムからのメッセージ通知の受付

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

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

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

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

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

(5) 送信要求時のメッセージ置換処理

図2.20 メッセージ送信(送信要求時)

1) 送信要求コマンドからメッセージ送信指示

送信要求コマンドにて、「ファイルID」と「メッセージ」を指定します。送信要求コマンドは、集信管理情報に設定されている「&MSG0」~「&MSG5」および「&MSGL0」~「&MSGL1」を指定された「メッセージ」に置換します。

2) 送信要求の発行

送信要求コマンドは、配信システムへ要求発行とともに指定された「メッセージ」も通知します。

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

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

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

配信システムは送信要求コマンドから通知された「メッセージ」をデータ転送前に通知します。

5) 配信システムからのメッセージの通知受付

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

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

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

(6) メッセージ送信の注意点

文字コードの変換について

メッセージ内の文字は、システム動作環境設定の「HULFTキャラクタセット(HULCHARSET)」に設定されている値に従って文字コードの変換が行われます。

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

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

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

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

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

旧互換の動作について

HULFTキャラクタセット(HULCHARSET)に設定される値によっては、HULFT for IBMi Ver.8.1未満と異なる変換結果となります。このため、互換性を保つ機能が提供されています。

1バイト文字の変換結果をHULFT for IBMi Ver.8.1未満と同様にしたい場合は、メッセージキャラクタセット選択(CHARSETOPTMSG)に“I(IBM英小文字拡張モード)”を設定してください。

ただし、HULFT for IBMi Ver.8.1以降では、HULFTキャラクタセット(HULCHARSET)の使用をお勧めします。