Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編


6.5.3 CBLDCTRS('C-ROLL ') − 連鎖モードのロールバック

〈この項の構成〉

(1) 形式

(a) マルチスレッド環境の場合

■ PROCEDURE DIVISIONの指定

CALL 'CBLDCTRS' USING 一意名1

■ DATA DIVISIONの指定

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

(b) シングルスレッド環境の場合

■ PROCEDURE DIVISIONの指定

CALL 'CBLDCTRN' USING 一意名1

■ DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(8) VALUE 'C-ROLL  '.
   02 データ名B  PIC X(5).

(2) 機能

トランザクションをロールバックします。

CBLDCTRS('C-ROLL ')が正常終了すると,新しいグローバルトランザクションが発生し,以降実行するプログラムは新しいグローバルトランザクションの範囲になります。

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

(4) 値が返されるデータ領域

(5) ステータスコード

ステータスコード

意味

00000

正常終了しました。

02501

要求コード(データ名A)に指定した値が間違っています。

02502

誤ったコンテクストからプログラムを呼び出しています。

02504

メモリ不足が発生しました。

02506

ネットワーク障害が発生しました。

02507

CBLDCTRS('C-ROLL ')の処理時間で時間切れ(タイムアウト)が発生しました。

02515

OpenTP1が起動されていません。

02517

トランザクションプロセス内でメモリ不足が発生しました。

02518

システムエラーが発生しました。

02542

常設コネクションが解放されました。

02544

データ名Cに指定したクライアントIDはCBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDと異なっています。

03403

ヒューリスティック決定のため,あるトランザクションブランチはコミットとなり,あるトランザクションはロールバックとなりました。

このステータスコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合に戻ります。

このステータスコードが返る原因およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。

このステータスコードが戻ったあともこのプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。

03404

グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。

しかし,障害のためヒューリスティックに完了したトランザクションブランチの同期点の結果が判明しません。

このステータスコードが返る原因およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。

このステータスコードが戻ったあともこのプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。

03424

ロールバックは正常終了しましたが,新しいトランザクションは開始できませんでした。このステータスコードが返ったあとは,このプロセスはトランザクション下にはありません。

03426

CBLDCTRS('C-COMMIT')を実行したグローバルトランザクションは,ヒューリスティック決定のため,トランザクションブランチにはコミットされたものと,されていないものがあります。

このステータスコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合に返ります。

このステータスコードが返る原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。

その後,新しいトランザクションを開始できなかったため,このプロセスはトランザクション下にありません。

03427

グローバルトランザクションのトランザクションブランチが,ヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果が判明しません。

このステータスコードが返る原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。

その後,新しいトランザクションを開始できなかったため,このプロセスはトランザクション下にありません。

このステータスコードが戻ったあともこのプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。

(6) 注意事項

トランザクションをロールバックしてからCUPのプロセスを終了させるときは,CBLDCTRS('U-ROLL ')を必ず実行してください。