5.2.3 TIOP3でのインタフェース

<この項の構成>
(1) 論理マップの取り込み
(2) 通信論理マップ
(3) メッセージとAPの連携

(1) 論理マップの取り込み

VOS3とPCに処理を分散する環境では,VOS3とPC間で論理マップのデータをやり取りします。このとき論理マップは,COPY文でVOS3のAPに取り込まれます。COPY文は,APのWORKING-STORAGE SECTIONまたはLINKAGE SECTIONに指定します。ただし,論理マップ中に定数を展開させている場合は,LINKAGE SECTIONには取り込めません。

(例)
[図データ]

(2) 通信論理マップ

分散処理をするため,通信論理マップ,入力論理マップおよび出力論理マップをメインフレーム上のAPに取り込みます。通信論理マップは「XMAP3インストールフォルダ¥INCLUDE¥X3HOSTBL」として提供されています。

通信論理マップの形式を次の表に示します。

表5-14 通信論理マップの形式(TIOP3用)

エリア名称長さ(位置)データ形式データ内容
XMAP-CD-MHLNG2(0)S9(4)COMP通信論理マップ長
XMAP-CD-RSV12(2)S9(4)COMP予備
XMAP-CD-RTN2(4)9(4)COMPリターンコード
XMAP-CD-RSN2(6)9(4)COMPリターンコード詳細
XMAP-CD-TNAME8(8)X(8)仮想端末名称
XMAP-CD-PMAPNAME8(16)X(8)物理マップ名称をEBCDIKコードでセット
XMAP-CD-INLNG2(24)S9(4)COMP入力論理マップ長の最大値
XMAP-CD-OPT1(26)Xマッピングオプション
XMAP-CD-DCODE1(27)Xデータ有無コード
XMAP-CD-RSV236(28)X(36)予備
(00)16でヌルクリア
通信論理マップ用定数の場合,エリア名称の「CD」の部分が「CDT」になります。

(3) メッセージとAPの連携

メインフレームとPCに処理を分散する環境では,メインフレーム側からPC側へ,どのようにして入出力命令が渡されているのかを,命令発行順序を示して説明します。

なお,メインフレーム側の通信管理プログラムとして,PC上の「XMAP3インストールフォルダ¥SAMPLE¥C¥HSMHPROC」をメインフレーム上に転送して使用するものとします。

(a) メインフレームからPC上の画面に対する送受信命令
  1. オープン命令:メインフレーム上のAPから'MHOPEN'を呼び出して,PCにオープン命令を出す。
  2. 入出力命令:メインフレーム上のAPから'MHTRANS'を呼び出して,PCに表示命令を出し,さらにPCからデータを受信する。出力および入力するデータ数だけ,呼び出しを繰り返す。
  3. クローズ命令:メインフレーム上のAPから'MHCLOSE'を呼び出して,PCにクローズ命令を出す。
(b) メインフレームからPC上の帳票に対する送信命令
  1. オープン命令:メインフレーム上のAPから'MHOPEN'を呼び出して,PCにオープン命令を出す。
  2. 出力命令:メインフレーム上のAPから'MHSEND'を呼び出して,PCに帳票印刷命令を出す。出力するデータ数だけ,呼び出しを繰り返す。
  3. クローズ命令:メインフレーム上のAPから'MHCLOSE'を呼び出して,PCにクローズ命令を出す。
(c) 命令の呼び出し形式

メインフレーム上のAPからそれぞれの命令を呼び出すときのCALL文の形式を次に示します。

オープン命令
CALL 'MHOPEN' USING 通信論理マップ
入出力命令
CALL 'MHTRANS' USING 通信論理マップ 出力論理マップ 入力論理マップ
出力命令
CALL 'MHSEND' USING 通信論理マップ 出力論理マップ
クローズ命令
CALL 'MHCLOSE' USING 通信論理マップ
(d) 各命令と通信論理マップの関連

それぞれの命令発行時と通信論理マップの設定値の関連を表5-15,表5-16,表5-17および表5-18に示します。

表5-15 オープン命令発行時の通信論理マップと入力/出力論理マップの設定値(対話環境の場合)

データ項目名指定内容
通信論理マップ長64とする。
予備(0000)16とする。
リターンコード(0000)16とする。
詳細コード(0000)16とする。
仮想端末名称X3MWHOSTに指定した仮想端末名称を指定する。
物理マップ名(00)16でヌルクリアする。
入力論理マップ長の最大値(0000)16とする。
マッピングオプション(00)16とする。
データ有無コードデータ有無コードを指定する。
予備(00)16でヌルクリアする。
注※
仮想端末の画面をオープンするときに,出力先が一つだけならば,指定を省略できます。指定を省略する場合,(40)16で8バイトクリアしてください。

表5-16 入出力命令発行時の通信論理マップと入力/出力論理マップの設定値(対話環境の場合)

論理マップ名データ項目名指定内容
通信論理マップ通信論理マップ長64とする。
予備(0000)16とする。
リターンコード(0000)16とする。
詳細コード(0000)16とする。
仮想端末名称X3MWHOSTに指定した仮想端末名称を指定する。1
物理マップ名EBCDIKコードで入出力する物理マップ名を,デバイスIDを付けて,左詰めで指定する。残りは空白とする。
入力論理マップ長の最大値入力論理マップの長さの最大値を指定する。
マッピングオプションスペースまたは'0':マージ※2
'2':論理マップだけ※3
'3':物理マップだけ※4
指定しない場合は(00)16でヌルクリアする。
データ有無コード設定しない。
予備(0000)16とする。
出力論理マップ論理マップ長出力論理マップ長を指定する。
予備(0000)16とする。
出力論理データ出力論理データを設定する。
入力論理マップXMAP3が設定するので,設定する必要はない。受信後参照する場合は入力論理マップにコピーすること。
注※1
入出力先の仮想端末名称を指定します。対応するオープン命令を発行したときと同じ仮想端末名称を指定してください。
注※2
論理項目,または制御項目に指定したデータを使って画面を表示します。ただし,表示属性の変更指示をしない項目の属性は,画面定義時に指定した表示属性となります。
注※3
論理項目,または制御項目に指定したデータを使って画面を表示します。ただし,表示属性の変更指示をしない項目の属性は,前画面の表示属性となります。また,データの指定がない項目は,前画面のデータをそのまま表示します。
注※4
論理項目,または制御項目に指定したデータを無視して,画面定義時の情報だけで画面を表示します。

表5-17 出力命令発行時の通信論理マップの設定値

論理マップ名データ項目名指定内容
通信論理マップ通信論理マップ長何も設定しない。
予備
リターンコード
詳細コード
仮想端末名称
物理マップ名
入力論理マップ長の最大値
マッピングオプション
データ有無コード
予備
出力論理マップ論理マップ長出力論理マップ長を指定する。
予備(0000)16とする。
出力論理データ出力論理データを設定する。

表5-18 クローズ命令発行時の通信論理マップの設定値(対話環境の場合)

データ項目名指定内容
通信論理マップ長64とする。
予備(0000)16とする。
リターンコード(0000)16とする。
詳細コード(0000)16とする。
仮想端末名称X3MWHOSTに指定した仮想端末名称を指定する。
物理マップ名設定しない。
入力論理マップ長の最大値設定しない。
マッピングオプション設定しない。
データ有無コード設定しない。
予備(00)16でヌルクリアする。
注※
クローズする仮想端末名称を指定します。対応するオープン命令を発行したときと同じ仮想端末名称を指定してください。