10.2.2 コンパイルと実行
コンパイルと実行には,COBOL2002を使用してください。COBOL2002 Net Developerでは,実行はできません。
- 〈この項の構成〉
(1) コンパイル時のポイント
(a) インタフェース領域の取り込み
XMAP3 TP1/Web連携機能のインタフェース領域ファイル(X3WEBLIB.cbl)をAPに取り込むには,WORKING-STORAGE SECTIONにCOPY文を使用して取り込んでください。
論理マップは,WORKING-STORAGE SECTION,またはLINKAGE SECTIONにCOPY文を指定して取り込んでください。ただし,論理マップ中に定数を展開している場合,LINKAGE SECTIONには取り込めません。
なお,XMAP3/Web for Cosminexusでは,インタフェース領域ファイルを提供しています。インタフェース領域ファイルが格納されているフォルダを次に示します。
XMAP3インストールフォルダ\Web for TP1\INCLUDE
(b) TP1/Webを使用してWebブラウザとデータの送受信をする
APを作成する上で,必要なTP1/Webのインタフェースを次の表に示します。
処理項目 |
使用するインタフェースと使用方法 |
---|---|
受信データの取得 |
CBLDCWEB('GETQDATA')を使用して,クライアントからのデータを受信する。ここで受信したデータをjsvwwlibライブラリのRECV要求で指定する。 |
出力データの応答 |
CBLDCWEB('SETHDINF')を使用して,Content-typeに「XMAP-CONTENT-TYPE」を設定し,jsvwwlibライブラリのSEND要求で生成した出力データを,CBLDCWEB('PUTANY ')を使用して送信する。 |
業務終了 |
CBLDCWEB('SSDISCON')を使用して,サービスセットを終了する。業務終了の出力データを送信したあと,サービスルーチンを終了する前に発行する。 |
(c) プロジェクトの作成
TP1/Webのサービスプログラムを作成するには,COBOL2002の開発マネージャでプロジェクトを作成するときに次の内容を選択します。
-
最終生成物の種類:ダイナミックリンクライブラリ
-
プロジェクトの種類:-Dll指定(DLLを作成する)
-
DLL呼び出し規約選択:DLLの属性をCdeclにする
-
出力ファイル名:生成するDLL名を指定する
(d) コンパイラオプションの指定
次に示すコンパイラオプションを指定する必要があります。-JPN,Alnumオプションは必要に応じて指定してください。
-
-Comp5
COBOLプログラム内でCOMP-5を利用できるようにするオプション
-
-JPN,Alnum
論理マップ内で日本語項目を扱えるようにするオプション
(2) リンケージ時のポイント
(a) インポートライブラリの取り込み
XMAP3 TP1/Web連携機能が提供するインポートライブラリ(X3WEBLIB.lib)とTP1/Webが提供するインポートライブラリ(LIBTP1WEB.lib)をAPに取り込み,DLLを作成します。XMAP3 TP1/Web連携機能のライブラリが格納されているフォルダを次に示します。
XMAP3インストールフォルダ\Web for TP1\LIB
(b) リンカオプションの指定
次に示すリンカオプションを指定する必要があります。
-
-Dll,Cdecl
TP1/Webで使用できるcdecl規約のDLLを作成するためのオプション
(3) 実行時のポイント
データ有無コードは,サーバ環境定義ファイルに指定します。サーバ上で動作するAPで使用できるデータ有無コードは,APごとに一つだけとなります。仮想端末ごとに異なるデータ有無コードは使用できないため,注意が必要です。
APで参照する環境変数は,Windowsのコントロールパネルで設定するシステム環境変数に登録してください。