画面・帳票サポートシステム XMAP3/Web

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

4.3.1 ソースの記述

<この項の構成>
(1) jsvwwlibライブラリの呼び出し
(2) jsvwwlibライブラリで使用するインタフェース領域
(3) jsvwwlibライブラリを使ったデータの受け渡し

(1) jsvwwlibライブラリの呼び出し

関数呼び出しによる,XMAP3/Webライブラリの呼び出し形式を次に示します。

 
long APIENTRY jsvwwlib(XMAP_WCOMアドレス,
                       XMAP_WREQアドレス,
                       パラメタ3,
                       パラメタ4,
                       パラメタ5);
 

(2) jsvwwlibライブラリで使用するインタフェース領域

(a) XMAP-WCOM

XMAP-WCOMには,共通インタフェース領域を指定します。指定形式の詳細を次の表に示します。

表4-9 XMAP-WCOMに指定する共通インタフェース領域

データ項目名 長さ データ形式 データ名 指定内容
アイキャッチャ 4 char[4] xmap_wcom_id '*WEB'
リターン値1 2(4) unsigned short xmap_wcom_rtn 下記参照※1
リターン値2 2(6) unsigned short xmap_wcom_rsn 下記参照※1
未使用 3(8) char[3] xmap_wcom_rsv1 (00)16
id区分 1(11) char xmap_wcom_itype 'I'
仮想端末名称 8(12) char[8] xmap_wcom_tname 下記参照※2
未使用 4(20) char[4] xmap_wcom_rsv2 (00)16
通信種別 4(24) char[4] xmap_wcom_msg 画面の場合,'BWS△'
帳票の場合,'OWS△'
未使用 44(28) char[44] xmap_wcom_rsv3 (00)16
マップ名称 8(72) char[8] xmap_wcom_mapname デバイスID付きの物理マップ名称を左詰めで指定し,残りは空白を指定する
未使用 8(80) char[8] xmap_wcom_rsv4 (00)16
論理マップ長 4(88) long xmap_wcom_lsglng 下記参照※3
未使用 260(92) char[260] xmap_wcom_rsv5 (00)16

注※1
リターン値は2進形式で返されます。

注※2
・画面の場合は,すべて空白を指定します。
・帳票の場合は,出力先となる仮想端末名称を左詰めで指定し,残りは空白を指定します。

注※3
画面の場合:
・出力データの設定を要求する場合は,出力論理マップ長を指定します。
・入力データの取得を要求する場合は,入力論理マップ長を指定します。
帳票の場合:
・出力データの設定を要求する場合は,出力論理マップ長を指定します。
・入力データの取得を要求する場合は,0を指定します。

(b) XMAP-WREQ

XMAP-WREQには,要求インタフェース領域を指定します。指定形式の詳細を次の表に示します。

表4-10 XMAP-WREQに指定する要求インタフェース領域

データ項目名 長さ データ形式 データ名 指定内容
要求種別 4 char[4] xmap_wreq_type 下記参照※1
オプション1 1(4) char xmap_wreq_opt1 'F'
オプション2 1(5) char xmap_wreq_opt2 '1'
未使用 2(6) char[2] xmap_wreq_rsv1 空白
オプション3 1(8) char xmap_wreq_opt3 下記参照※2
オプション4 1(9) char xmap_wreq_opt4 '△':画面入出力/帳票出力を応答する
'E':ブラウザ側のXMAP3業務の終了を応答する
未使用 6(10) char[6] xmap_wreq_rsv2 空白

注※1
要求動作に応じて次の値を指定します。

要求動作 指定する値
XMAP3/Webライブラリのオープン要求 'OPEN'
XMAP3/Webライブラリのクローズ要求 'CLOS'
出力データの設定要求 'SEND'
入力データの取得要求 'RECV'
オプションの設定要求 'MDO△' (△は半角空白を表す)

注※2
画面の場合は,空白を指定します。帳票の場合は,次の値を指定します。

指定値 内容
'1' プリンタスプールに帳票を出力後,その印刷ドキュメントを完了(クローズ)する。
通常は'1'を指定する。
'2' プリンタスプールに登録されている,印刷ドキュメント中の1ページとして帳票を出力する。
印刷ドキュメントは完了(クローズ)しないで継続する。

帳票印刷セットアップでスプール書き出し単位を「1ページ毎」にした場合は,この指定は無効となり常に'1'(ドキュメントを完了(クローズ)する)となります。

(c) パラメタ3

XMAP3/Webライブラリのオープン要求時にオープンインタフェース領域を指定します。パラメタ3に指定する詳細を次の表に示します。

表4-11 パラメタ3に指定するオープンインタフェース領域

データ項目名 長さ データ形式 データ名 指定内容
サーバ環境定義ファイル名 8 char[8] xmap_wopn_srvname サーバ環境定義ファイル名を左詰めで指定し,残りは空白を指定
未使用 8(8) char[8] xmap_wopn_rsv 空白を指定

注※
実行時に,指定したサーバ環境定義ファイルを「XMAP3/Webインストールフォルダ\ETC」から検索します。
パラメタ3に0を指定した場合や,サーバ定義ファイル名に8けたの空白を指定した場合は,サーバ環境定義ファイルとして「X3WEBSRV」を参照します。
・出力データ設定要求時
 出力論理マップを指定します。Webブラウザを終了する場合には0を指定します。
・入力データ取得要求時
 入力論理マップを指定します。ブラウザからの1回目の呼び出しや帳票印刷時など,
 入力論理マップが存在しない場合には0を指定します。
・オプション設定要求時
 必ず1を指定します。

(d) パラメタ4

