Hitachi

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


CBLEEDBQ('OBSRBSP ')

〈このページの構成〉

名称

ロールバック要求時のメッセージの読み出しスキップ

形式

PROCEDURE DIVISIONの指定

CALL 'CBLEEDBQ' USING 一意名1

DATA DIVISIONの指定

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

機能

データ型オンラインバッチ処理の場合で,トランザクションのロールバック要求時に,読み出したメッセージのロールバック処理(メッセージ読み出し通番の戻し)をしないようにします。コミット要求があった場合は,この機能は無効となります。

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

●データ名A

ロールバック要求時のメッセージの読み出しスキップ要求を示す要求コードを「VALUE 'OBSRBSP△'」と設定します。

●データ名C

0を設定します。

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

●データ名B

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

ステータスコード

意味

00000

正常に終了しました。

00001

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

00004

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

00005

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

05601

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

05602

DBキュー機能は使用できません。

05603

この関数を呼び出せる状態ではありません。

05614

同一メッセージ処理のロールバック監視回数を超えたため,要求を受け付けません。

05621

関数の呼び出し条件が不正です。

05623

オンラインバッチ機能のライブラリがリンケージされていません。

05638

対象ロットのサービストランザクションから発行されていません。

注意事項

  1. この関数は,対象ロットのサービストランザクションからだけ呼び出せます。

  2. この関数を呼び出したトランザクションの実行中に計画停止Bでシステムを停止すると,関数は正常に終了しますが,メッセージの読み出しはスキップされない場合があります。また,読み出しスキップ処理中に障害が発生すると,メッセージの読み出しがスキップされない場合があります。この場合,同一メッセージを読み出したときに,再度この関数を呼び出してください。

  3. 呼び出し元トランザクションがロールバックしたときに,メッセージの読み出しがスキップされます。

  4. この関数の動作はオンラインバッチ機能関連定義のdbq_obs_trn_end_apiオペランドの指定値に依存します。dbq_obs_trn_end_apiオペランドの指定値がYの場合,CBLEETRN('C-COMMIT')またはCBLEETRN('C-ROLL ')の呼び出し以降,この関数は受け付けません。