メッセージ送信
配信システムから集信システムにファイルを転送するのと同時に、任意のメッセージを送信することができます。メッセージは「集配信履歴への出力」、「各種管理情報の動的変更」(例:集信ファイル名の動的変更)、「起動ジョブへの環境変数としての引継」などに利用することができます。
使用している言語が異なるホスト同士のメッセージ送信の場合は、「メッセージ送信の注意点」を参照してください。
メッセージ送信機能について
メッセージを送信するには、要求発行コマンドのパラメーターにメッセージを指定します。配信要求時は配信要求コマンド、送信要求時は送信要求コマンドとなります。
環境変数を使用することで、管理情報の設定値を動的に変更することができます。パラメーターに指定したメッセージは、以下の環境変数で使用することができます。
-
&MSG0~&MSG5
「&MSG0」~「&MSG5」の6つで、それぞれ50バイトまでのメッセージを指定できます。配信要求コマンドまたは送信要求コマンドのパラメーター「MSG0」~「MSG5」で指定したメッセージに置換されます。
-
&MSGL0~&MSGL1
「&MSGL0」~「&MSGL1」の2つで、それぞれ200バイトまでのメッセージを指定できます。配信要求コマンドまたは送信要求コマンドのパラメーター「MSGL0」~「MSGL1」で指定したメッセージに置換されます。
管理情報内に指定したメッセージを、送信側にて指定しなかった場合、受信側では0バイトメッセージとして扱います。
メッセージの置換を行うには、システム動作環境設定のメッセージ動的パラメーター指定(MSGDYNPARAM)を有効にしなければなりません。システム動作環境設定については、「システム動作環境の設定について」を参照してください。
メッセージ内の文字は、システム動作環境設定のHULFTキャラクターセット(HULCHARSET)に設定されている値を用いて文字コードの変換を行います。詳細は、「メッセージ送信の注意点」を参照してください。
メッセージ送信側で指定したメッセージの置換を行う際、以下のような場合はファイル転送前にエラーとなります。
-
管理情報にて指定できるサイズを超えていた場合
-
配信ファイル名の置換時にファイル名として適用できない場合
メッセージ指定可能な設定情報について
メッセージ置換で指定可能な管理情報の設定値・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''」として扱います。
-
配信時のメッセージ置換処理

図2.18 メッセージ送信(配信時)
2) 配信管理情報の内容の変更
配信システムは指定された「ファイルID」の配信管理情報に設定されている「&MSG0」~「&MSG5」および「&MSGL0」~「&MSGL1」を、1) の配信要求コマンドで指定された「メッセージ」に置換します。配信処理は、置換された値に従って実行されます。
3) 集信側へメッセージを送信
配信システムは配信要求コマンドで指定された「メッセージ」をデータ転送前に集信システムへ通知します。
4) 配信後ジョブへ環境変数設定
配信システムは、配信後ジョブでジョブ起動情報のメッセージ置換を行えるように、配信要求コマンドで指定された「メッセージ」を環境変数(「&MSG0」~「&MSG5」および「&MSGL0」~「&MSGL1」)に設定します。
集信時のメッセージ置換処理

図2.19 メッセージ送信(集信時)
1) 配信システムからのメッセージ通知の受付
集信システムは配信システムから「ファイルID」および、「メッセージ」の通知を受けます。
2) 集信管理情報の内容の変更
集信システムは配信システムから通知された「ファイルID」の集信管理情報に設定されている「&MSG0」~「&MSG5」および「&MSGL0」~「&MSGL1」を、通知された「メッセージ」に置換します。置換された値に従って集信処理を実行します。
3) 集信後ジョブへ環境変数設定
集信システムは、集信後ジョブでジョブ起動情報のメッセージ置換を行えるように、配信から通知された「メッセージ」を環境変数(「&MSG0」~「&MSG5」および「&MSGL0」~「&MSGL1」)に設定します。
送信要求時のメッセージ置換処理

図2.20 メッセージ送信(送信要求時)
1) 送信要求コマンドからメッセージ送信指示
送信要求コマンドにて、「ファイルID」と「メッセージ」を指定します。送信要求コマンドは、集信管理情報に設定されている「&MSG0」~「&MSG5」および「&MSGL0」~「&MSGL1」を指定された「メッセージ」に置換します。
2) 送信要求の発行
送信要求コマンドは、配信システムへ要求発行とともに指定された「メッセージ」も通知します。
3) 配信管理情報の内容の変更
配信システムは送信要求コマンドから通知された「ファイルID」の配信管理情報に設定されている「&MSG0」~「&MSG5」および「&MSGL0」~「&MSGL1」を、通知された「メッセージ」に置換します。置換された値に従って配信処理を実行します。
4) 集信側へメッセージを送信
配信システムは送信要求コマンドから通知された「メッセージ」をデータ転送前に通知します。
5) 配信システムからのメッセージの通知受付
集信システムは配信システムから「ファイルID」および、「メッセージ」の通知を受けます。
6) 集信管理情報の内容の変更
集信システムは配信システムから通知された「ファイルID」の集信管理情報に設定されている「&MSG0」~「&MSG5」および「&MSGL0」~「&MSGL1」を、通知された「メッセージ」に置換します。置換された値に従って集信処理を実行します。
メッセージ送信の注意点
文字コードの変換について
メッセージ内の文字は、システム動作環境設定の「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)の使用をお勧めします。