画面・帳票サポートシステム XMAP3 プログラミングガイド 画面編
XMAP3を呼び出すためのC言語インタフェースは,次に示すjsvwadrv関数を提供します。
jsvwadrv関数の機能と発行順序を次に示します。
jsvwadrv関数の形式を次に示します。
long APIENTRY jsvwadrv(XMAP_COMアドレス,XMAP_REQアドレス, パラメタ3,パラメタ4)
表7-8 共通インタフェース領域の形式(XMAP_COM,C言語)
項目 | 長さ (位置) |
データ形式 | 格納内容 | データ名 |
---|---|---|---|---|
アイキャッチャ | 4 | char[4] | '*XP△'とする | xmap_com_id |
リターンコード※1 | 2(4) | unsigned short | 2進形式でXMAP3が格納 | xmap_com_rtn |
画面入出力時のリターンコード※1 | 2(6) | unsigned short | 2進形式でXMAP3が格納 | xmap_com_rsn |
未使用 | 3(8) | char[3] | (00)16とする | xmap_com_rsv1 |
id区分 | 1(11) | char | 必ず'I'とする | xmap_com_itype |
仮想端末名 | 8(12) | char[8] | 出力先の仮想端末名を指定する(標準は'DSP001△△'を指定する) | xmap_com _tname |
未使用 | 4(20) | char[4] | (00)16とする | xmap_com_rsv2 |
通信種別 | 4(24) | char[4] | 'BWS△'とする | xmap_com_msg |
未使用 | 44(28) | char[44] | (00)16とする | xmap_com_rsv3 |
マップ名称 | 8(72) | char[8] | 物理マップ名を左詰めでデバイスID付きで指定する。残りは空白※2。 | xmap_com _mapname |
未使用 | 8(80) | char[8] | (00)16とする | xmap_com_rsv4 |
入力論理 マップ長 |
4(88) | long | 入力論理マップ長を指定する | xmap_com_inlng |
未使用 | 68(92) | char[68] | (00)16とする | xmap_com_rsv5 |
表7-9 要求インタフェース領域の形式(XMAP_REQ,C言語)
項目 | 長さ (位置) |
データ形式 | 指定内容 | データ名 |
---|---|---|---|---|
要求種別 | 4 | char[4] | 'OPEN':オープン要求 'CLOS':クローズ要求 'RECV':入力要求 'SEND':出力要求 'MDO△':オプション設定要求 |
xmap_req_type |
RECEIVE オプション |
1(4) | char | 'F':入力要求時 '△':上記以外 |
xmap_req_opt1 |
SEND オプション |
1(5) | char | '1':出力要求時 '△':上記以外 |
xmap_req_opt2 |
未使用 | 2(6) | char[2] | '△△'とする | xmap_req_rsv |
表7-10 オープンインタフェース領域の形式(XMAP_OPN,C言語)
項目 | 長さ (位置) |
データ形式 | 指定内容(データ名) | データ名 |
---|---|---|---|---|
データ有無コード使用選択 | 1 | char | '1':データ有無コードを指定する その他:データ有無コードを指定しない(標準値「1F」を仮定) |
xmap_opn_dcode_set |
データ有無コード | 1(1) | unsigned char | データ有無コードを指定する場合,2桁の16進数(00〜FF)で指定する | xmap_opn_dcode |
未使用 | 2(2) | char[2] | '△△'とする | xmap_opn_rsv |
なお,データ有無コード使用選択項目でデータ有無コードを無効にする指定をした場合は,標準値「1F」が仮定されます。
表7-11 マッピングインタフェース領域の形式(XMAP_MDO,C言語)
項目 | 長さ (位置) |
データ形式 | 指定内容(データ名) | データ名 |
---|---|---|---|---|
マッピングオプション大分類 | 4 | unsigned long | XMAP_MDO_SFLDの内容をセットする | xmap_mdo_opt1 |
マッピングオプション小分類 | 4(4) | unsigned long | XMAP_MDO_MAPFLD※ XMAP_MDO_PHFLD※ XMAP_MDO_LOGFLD※ |
xmap_mdo_opt2 |
共通インタフェース領域のxmap_com_rtnにリターン値が設定されます。リターン値を次に示します。
0:正常終了
4,8:異常終了(詳細については,共通インタフェース領域のxmap_com_rsnに設定される)
12:パラメタ不正
XMAP3が提供しているインタフェーステーブル(jsvwatbl.h)をAPに取り込む場合,#include指示語を使用します。
ただし,jsvwatbl.h中のインタフェーステーブルは,構造体の形式などを定義しており,#include指示語によってAPに実領域は確保されません。このため,AP中でインタフェース領域を用意する必要があります。例を次に示します。
インタフェーステーブルを次の図に示します。
図7-16 インタフェーステーブル
jsvwadrv関数を使用する場合,画面を表示したい端末に付けた仮想端末名単位にオープン要求をします。複数の仮想端末をオープン要求する場合,インタフェース領域は仮想端末ごとに用意する必要があります。一つのAP(プロセス)内で同時にオープンできる端末数の上限は15個です。
仮想端末をクローズします。オープン要求,出力要求,および入力要求で使用したインタフェースを引き継いで使用します。
オープン要求した仮想端末へ画面を表示します。オープン要求で使用した共通インタフェース領域を引き継いで使用します。
入力要求によって,画面から入力した情報をAPへ入力します。画面表示要求で使用したインタフェース領域を引き継いで使用します。
仮想端末へ画面を表示する場合,マッピングオプションを指定できます。オープン要求で使用した共通インタフェース領域を引き継いで使用します。
ライブラリには,次に示すファイルを指定する必要があります。
All Rights Reserved. Copyright (C) 2001, 2006, Hitachi, Ltd.