出力データ設定要求時,パラメタ4には送信データ出力領域を指定します。入力データ設定要求時,パラメタ4には受信データ領域を指定します。また,オプション設定要求時,パラメタ4にはマッピングインタフェース領域(xmap_wmdo)を指定します。パラメタ4に指定する内容を要求別に,表4-12,表4-13,および表4-14に示します。

表4-12 パラメタ4に指定する送信データ出力領域

データ項目名 長さ データ形式 指定内容
出力領域長 4 unsigned long 出力領域の長さ(n)を指定
出力領域 n(4) char[n] (00)16

送信データを格納するために必要な出力領域の大きさは,次に示す概算式で求められます。

  出力領域サイズ(バイト)=(500+URL長1×3+出力論理マップ長2)×1.5
 

注※1
次に示すURLの長さを指します。
  • サーバ環境定義ファイルに指定したURL(環境設定ファイルパス(EtcPath)やデータファイルパス(DataPath)など)の最大長
  • SEND要求やCLOSE要求で指定する,次に呼び出すURLの最大長

注※2
ユーザサービスプログラムで使用する出力論理マップの最大長を指します。

それぞれ,URLの最大長は2,048バイト,出力論理マップの最大長は32,000バイトとなっているため,上記の概算式に従えば出力領域に必要な領域サイズの最大値は次のようになります。

  (500+2,048×3+32,000)×1.5=57,966バイト
 

表4-13 パラメタ4に指定する受信データ領域

データ項目名 長さ データ形式 指定内容
受信データ長 4 unsigned long 受信データの長さ(n)を指定
受信データ n(4) char[n] TP1/WebのAPIで取得した受信データを指定

受信データを格納するために必要な領域の大きさは,次に示す概算式で求められます。

  受信データサイズ(バイト)=120+(500+入力論理マップ長)×1.5
 

注※
ユーザサービスプログラムで使用する入力論理マップの最大長を指します。ただし,帳票の場合は0となります。

入力論理マップの最大長は32,000バイトとなっているため,上記の概算式に従えば入力領域に必要な領域サイズの最大値は次のようになります。

  120+(500+32,000)×1.5 = 48,870バイト
 

表4-14 パラメタ4に指定するマッピングインタフェース領域(xmap_wmdo)

データ項目名 長さ データ形式 データ名 指定内容
マッピングオプション大分類 4 unsigned long xmap_wmdo_opt1 XMAP_WMDO_SFLDの内容を代入
マッピングオプション小分類 4(4) unsigned long xmap_wmdo_opt2
  • XMAP_WMDO_MAPFLD
    マージ
  • XMAP_WMDO_PHFLD
    物理マップだけ
  • XMAP_WMDO_LOGFLD
    論理マップだけ
(e) パラメタ5

パラメタ5には,出力データ設定要求時,次に呼び出すサービスのURLを指定します。SSL通信を使用する場合は,「https://」で始まるURLを指定してください。

注※
Webブラウザ側のXMAP3処理を終了後にWebブラウザを閉じる場合,要求インタフェース領域のオプション4に'E'を指定し,パラメタ5に0を指定します。

パラメタ5に指定する内容を次の表に示します。

表4-15 パラメタ5に指定する次処理サービス領域

データ項目名 長さ データ形式 指定内容
URLデータ長 4 unsigned long URLデータの長さ(n)を指定
URLデータ n(4) char[n] 次回の呼び出し先URLを指定

注※
起動HTMLの業務開始URLに指定した,Webサーバ上のURLを指定してください。要求インタフェース領域のオプション4に'E'を指定した場合だけ,任意のWebサーバ上のURLを指定できます。

(f) リターンコード

jsvwwlib関数のリターンコードを次の表に示します。

表4-16 jsvwwlib関数のリターンコード

リターンコード 意味
0 正常終了
8 異常終了
12 パラメタ不正

(3) jsvwwlibライブラリを使ったデータの受け渡し

(a) XMAP3/Webライブラリのオープン要求

ユーザサービスプログラムのプロセス開始時に,XMAP3/Webライブラリのオープン要求を発行します。

(例1)
ユーザサービスプログラムで共通のサーバ環境定義ファイルを使用する場合
[図データ]

(例2)
ユーザサービスプログラム別に,異なるサーバ環境定義ファイルを使用する場合
[図データ]
(b) 入力データの取得要求

TP1/WebのAPIを使ってWebブラウザから取得した受信データを解析し,入力論理マップやリターンコードを取得します。XMAP3/Webライブラリのオープン要求で使用したインタフェース領域の指定が必要です。

(例1)
画面出力後,Webブラウザからの応答
[図データ]

(例2)
帳票出力後,Webブラウザからの応答
[図データ]
(c) マッピングオプションの設定要求

Webブラウザへ画面を表示する場合,マッピングオプションを指定できます。XMAP3/Webライブラリのオープン要求で使用したインタフェース領域の指定が必要です。

(例)
[図データ]
(d) 出力データの設定要求

Webブラウザ側での業務に対して,画面表示,または帳票印刷情報を設定した応答メッセージを生成します。XMAP3/Webライブラリのオープン要求で使用したインタフェース領域の指定が必要です。

(例1)
画面出力データを設定した応答メッセージを生成する場合
[図データ]

(例2)
帳票出力データを設定した応答メッセージを生成する場合
[図データ]

(例3)
Webブラウザ側の業務終了用の応答メッセージを生成する場合
[図データ]
(e) XMAP3/Webライブラリのクローズ要求

ユーザサービスプログラムのプロセス終了時に,XMAP3/Webライブラリのクローズ要求を発行します。XMAP3/Webライブラリのオープン要求で使用したインタフェース領域の指定が必要です。

(例)
[図データ]