Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引


CBLEESCD('MSGRLBK ')【XTC限定】

〈このページの構成〉

名称

受信メッセージの差し戻し

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEESCD' USING 一意名1 一意名2

DATA DIVISIONの指定

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

機能

トランザクションの終了状態に関係なく,滞留メッセージの受信関数(CBLEESCD('MSGRECV ')関数)で読み出したメッセージを差し戻します(ロールバックさせます)。

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

●データ名A

受信メッセージ差し戻しを示す要求コードを「VALUE 'MSGRLBK△'」と設定します。

●データ名C

差し戻しを行いたいメッセージのメッセージ通番を設定します。

●データ名Z

0を設定します。

TP1/EEから値が返されるデータ領域

●データ名B

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

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

TP1/EEの環境下にありません。

00004

UOCから発行しているため,この機能は使用できません。

00005

オフラインバッチプロセスから発行しているため,この機能は使用できません。

00801

引数に設定した値が間違っています。

00804

発行条件が不正です(プロセス関連定義のxtc_useオペランドにNを指定してこの関数を発行)。

00871

指定したメッセージ通番が不正です(通番範囲外,またはCBLEESCD('MSGRECV ')関数未発行)。

00875

この関数を発行できるサービスではありません(サービス属性定義でservice_attr -e serialを指定していないサービスでこの関数を発行)。または,トランザクション種別がMNもしくはTMではありません。

00876

トランザクション起動時のメッセージが滞留メッセージ読み出し対象メッセージではありません。

注意事項

  1. この関数は,トランザクション実行中に複数回発行できますが,最後に発行した関数で指定したメッセージ通番だけが有効となります。

  2. CBLEESCD('MSGRECV ')関数を複数回発行した場合,この関数で指定したメッセージ通番以降の全メッセージが差し戻されます。

  3. トランザクション起動時に渡されたメッセージはこの関数で差し戻すことはできません。差し戻しを行いたい場合はトランザクションをロールバックさせてください。