画面・帳票サポートシステム XMAP3 メインフレーム連携ガイド

[目次][用語][索引][前へ][次へ]

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-MHLNG 2(0) S9(4)COMP 通信論理マップ長
XMAP-CD-RSV1 2(2) S9(4)COMP 予備
XMAP-CD-RTN 2(4) 9(4)COMP リターンコード
XMAP-CD-RSN 2(6) 9(4)COMP リターンコード詳細
XMAP-CD-TNAME 8(8) X(8) 仮想端末名称
XMAP-CD-PMAPNAME 8(16) X(8) 物理マップ名称をEBCDIKコードでセット
XMAP-CD-INLNG 2(24) S9(4)COMP 入力論理マップ長の最大値
XMAP-CD-OPT 1(26) X マッピングオプション
XMAP-CD-DCODE 1(27) X データ有無コード
XMAP-CD-RSV2 36(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でヌルクリアする。

注※
クローズする仮想端末名称を指定します。対応するオープン命令を発行したときと同じ仮想端末名称を指定してください。