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

[目次][索引][前へ][次へ]

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 ネットワーク障害が発生しました。
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 ')を必ず実行してください。