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

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

5.2.1 XDM/DCCM3でのインタフェース(CommuniNet使用時)

<この項の構成>
(1) 論理マップの取り込み
(2) メッセージテーブルの形式
(3) 送受信メッセージとAPの連携

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

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

(例)
[図データ]

(2) メッセージテーブルの形式

分散処理をするため,メッセージテーブル,入力論理マップおよび出力論理マップをメインフレーム上のAPに取り込みます。入力または出力論理マップのデータ長が2,920バイト以下のときのメッセージテーブルは「XMAP3インストールフォルダ\INCLUDE\X3TRNTBL」です。また,入力または出力論理マップのデータ長が2,920バイトを超えるときのメッセージテーブルは「XMAP3インストールフォルダ\INCLUDE\X3TRNTB2」です。

メッセージテーブルの形式を表5-2および表5-3に示します。

表5-2 受信メッセージテーブルの形式

領域 エリア名称 長さ
(位置)
データ形式 データ内容
ヘッダ XMAP-RECV-LL 2(0) S9(4)COMP 受信テーブル長
XMAP-RECV-RR 2(2) S9(4)COMP 予備
XMAP-RECV-TRNCD 8(4) X(8) トランザクションコード
XMAP-RECV-SPACE 1(12) X 予備
XMAP-RECV-LL1 2(13) S9(4)COMP 予備
XMAP-RECV-LL2 2(15) S9(4)COMP 通信データ長
ユーザ
データ
種別 XMAP-RECV-TRN 8(17) X(8) トランザクションコード
XMAP-RECV-REQ 4(25) X(4) 要求種別
通信論理マップ XMAP-RECV-
MHLNG
2(29) S9(4)COMP 通信論理マップ長
XMAP-RECV-RSV1 2(31) S9(4)COMP 予備
XMAP-RECV-RTN 2(33) 9(4)COMP リターンコード
XMAP-RECV-RSN 2(35) 9(4)COMP リターンコード詳細
XMAP-RECV-
TNAME
8(37) X(8) 仮想端末名称
XMAP-RECV-
PMAPNAME
8(45) X(8) 物理マップ名称をEBCDIKコードでセット
XMAP-RECV-
INLNG
2(53) S9(4)COMP 入力論理マップ長の最大値
XMAP-RECV-OPT 1(55) X マッピングオプション
XMAP-RECV-
DCODE
1(56) X データ有無コード
XMAP-RECV-RSV2 36(57) X(36) 予備
(00)16でヌルクリア
入力論理マップ XMAP-RECV-MAPS 2(93) S9(4)COMP 入力論理マップ長
XMAP-RECV-MAP0 2(95) S9(4)COMP 予備
XMAP-RECV-MAPK 0〜2,920
(97)
X 入力論理データ

表5-3 送信メッセージテーブルの形式

部分 エリア名称 長さ
(位置)
データ形式 データ内容
ヘッダ XMAP-SEND-LL 2(0) S9(4)COMP 送信テーブル長
XMAP-SEND-RR 2(2) S9(4)COMP 予備
XMAP-SEND-LL1 2(4) S9(4)COMP AP長
XMAP-SEND-UAP 8(6) X(8) AP名
XMAP-SEND-LL2 2(14) S9(4)COMP 通信データ長
ユーザ
データ
種別 XMAP-SEND-TRN 8(16) X(8) トランザクションコード
XMAP-SEND-REQ 4(24) X(4) 要求種別
通信論理マップ XMAP-SEND-
MHLNG
2(28) S9(4)COMP 通信論理マップ長
XMAP-SEND-RSV1 2(30) S9(4)COMP 予備
XMAP-SEND-RTN 2(32) 9(4)COMP リターンコード
XMAP-SEND-RSN 2(34) 9(4)COMP リターンコード詳細
XMAP-SEND-
TNAME
8(36) X(8) 仮想端末名称
XMAP-SEND-
PMAPNAME
8(44) X(8) 物理マップ名称をEBCDIKコードでセット
XMAP-SEND-
INLNG
2(52) S9(4)COMP 入力論理マップ長の最大値
XMAP-SEND-OPT 1(54) X マッピングオプション
XMAP-SEND-
DCODE
1(55) X データ有無コード
XMAP-SEND-RSV2 36(56) X(36) 予備
(00)16でヌルクリア
出力論理マップ XMAP-SEND-MAPL 2(92) S9(4)COMP 出力論理マップ長
XMAP-SEND-MAPZ 2(94) S9(4)COMP 予備
XMAP-SEND-MAPG 0〜2,920
(96)
X 出力論理データ

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

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

命令発行時に使用するSEND文およびRECEIVE文の形式については,マニュアル「データマネジメントシステム XDM E2系 プログラム作成の手引(XDM/BASE・DCCM3・TM2)」を参照してください。

