Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


COBOL-UAP作成用プログラムの説明形式

OpenTP1のUAPをCOBOL言語で作成するときは,OpenTP1のライブラリにある関数に対応したCOBOL-UAP作成用プログラムCALL文で呼び出します。コーディングするCOBOL言語として,COBOL85とCOBOL2002が使えます。

COBOL-UAP作成用プログラムを次の形式で説明します。

〈このページの構成〉

形式

ライブラリにある関数と対応するCOBOL-UAP作成用プログラムを,CALL文で呼び出す形式と,領域の指定方法を示します。

ここで示す形式は,COBOL85とCOBOL2002で共通です。データ名に値を指定するときは,ここで示すPICTURE句のデータ形式に従ってください。指定する値が決まっているときはVALUE句で記述してあります。

データ名のけた数は,断りがないかぎり変更しないでください。COBOL-UAP作成用プログラムが正常に動作しないことがあります。

一意名で示すファイル名とデータ名には,断りがないかぎり,固有の名称を任意に付けてください。

データ名として指定する文字の長さなどは,コーディングで使うCOBOL言語およびCOBOLコンパイラの仕様に従ってください。

COBOL言語でコーディングするときは,OpenTP1のサンプルにあるCOBOL言語用テンプレートを使えます。このCOBOL言語用テンプレートを,コーディングするプログラムに合わせて修正すれば,DATA DIVISIONを最初からコーディングする手間が省けます。COBOL言語用テンプレートは,/BeTRAN/examples/COBOL/ディレクトリの下に,各システムサービスごとのファイル名で格納してあります。ファイル名は,次に示す規則で付けてあります。

DCXXX.cbl(XXXは,COBOL-UAP作成用プログラムの下3文字)

機能

COBOL-UAP作成用プログラムの機能について説明します。以降,COBOL-UAP作成用プログラムを,次に示す形式で表記します。

[図データ]

UAPで値を設定するデータ領域

DATA DIVISIONに指定するデータのうち,COBOL-UAP作成用プログラムの呼び出し時にデータ領域に値を指定しておくデータ名です。各データ名の説明に従って,値を設定してください。データ領域に値を設定する場合が限られているときは,そのデータ名の説明に値を設定する場合を【 】で示します。

2進形式のデータ項目にPICTURE句で指定したけた数を超える値を指定する場合,次のどちらかで対処してください。

OpenTP1から値が返されるデータ領域

DATA DIVISIONに指定するデータのうち,CALL文を実行したあとで,OpenTP1から値が返されるデータ名です。CALL文の実行後に,データ名で示すデータ領域の内容を参照してください。データ領域にOpenTP1から値が返される場合が限られているときは,そのデータ名の説明に値が返される場合を【 】で示します。

クライアントUAPから値が渡されるデータ領域

サービスプログラムの場合で,クライアントUAPから値が渡されるデータ領域です。このデータ領域の内容を参照して,サービスプログラムの処理をしてください。

サーバUAPから値が返されるデータ領域

同期応答型RPC,非同期応答型RPCの場合に,サービスプログラムから値が返されるデータ名です。CBLDCRPC('CALL '),CBLDCRPC('POLLANYR')を呼び出したUAPでは,ここに示すデータ領域の値を参照できます。

ステータスコード

CALL文を実行したときに返される値を,表形式で説明します。ステータスコードによって,COBOL-UAP作成用プログラムが正常に実行されたかどうかがわかります。エラーが起こったときは,エラーの内容を示します。

COBOL言語のステータスコードは5けたの数字列で,USING句で指定する最初の一意名に含まれます。CALL文でのUSING句で指定する一意名とステータスコードの関係を次に示します。

 CALL '呼び出すプログラム名' USING 一意名1 一意名2 ………

[図データ]

指定例

指定例が必要な場合に記述します。

注意事項

COBOL-UAP作成用プログラムを使うときの注意を記述します。