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

<この項の構成>
(1) 形式
(2) 機能
(3) UAPで値を設定するデータ領域
(4) 値が返されるデータ領域
(5) ステータスコード
(6) 注意事項

(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.

(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ネットワーク障害が発生しました。
02507CBLDCTRS('C-ROLL ')の処理時間で時間切れ(タイムアウト)が発生しました。
02515OpenTP1が起動されていません。
02517トランザクションプロセス内でメモリ不足が発生しました。
02518システムエラーが発生しました。
02542常設コネクションが解放されました。
02544データ名Cに指定したクライアントIDはCBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDと異なっています。
03403ヒューリスティック決定のため,あるトランザクションブランチはコミットとなり,あるトランザクションはロールバックとなりました。
このステータスコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合に戻ります。
このステータスコードが返る原因およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このステータスコードが戻ったあともこのプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。
03404グローバルトランザクションのトランザクションブランチがヒューリスティックに完了しました。
しかし,障害のためヒューリスティックに完了したトランザクションブランチの同期点の結果が判明しません。
このステータスコードが返る原因およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
このステータスコードが戻ったあともこのプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。
03424ロールバックは正常終了しましたが,新しいトランザクションは開始できませんでした。このステータスコードが返ったあとは,このプロセスはトランザクション下にはありません。
03426CBLDCTRS('C-COMMIT')を実行したグローバルトランザクションは,ヒューリスティック決定のため,トランザクションブランチにはコミットされたものと,されていないものがあります。
このステータスコードは,ヒューリスティック決定の結果が,グローバルトランザクションの同期点の結果と一致しなかった場合に返ります。
このステータスコードが返る原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
その後,新しいトランザクションを開始できなかったため,このプロセスはトランザクション下にありません。
03427グローバルトランザクションのトランザクションブランチが,ヒューリスティックに完了しました。しかし,障害のため,ヒューリスティックに完了したトランザクションブランチの同期点の結果が判明しません。
このステータスコードが返る原因となったUAP,リソースマネジャ,およびグローバルトランザクションの同期点の結果は,メッセージログファイルを参照してください。
その後,新しいトランザクションを開始できなかったため,このプロセスはトランザクション下にありません。
このステータスコードが戻ったあともこのプロセスはトランザクション下にあって,グローバルトランザクションの範囲内です。

(6) 注意事項

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