Hitachi

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


CBLDCRPC('OPEN ')

〈このページの構成〉

名称

アプリケーションプログラムの開始

形式

PROCEDURE DIVISIONの指定

CALL 'CBLDCRPC' USING 一意名1

DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(8) VALUE 'OPEN    '.
   02 データ名B  PIC X(5).
   02 FILLER    PIC X(3).
   02 データ名C  PIC S9(9) COMP VALUE ZERO.

機能

OpenTP1のCOBOL-UAP作成用プログラムを使う準備をします。

CBLDCRPC('OPEN ')は,メインプログラムで呼び出します。すべてのOpenTP1のCOBOL-UAP作成用プログラムの呼び出しに先立って,プロセスで1回だけ呼び出してください。CBLDCRPC('OPEN ')が実行する初期化手順を次に示します。

  1. プロセス間通信をするためのエントリポイントを開きます。

  2. OpenTP1で使う共用メモリを取得します。

  3. OpenTP1にUAPを開始することを通知して,プロセスの監視を要求します。

  4. そのほか,設定したUAPの実行環境に従って,OpenTP1の各機能を初期化します。

UAPをトランザクション属性であると指定している場合は,そのノードではOpenTP1のトランザクションサービスとプロセスサービスが稼働していることが前提となります。

CBLDCRPC('OPEN ')は,OpenTP1が正常に開始したあとで呼び出されないと有効になりません。OpenTP1が正常開始する前にCBLDCRPC('OPEN ')を呼び出すと,ステータスコード「00315」でエラーリターンします。この場合,リモートプロシジャコールは使えません。

UAPトレースは,CBLDCRPC('OPEN ')が正常に終了したあとで呼び出した,すべてのOpenTP1のCOBOL-UAP作成用プログラムに対して取得されます。そのため,CBLDCRPC('OPEN ')がエラーリターンした場合,UAPトレースは取得されているときもあれば取得されていないときもあります。

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

●データ名A

UAPのサービス開始を示す要求コードを「VALUE 'OPEN△△△△'」と設定します。

●データ名C

0を設定します。

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

●データ名B

ステータスコードが,5けたの数字で返されます。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00301

データ名に設定した値が間違っています。

要求コード(データ名A)が間違っている場合も含みます。

00302

CBLDCRPC('OPEN ') は,すでに呼び出しています。

00303

初期化処理に失敗しました。以降,OpenTP1のCOBOL-UAP作成用プログラムは呼び出せません。

00315

UAPがあるノードのOpenTP1が稼働していません。

00369

待機系のユーザサーバが,待機の終了を要求されました。

00371

セキュリティ機能を使ったOpenTP1の場合で,セキュリティ環境の初期化処理でエラーが起こりました。

注意事項

CBLDCRPC('OPEN ')は,定義ファイルで設定した内容に従って,UAPが使うOpenTP1の各機能の環境設定(初期化)をします。

初期化処理では,UAPプロセスでオープンするファイルディスクリプタの最大数をOSに対して設定します。したがって,CBLDCRPC('OPEN ')を呼び出したあとには,UAPプロセスでオープンするファイルディスクリプタの最大数をOSに対して再設定(変更)しないでください。変更した場合の動作は保証できません。