画面・帳票サポートシステム XMAP3 プログラミングガイド


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は必要なくなります。登録集原文の次の個所を修正してください。

自動生成ウィザード画面でも,データ属性は可変長ではなくバイト配列データ(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) 論理マップデータの取り込みと設定

受信データの論理マップ領域に設定された入力論理マップデータを入力論理マップに代入してください。また,出力論理マップにデータを設定したあと,送信データの論理マップ領域に設定した出力論理マップを代入してください。