jsvwadrv関数の機能と発行順序を次の図に示します。
図7-12 jsvwadrv関数の機能と発行順序
jsvwadrv関数の形式を次に示します。
表7-11 共通インタフェース領域の形式(XMAP_COM)
データ項目名 | 長さ (位置) | データ形式 | 指定内容(データ名) |
---|---|---|---|
アイキャッチャ | 4 | char[4] | '*XP△'とします(xmap_com_id) |
リターンコード | 2(4) | unsigned short | 2進形式で格納します(xmap_com_rtn)※ |
リターンコード 詳細 | 2(6) | unsigned short | 2進形式で格納します(xmap_com_rsn)※ |
未使用 | 3(8) | char[3] | (00)16とします(xmap_com_rsv1) |
id区分 | 1(11) | char | 必ず'I'とします(xmap_com_itype) |
仮想端末名 | 8(12) | char[8] | 仮想端末定義ファイルで指定した仮想端末名称を左詰めで指定し,残りは空白とします(xmap_com_tname) |
未使用 | 4(20) | char[4] | (00)16とします(xmap_com_rsv2) |
通信種別 | 4(24) | char[4] | プリンタ要求時は'OWS△'とします (xmap_com_msg) |
未使用 | 44(28) | char[44] | (00)16とします(xmap_com_rsv3) |
マップ名称 | 8(72) | char[8] | 物理マップ名を左詰めでデバイスID付きで指定し,残りは空白とします (xmap_com_mapname) |
未使用 | 8(80) | char[8] | (00)16とします(xmap_com_rsv4) |
未使用 | 4(88) | long | (00)16とします(xmap_com_inlng) |
未使用 | 68(92) | char[68] | (00)16とします(xmap_com_rsv5) |
表7-12 要求インタフェース領域の形式(XMAP_REQ)
データ項目名 | 長さ (位置) | データ形式 | 指定内容(データ名) |
---|---|---|---|
要求種別 | 4 | char[4] | 'OPEN':オープン要求 'CLOS':クローズ要求 'SEND':出力要求(xmap_req_type) |
未使用 | 1(4) | char | '△'とします(xmap_req_opt1) |
SEND オプション | 1(5) | char | '1':出力要求時 '△':上記以外(xmap_req_opt2) |
未使用 | 2(6) | char[2] | '△△'とします(xmap_req_rsv) |
表7-13 オープンインタフェース領域の形式(XMAP_OPN)
データ項目名 | 長さ (位置) | データ形式 | 指定内容(データ名) |
---|---|---|---|
データ有無コード使用選択 | 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」が仮定されます。
共通インタフェース領域のxmap_com_rtnにリターン値が設定されます。リターン値を次に示します。
XMAP3で用意しているインタフェーステーブル(jsvwatbl.h)をAPに取り込む場合,#include指示語を使用します。
ただし,jsvwatbl.h中のインタフェーステーブルは,構造体の形式などを定義しており,#include指示語によってAPに実領域は取られません。このため,AP中でインタフェース領域を取る必要があります。インタフェースを取る例を次に示します。
インタフェーステーブルを次の図に示します。
図7-13 インタフェーステーブル
jsvwadrv関数を使用する場合,帳票を出力したい端末に付けた仮想端末名称単位にオープン要求をします。複数の仮想端末をオープン要求する場合,インタフェース領域は各仮想端末に用意する必要があります。一つのAP(プロセス)内で同時にオープンできる端末数の上限は15個です。
仮想端末をクローズします。オープン要求,および出力要求で使用したインタフェースを引き継いで使用します。
オープン要求した仮想端末へ帳票を出力します。オープン要求で使用した共通インタフェース領域を引き継いで使用します。
ライブラリには,次に示すファイルを指定する必要があります。