9.4.3 ソースプログラムの記述(OpenTP1サーバ連携の場合)
ユーザプログラムの業務処理について説明します。
ソースプログラムは,XMAP3/Web for CosminexusがCosminexusベース用に提供しているサンプルを参考に作成してください。
OpenTP1のCOBOL SPPに関する定義(ユーザサービス定義,RPCインタフェース定義)は,TP1/COBOL adapter for Cosminexusのサンプルプログラムを参考にして作成してください。
COBOL APでは,データ送受信用の登録集原文を取り込み,受信データ中の入力論理マップデータを基に業務を実行し,送信データを設定します。
ユーザプログラム中のCOBOL AP(業務処理)の例を次に示します。
(1) データ送受信用の登録集原文の取り込み
XMAP3 Cosminexus連携機能のデータ送受信用の登録集原文(CBLIOTBL.cbl)をカスタマイズして,COBOL AP(業務処理)のLINKAGE SECTIONにCOPY文を使用して取り込んでください。
XMAP3/Web for Cosminexusでは,次に示すフォルダにデータ送受信用の登録集原文を提供しています。
XMAP3インストールフォルダ\Web for Cosminexus\SAMPLE\COBOL
COBOL adapter for Cosminexusではインタフェース領域の長さは可変長だったので,長さを入れておくXMAP-TRAN-LENが必要ですが,TP1/COBOL adapter for Cosminexusのインタフェース領域は固定長なので,XMAP-TRAN-LENは必要なくなります。登録集原文の次の個所を修正してください。
-
「XMAP-TRAN-LEN」は削除
-
登録集原文を入力用と出力用で分け,「XMAP-TRAN-DMI」を「XMAP-TRAN-DMI-I(入力用)」と「XMAP-TRAN-DMI-O(出力用)」に修正
-
アプリケーションサーバがUNIXの場合は,「COMP-5」を「COMP」に修正
自動生成ウィザード画面でも,データ属性は可変長ではなくバイト配列データ(byte[])のままで生成してください。
- TP1/COBOL adapter for Cosminexusの送信用インタフェース領域
01 XMAP-TRAN-TBL-IN PIC X(32256). 01 XMAP-TRAN-DMY-I REDEFINES XMAP-TRAN-TBL. ← XMAP-TRAN-LENは削除 03 XMAP-COM. 04 XMAP-COM-ID PIC X(4). 04 XMAP-COM-RTN PIC 9(4) COMP-5. 04 XMAP-COM-RSN PIC 9(4) COMP-5. 04 XMAP-COM-TNAME PIC X(8). 04 XMAP-COM-MSG PIC X(4). 04 XMAP-COM-MAPNAME PIC X(8). 04 XMAP-COM-RSV1 PIC X(4). 04 XMAP-COM-PRTOPT PIC X. 04 XMAP-COM-ENDOPT PIC X. 04 XMAP-COM-RSV2 PIC X(6). 04 XMAP-COM-MAPOPT1 PIC 9(8) COMP-5. 04 XMAP-COM-MAPOPT2 PIC 9(8) COMP-5. 04 XMAP-COM-RSV3 PIC X(16). 04 XMAP-COM-URLLNG PIC 9(4) COMP-5. 04 XMAP-COM-LSGLNG PIC 9(4) COMP-5. 04 XMAP-COM-RSV4 PIC X(60). 04 XMAP-COM-URL PIC X(128). 03 XMAP-LSG PIC X(32000).
- TP1/COBOL adapter for Cosminexusの受信用インタフェース領域
01 XMAP-TRAN-TBL-OUT PIC X(32256). 01 XMAP-TRAN-DMY-O REDEFINES XMAP-TRAN-TBL. ← XMAP-TRAN-LENは削除 03 XMAP-COM. 04 XMAP-COM-ID PIC X(4). 04 XMAP-COM-RTN PIC 9(4) COMP-5. 04 XMAP-COM-RSN PIC 9(4) COMP-5. 04 XMAP-COM-TNAME PIC X(8). 04 XMAP-COM-MSG PIC X(4). 04 XMAP-COM-MAPNAME PIC X(8). 04 XMAP-COM-RSV1 PIC X(4). 04 XMAP-COM-PRTOPT PIC X. 04 XMAP-COM-ENDOPT PIC X. 04 XMAP-COM-RSV2 PIC X(6). 04 XMAP-COM-MAPOPT1 PIC 9(8) COMP-5. 04 XMAP-COM-MAPOPT2 PIC 9(8) COMP-5. 04 XMAP-COM-RSV3 PIC X(16). 04 XMAP-COM-URLLNG PIC 9(4) COMP-5. 04 XMAP-COM-LSGLNG PIC 9(4) COMP-5. 04 XMAP-COM-RSV4 PIC X(60). 04 XMAP-COM-URL PIC X(128). 03 XMAP-LSG PIC X(32000).
(2) 論理マップの登録集原文の取り込み
XMAP3での画面・帳票の開発時に生成した論理マップの登録集原文を,COBOL AP(業務処理)のWORKING-STORAGE SECTIONにCOPY文を使用して取り込んでください。各業務処理内容によって入力論理マップや出力論理マップの設定方法が異なるので注意してください。
(3) 論理マップデータの取り込みと設定
受信データの論理マップ領域に設定された入力論理マップデータを入力論理マップに代入してください。また,出力論理マップにデータを設定したあと,送信データの論理マップ領域に設定した出力論理マップを代入してください。