Hitachi

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


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

〈この項の構成〉

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

0

正常終了しました。

DCCLTER_PROTO

-2502

誤ったコンテクスト(例 トランザクションの範囲外)から関数を実行しています。

DCCLTER_NO_BUFS

-2504

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

DCCLTER_NET_DOWN

-2506

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

DCCLTER_TIMED_OUT

-2507

dc_trn_unchained_rollback_s関数の処理時間で時間切れ(タイムアウト)が発生しました。

DCCLTER_OLTF_NOT_UP

-2515

OpenTP1が起動されていません。または,サーバとのコネクションが切断されているため,通信できません。

DCCLTER_NO_BUFS_AT_SERVER

-2517

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

DCCLTER_SYSERR

-2518

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

DCCLTER_CONNFREE

-2542

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

DCCLTER_INVALID_CLTID

-2544

cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。

DCTRNER_HEURISTIC

-3403

ヒューリスティック決定によって,一部,またはすべてのトランザクションブランチがロールバックされました。詳細は,メッセージログファイルを参照してください。このリターン値が戻ったあと,このプロセスはグローバルトランザクションの範囲外となります。

DCTRNER_HAZARD

-3404

ヒューリスティック決定でトランザクションが完了しましたが,障害のため結果がわかりません。詳細は,メッセージログファイルを参照してください。このリターン値が戻ったあと,このプロセスはグローバルトランザクションの範囲外となります。

(5) 注意事項

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