Hitachi

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


CBLDCRPC('DISCARDS')

〈このページの構成〉

名称

特定の処理結果の受信の拒否

形式

PROCEDURE DIVISIONの指定

 CALL 'CBLDCRPC' USING 一意名1

DATA DIVISIONの指定

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

機能

非同期応答型RPCを使った場合,まだ返ってきていない特定の応答を,これ以上受信しないことを宣言します。受信を拒否する非同期応答を特定するには,データ名Dに非同期応答型RPCがリターンした際に返した記述子を設定します。CBLDCRPC('DISCARDS')を呼び出したあとに返ってきた応答の中で,設定した記述子と同じ記述子を持つ応答は受信しないで捨てられます。

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

●データ名A

ゲートウェイのノードアドレスの取得を示す要求コードを「VALUE 'DISCARDS'」と設定します。

●データ名C

0を設定します。

●データ名D

非同期応答型RPCのCBLDCRPC('CALL ')が正常に終了したときに返された記述子を設定します。

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

●データ名B

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

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00301

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

00302

CBLDCRPC('OPEN ')を呼び出していません。

00322

データ名Dに指定した記述子は存在しません。要因としては次のことが考えられます。

  • 指定した記述子に対応する非同期応答型RPCを行っていない

  • 非同期応答型RPCの応答がすでに受信されている,または受信が拒否されている