2.2.1 COBOL SPP/MHPプログラムソースの構成
COBOL SPP/MHPを作成する場合,次の構成で作成することをお勧めします。また,COBOL言語で作成された既存のSPP/MHPがある場合には,この節で説明している仕様に準拠していれば,そのままJavaのクライアントからTP1/COBOLアクセスを経由して実行できるSPP/MHPとして利用できます。
(1) COBOL SPP/MHPプログラムのソース構成
-
COBOL SPP/MHPプログラムソース
-
COBOL−Java間で渡す引数の登録集原文
(TP1/COBOLアクセス用Bean生成時に必要な登録集原文)
新規にCOBOL言語でSPPを作成する場合の具体的な方法は,マニュアル「分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編」,MHPを作成する場合は,マニュアル「分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編」などOpenTP1の各種マニュアルをご覧ください。
COBOL言語でSPP/MHPをコーディングする際,コーディング上の注意および名称の付け方の注意等については,TP1/COBOLの作成方法に従ってください。
(2) COBOL SPPプログラムの例
COBOL SPPプログラムの例を次に示します。
(3) COBOL MHPと通信する登録集原文の作成方法
作成したCOBOL MHPのプログラムをTP1/COBOLアクセスで利用するために登録集原文作成する必要があります。以下にCBLDCMCF('RECEIVE ')を例に説明します。その他の関数についてはこれに倣って修正してください。なお,メッセージ送受信インタフェースについてはマニュアル「分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編」の3章をご覧ください。
以下の例では一意名3の集団項目がポイントになります。
-
PROCEDURE DIVISIONの指定
CALL 'CBLDCMCF' USING 一意名1 一意名2 一意名3
-
DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'RECEIVE '. : 01 一意名2. 02 データ名O PIC X(4) VALUE SPACE. : 01 一意名3. 02 データ名U PIC 9(x) USAGE COMP. 02 データ名V PIC X(x). 02 データ名Y. 05 データ1 PIC X(n). : 05 データX PIC X(n).
-
データ名Y
データ名Yには受信したセグメントの内容が返されます。Java UAPから受け取るデータは,データ名Yの項目に格納されます。MHPのデータからTP1/COBOLアクセス用Beanを生成する場合,以下のように登録集原文を作成する必要があります。また,Bean生成ウィザードおよびBean生成ツールで,COBOLに渡す登録集原文に指定します(TP1/Client/P,TP1/Client/WおよびTP1/Client/Jの場合はJava UAPからsendメソッドで送信されたデータを受信できます。)。
-
データ名Yが集団項目の場合
下の例では,レベル番号を01に変更したデータ名Yと従属する下位項目を登録集原文として作成しています。
MHP定義
02 データ名Y. 05 データ1 PIC X(n). : 05 データX PIC X(n).
登録集原文
01 データ名Y. 05 データ1 PIC X(n). : 05 データX PIC X(n).
-
データ名Yが基本項目の場合
下の例では,レベル番号を01に変更したデータ名Yを登録集原文として作成しています。
MHP定義
02 データ名Y PIC X(n).
登録集原文
01 データ名Y PIC X(n).