4.2.2 コンパイル実行

コンパイルと実行には,COBOL2002またはCOBOL85 06-05以降を使用してください。COBOL2002 Net Developerでは,実行はできません。

<この項の構成>
(1) コンパイル時のポイント
(2) リンケージ時のポイント
(3) 実行時のポイント

(1) コンパイル時のポイント

(a) インタフェース領域の取り込み

XMAP3/Webが提供するインタフェース領域ファイル(X3WEBLIB.cbl)をユーザサービスプログラムに取り込むには,WORKING-STORAGE SECTIONにCOPY文を使用して取り込んでください。

論理マップは,WORKING-STORAGE SECTION,またはLINKAGE SECTIONにCOPY文を指定して取り込んでください。ただし,論理マップ中に定数を展開している場合,LINKAGE SECTIONには取り込めません。

インタフェース領域ファイルが格納されているフォルダを次に示します。

   XMAP3/Webインストールフォルダ¥INCLUDE

(b) TP1/Webを使用してWebブラウザとデータ送受信を行う

ユーザサービスプログラムを作成する上で,必要なTP1/Webのインタフェースを次の表に示します。

表4-8 TP1/Webのインタフェースとその使用方法

処理項目使用するインタフェースと使用方法
受信データの取得CBLDCWEB('GETQDATA')を使用して,クライアントからのデータを受信する。
ここで受信したデータをjsvwwlibライブラリのRECV要求で指定する。
出力データの応答CBLDCWEB('SETHDINF')を使用して,Content-typeに「XMAP-CONTENT-TYPE」を設定し,jsvwwlibライブラリのSEND要求で生成した出力データを,CBLDCWEB('PUTANY ')を使用して送信する。
業務終了CBLDCWEB('SSDISCON')を使用して,サービスセットを終了する。
業務終了の出力データを送信したあと,サービスルーチンを終了する前に発行する。
TP1/Webのインタフェースについては,マニュアル「OpenTP1 インターネットゲートウェイ機能TP1/Web 使用の手引」を参照してください。

(c) プロジェクトの作成
COBOL2002の場合
TP1/Webのサービスプログラムを作成するには,COBOL2002の開発マネージャでプロジェクトを作成するときに次の内容を選択します。
  • 最終生成物の種類  :ダイナミックリンクライブラリ
  • プロジェクトの種類 :-Dll指定(DLLを作成する)
  • DLL呼び出し規約選択:DLLの属性をCdeclにする
  • 出力ファイル名   :生成するDLL名称を指定する
開発マネージャの操作方法については,マニュアル「COBOL2002 操作ガイド」を参照してください。
COBOL85の場合
TP1/Webのサービスプログラムを作成するには,COBOL開発マネージャでプロジェクトを作成するときに次の内容を選択します。
  • 最終形態     :ダイナミックリンクライブラリ
  • プロジェクトの種類:-Dl指定(DLLでオブジェクトを作成)
  • 出力ファイル名  :生成するDLL名称を指定する
COBOL開発マネージャの操作方法については,マニュアル「COBOL85 操作ガイド」を参照してください。
(d) コンパイラオプションの指定
COBOL2002の場合
COBOL2002を使用する場合は,次に示すコンパイラオプションを指定する必要があります。-JPN,Alnumオプションは必要に応じて指定してください。これらのコンパイラオプションについては,マニュアル「COBOL2002 ユーザーズガイド」を参照してください。
  • -Comp5
    COBOLプログラム内でCOMP-5を利用できるようにするオプション
  • -JPN,Alnum
    論理マップ内で日本語項目を扱えるようにするオプション
COBOL85の場合
COBOL85を使用する場合は,次に示すコンパイラオプションを指定する必要があります。-Naオプションは必要に応じて指定してください。これらのコンパイラオプションについては,マニュアル「COBOL85 ユーザーズガイド」を参照してください。
  • -X5
    COBOLプログラム内でCOMP-5を利用できるようにするオプション
  • -Na
    論理マップ内で日本語項目を扱えるようにするオプション

(2) リンケージ時のポイント

(a) インポートライブラリの取り込み

XMAP3/Webが提供するインポートライブラリ(X3WEBLIB.lib)とTP1/Webが提供するインポートライブラリ(LIBTP1WEB.lib)をユーザサービスプログラムに取り込み,DLLを作成します。XMAP3/Webのライブラリが格納されているフォルダを次に示します。

   XMAP3/Webインストールフォルダ¥LIB

(b) リンカオプションの指定
COBOL2002の場合
COBOL2002を使用する場合は,次に示すリンカオプションを指定する必要があります。リンカオプションの詳細については,マニュアル「COBOL2002 ユーザーズガイド」を参照してください。
  • -Dll,Cdecl
    TP1/Webで使用できるcdecl規約のDLLを作成するためのオプション
COBOL85の場合
COBOL85を使用する場合は,次に示すリンカオプションを指定する必要があります。リンカオプションの詳細については,マニュアル「COBOL85 ユーザーズガイド」を参照してください。
  • -Dc
    TP1/Webで使用できるcdecl規約のDLLを作成するためのオプション

(3) 実行時のポイント

データ有無コードは,サーバ環境定義ファイルに指定します。サーバ上で動作するユーザサービスプログラムで使用できるデータ有無コードは,ユーザサービスプログラムごとに一つだけとなります。仮想端末ごとに異なるデータ有無コードは使用できないため,注意が必要です。

ユーザサービスプログラムで参照する環境変数は,Windows NT,Windows 2000,Windows XP,Windows Server 2003,またはWindows Server 2003 x64のコントロールパネルで設定するシステム環境変数に登録してください。