4.5.5 dc_trn_unchained_rollback_s非連鎖モードのロールバック

<この項の構成>
(1) 形式
(2) 機能
(3) UAPで値を設定する引数
(4) リターン値
(5) 注意事項

(1) 形式

(a) _s付き関数の場合

#include <dcvtrn.h>
DCLONG dc_trn_unchained_rollback_s(DCCLT_ID cltid)

(b) _s無し関数の場合

#include <dcvtrn.h>
DCLONG dc_trn_unchained_rollback()

(2) 機能

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

dc_trn_unchained_rollback_s関数が正常終了すると,グローバルトランザクションは終了します。グローバルトランザクションの範囲外からは,SPPをトランザクションとして実行できません。

(3) UAPで値を設定する引数

(4) リターン値

リターン値数値
(10進数)
意味
DC_OK0正常終了しました。
DCCLTER_PROTO-2502誤ったコンテクスト(例 トランザクションの範囲外)から関数を実行しています。
DCCLTER_NO_BUFS-2504メモリ不足が発生しました。
DCCLTER_NET_DOWN-2506ネットワーク障害が発生しました。
DCCLTER_TIMED_OUT-2507dc_trn_unchained_rollback_s関数の処理時間で時間切れ(タイムアウト)が発生しました。
DCCLTER_OLTF_NOT_UP-2515OpenTP1が起動されていません。または,サーバとのコネクションが切断されているため,通信できません。
DCCLTER_NO_BUFS_AT_SERVER-2517トランザクションプロセス内でメモリ不足が発生しました。
DCCLTER_SYSERR-2518システムエラーが発生しました。
DCCLTER_CONNFREE-2542常設コネクションが解放されました。
DCCLTER_INVALID_CLTID-2544cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。
DCTRNER_HEURISTIC-3403ヒューリスティック決定によって,一部,またはすべてのトランザクションブランチがロールバックされました。詳細は,メッセージログファイルを参照してください。このリターン値が戻ったあと,このプロセスはグローバルトランザクションの範囲外となります。
DCTRNER_HAZARD-3404ヒューリスティック決定でトランザクションが完了しましたが,障害のため結果がわかりません。詳細は,メッセージログファイルを参照してください。このリターン値が戻ったあと,このプロセスはグローバルトランザクションの範囲外となります。

(5) 注意事項

トランザクションをロールバックしてからCUPのプロセスを終了させるときは,必ずdc_trn_unchained_rollback_s関数を実行してください。