(a) メインフレームからPC上の画面・帳票に対する送受信命令
  1. オープン命令:SEND文でPCにオープン命令を出す。
  2. 出力命令:SEND文で送信メッセージテーブルを使用して,PCに表示命令を出す。
  3. 入力命令:RECEIVE文で受信メッセージテーブルを使用して,PCからデータを受信する。出力および入力するデータ数だけ,2.と3.の処理を繰り返す。
  4. クローズ命令:SEND文でPCにクローズ命令を出す。
  5. 終了命令:SEND文でPCに終了命令を出す。
(b) 各命令と送受信メッセージの関連

それぞれの命令発行時とメッセージテーブルの設定値の関連を表5-4,表5-5,表5-6および表5-7に示します。

表5-4 オープン命令発行時の送信メッセージの設定値

部分 データ項目名 指定内容
ヘッダ 送信テーブル長 92とする。
予備 (0000)16とする。
AP長 10とする。
AP名 PC側の画面管理プログラムのEXE名称をセットする。
通信データ長 78とする。
ユーザ
データ
種別 トランザクションコード 次に起動するトランザクション名。
要求種別 (10000001)16とする(オープン要求)。
通信論理マップ 通信論理マップ長 64とする。
予備 (0000)16とする。
リターンコード (0000)16とする。
詳細コード (0000)16とする。
仮想端末名称 X3MWHOSTに指定した仮想端末名称を指定する。
物理マップ名 (00)16でヌルクリアする。
入力論理マップ長の最大値 (0000)16とする。
マッピングオプション (00)16とする。
データ有無コード データ有無コードを指定する。
予備 (00)16でヌルクリアする。

注※
仮想端末の画面をオープンするときに,出力先が一つだけならば,指定を省略できます。指定を省略する場合,(40)16で8バイトクリアしてください。

表5-5 クローズ命令発行時の送信メッセージの設定値

部分 データ項目名 指定内容
ヘッダ 送信テーブル長 92とする。
予備 (0000)16とする。
AP長 10とする。
AP名 PC側の画面管理プログラムのEXE名称をセットする。
通信データ長 78とする。
ユーザ
データ
種別 トランザクションコード 次に起動するトランザクション名。
要求種別 (11000001)16とする(クローズ要求)。
通信論理マップ 通信論理マップ長 64とする。
予備 (0000)16とする。
リターンコード (0000)16とする。
詳細コード (0000)16とする。
仮想端末名称 X3MWHOSTに指定した仮想端末名称を指定する。
物理マップ名 設定しない。
入力論理マップ長の最大値 設定しない。
マッピングオプション 設定しない。
データ有無コード 設定しない。
予備 (00)16でヌルクリアする。

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

表5-6 入力命令発行時の通信論理マップ部と入力論理マップ部の設定値(受信メッセージテーブルを使用)

論理マップ名 データ項目名 指定内容
通信論理マップ 通信論理マップ長 何も設定しない。
予備
リターンコード
詳細コード
仮想端末名称
物理マップ名
入力論理マップ長の最大値
マッピングオプション
データ有無コード
予備
入力論理マップ XMAP3が設定するので,設定する必要はない。受信後参照する場合は入力論理マップにコピーすること。

入力命令では,受信テーブルのアドレスを渡します。指定内容は,入力された時点で,すでに指定されています。

表5-7 出力命令発行時の通信論理マップ部と出力論理マップ部の設定値(送信メッセージテーブルを使用)

論理マップ名 データ項目名 指定内容
通信論理マップ 送信テーブル長 92+出力論理データ長 をセットする。
予備 (0000)16とする。
AP長 10とする。
AP名 PC側の画面管理プログラムのEXE名称をセットする。
通信データ長 78+出力論理データ長をセットする。
トランザクションコード 次に起動するトランザクション名。
要求種別 (12000003)16とする。
通信論理マップ長 64とする。
予備 (0000)16とする。
リターンコード (0000)16とする。
詳細コード (0000)16とする。
仮想端末名称 X3MWHOSTに指定した仮想端末名称を指定する。1
物理マップ名 EBCDIKコードで入出力する物理マップ名を,デバイスIDを付けて,左詰めで指定する。残りは(40)16とする。
入力論理マップ長の最大値 使用する入力論理マップの長さの最大値を指定する。
マッピングオプション スペースまたは'0':マージ※2
'2':論理マップだけ※3
'3':物理マップだけ※4
指定しない場合は(00)16でヌルクリアする。
データ有無コード 設定しない。
予備 (0000)16とする。
出力論理マップ 論理マップ長 出力論理マップ長を指定する。
予備 (0000)16とする。
出力論理データ 出力論理データを設定する。

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

注※2
論理項目,または制御項目に指定したデータを使用して画面を表示します。ただし,表示属性の変更指示をしない項目の属性は,画面定義時に指定した表示属性となります。

注※3
論理項目,または制御項目に指定したデータを使用して画面を表示します。ただし,表示属性の変更指示をしない項目の属性は,前画面の表示属性となります。また,データの指定がない項目は,前画面のデータをそのまま表示します。

注※4
論理項目,または制御項目に指定したデータを無視して,画面定義時の情報だけで画面を表示します。