ユーザサービスプログラムの作成にCOBOL言語を適用する場合,XMAP3/Webライブラリの呼び出しにはCALLインタフェースを使用します。
CALLインタフェースを使用する場合,環境部(ENVIRONMENT DIVISION)の定義を次に示します。
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
STDCALL IS 呼び名1.
EXTERNAL-PROGRAM SECTION.
CALL-CONVENTION.
'jsvwwlib' IS 呼び名1.
注 呼び名1は,ユーザが任意に設定するデータ項目名です。
CALL文によるXMAP3/Webライブラリの呼び出し形式を次に示します。
CALL 'jsvwwlib' USING XMAP-WCOM
XMAP-WREQ
データ名3
データ名4
データ名5.
XMAP-WCOMには,共通インタフェース領域を指定します。指定形式の詳細を次の表に示します。
表4-1 XMAP-WCOMに指定する共通インタフェース領域
データ項目名 | 長さ | データ形式 | データ名 | 指定内容 |
---|---|---|---|---|
アイキャッチャ | 4 | X(4) | XMAP-WCOM-ID | '*WEB' |
リターン値1 | 2(4) | 9(4) COMP-5 | XMAP-WCOM-RTN | 下記参照※1 |
リターン値2 | 2(6) | 9(4) COMP-5 | XMAP-WCOM-RSN | 下記参照※1 |
未使用 | 3(8) | X(3) | XMAP-WCOM-RSV1 | (00)16 |
id区分 | 1(11) | X | XMAP-WCOM-ITYPE | 'I' |
仮想端末名称 | 8(12) | X(8) | XMAP-WCOM-TNAME | 下記参照※2 |
未使用 | 4(20) | X(4) | XMAP-WCOM-RSV2 | (00)16 |
通信種別 | 4(24) | X(4) | XMAP-WCOM-MSG | 画面の場合:'BWS△' 帳票の場合:'OWS△' |
未使用 | 44(28) | X(44) | XMAP-WCOM-RSV3 | (00)16 |
マップ名称 | 8(72) | X(8) | XMAP-WCOM-MAPNAME | デバイスID付きの物理マップ名称を左詰めで指定し,残りは空白を指定する |
未使用 | 8(80) | X(8) | XMAP-WCOM-RSV4 | (00)16 |
論理マップ長 | 4(88) | S9(8) COMP-5 | XMAP-WCOM-LSGLNG | 下記参照※3 |
未使用 | 260(92) | X(260) | XMAP-WCOM-RSV5 | (00)16 |
XMAP-WREQには,要求インタフェース領域を指定します。指定形式の詳細を次の表に示します。
表4-2 XMAP-WREQに指定する要求インタフェース領域
データ項目名 | 長さ | データ形式 | データ名 | 指定内容 |
---|---|---|---|---|
要求種別 | 4 | X(4) | XMAP-WREQ-TYPE | 下記参照※1 |
オプション1 | 1(4) | X | XMAP-WREQ-OPT1 | 'F' |
オプション2 | 1(5) | X | XMAP-WREQ-OPT2 | '1' |
未使用 | 2(6) | X(2) | XMAP-WREQ-RSV1 | 空白 |
オプション3 | 1(8) | X | XMAP-WREQ-OPT3 | 下記参照※2 |
オプション4 | 1(9) | X | XMAP-WREQ-OPT4 | '△':画面入出力/帳票出力を応答する 'E':ブラウザ側のXMAP3業務の終了を応答する |
未使用 | 6(10) | X(6) | XMAP-WREQ-RSV2 | 空白とする |
要求動作 | 指定する値 |
---|---|
XMAP3/Webライブラリのオープン要求 | 'OPEN' |
XMAP3/Webライブラリのクローズ要求 | 'CLOS' |
出力データの設定要求 | 'SEND' |
入力データの取得要求 | 'RECV' |
オプションの設定要求 | 'MDO△' (△は半角空白を表す) |
指定値 | 内容 |
---|---|
'1' | プリンタスプールに帳票を出力後,その印刷ドキュメントを完了(クローズ)する。 通常は'1'を指定する。 |
'2' | プリンタスプールに登録されている,印刷ドキュメント中の1ページとして帳票を出力する。 印刷ドキュメントは完了(クローズ)しないで継続する。 |
帳票印刷セットアップでスプール書き出し単位を「1ページ毎」にした場合は,この指定は無効となり常に'1'(ドキュメントを完了(クローズ)する)となります。
XMAP3/Webライブラリのオープン要求時にオープンインタフェース領域を指定します。データ名3に指定する詳細を次の表に示します。
表4-3 データ名3に指定するオープンインタフェース領域
データ項目名 | 長さ | データ形式 | データ名 | 指定内容 |
---|---|---|---|---|
サーバ環境定義ファイル名 | 8 | X(8) | XMAP-WOPN-SRVNAME | サーバ環境定義ファイル名を左詰めで指定し,残りは空白を指定する※ |
未使用 | 8(8) | X(8) | XMAP-WOPN-RSV | 空白を指定 |
出力データ設定要求時,データ名4には送信データ出力領域を指定します。入力データ設定要求時,データ名4には受信データ領域を指定します。また,オプション設定要求時,データ名4にはマッピングインタフェース領域(XMAP-WMDO)を指定します。データ名4に指定する内容を要求別に表4-4,表4-5,および表4-6に示します。
表4-4 データ名4に指定する送信データ出力領域
データ項目名 | 長さ | データ形式 | 指定内容 |
---|---|---|---|
出力領域長 | 4 | S9(9) COMP | 出力領域の長さ(n)を指定 |
出力領域 | n(4) | X(n) | (00)16 |
送信データを格納するために必要な出力領域の大きさは,次に示す概算式で求められます。
出力領域サイズ(バイト)=(500+URL長※1×3+出力論理マップ長※2)×1.5
それぞれ,URLの最大長は2,048バイト,出力論理マップの最大長は32,000バイトとなっているため,上記の概算式に従えば出力領域に必要な領域サイズの最大値は次のようになります。
(500+2,048×3+32,000)×1.5=57,966バイト
表4-5 データ名4に指定する受信データ領域
データ項目名 | 長さ | データ形式 | 指定内容 |
---|---|---|---|
受信データ長 | 4 | S9(9) COMP | 受信データの長さ(n)を指定 |
受信データ | n(4) | X(n) | TP1/WebのAPIで取得した受信データを指定 |
受信データを格納するために必要な領域の大きさは,次に示す概算式で求められます。
受信データサイズ(バイト)=120+(500+入力論理マップ長※)×1.5
入力論理マップの最大長は32,000バイトとなっているため,上記の概算式に従えば入力領域に必要な領域サイズの最大値は次のようになります。
120+(500+32,000)×1.5 = 48,870バイト
表4-6 データ名4に指定するマッピングインタフェース領域(XMAP-WMDO)
データ項目名 | 長さ | データ形式 | データ名 | 指定内容 |
---|---|---|---|---|
マッピングオプション大分類 | 4 | 9(8) COMP-5 | XMAP-WMDO-OPT1 | XMAP-WMDO-SFLDの内容を代入 |
マッピングオプション小分類 | 4(4) | 9(8) COMP-5 | XMAP-WMDO-OPT2 |
|
データ名5には,出力データ設定要求時,次に呼び出すサービスのURLを指定※します。SSL通信を使用する場合は,「https://」で始まるURLを指定してください。
データ名5に指定する内容を次の表に示します。
表4-7 データ名5に指定する次処理サービス領域
データ項目名 | 長さ | データ形式 | 指定内容 |
---|---|---|---|
URLデータ長 | 4 | 9(8) COMP-5 | URLデータの長さ(n)を指定 |
URLデータ | n(4) | X(n) | 次回の呼び出し先URLを指定※ |
ユーザサービスプログラムのプロセス開始時に,XMAP3/Webライブラリのオープン要求を発行します。
TP1/WebのAPIを使ってWebブラウザから取得した受信データを解析し,入力論理マップやリターンコードを取得します。XMAP3/Webライブラリのオープン要求で使用したインタフェース領域の指定が必要です。
Webブラウザへ画面を表示する場合,マッピングオプションを指定できます。XMAP3/Webライブラリのオープン要求で使用したインタフェース領域の指定が必要です。
Webブラウザ側での業務に対して,画面表示,または帳票印刷情報を設定した応答メッセージを生成します。XMAP3/Webライブラリのオープン要求で使用したインタフェース領域の指定が必要です。
ユーザサービスプログラムのプロセス終了時に,XMAP3/Webライブラリのクローズ要求を発行します。XMAP3/Webライブラリのオープン要求で使用したインタフェース領域の指定が必要です。