ee_scd_clear_rollback_cnt【XTC限定】
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include <eescd.h> int ee_scd_clear_rollback_cnt(char *service, EELONG flags)
機能
ロールバックリトライ回数を0にクリアします。
UAPで値を設定する引数
●service
サービス名を,31バイト以内のアスキー文字列で設定します。文字列の最後にはNULL文字を設定してください。このNULL文字は文字列の長さに数えません。
●flags
EENOFLAGSを設定します。
リターン値
リターン値 |
意味 |
---|---|
EE_OK |
正常に終了しました。 |
EECOMER_CNDBPP |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
EECOMER_CNDUOC |
UOCから発行しているため,この機能は使用できません。 |
EECOMER_ENVIRON |
TP1/EEの環境下にありません。 |
EESCDER_ARGUMENT |
引数に設定した値が間違っています。 |
EESCDER_CONDITION |
発行条件が不正です(プロセス関連定義のxtc_useオペランドにNを指定してこの関数を発行)。 |
EESCDER_SRVC_VALUE |
serviceに設定したサービス名は,定義されていません。 |
EESCDER_TIMING |
この関数を発行できる状態ではありません。 |
ee_scd_clear_rollback_cnt関数がエラーになる場合
ee_scd_clear_rollback_cnt関数がエラーリターンする場合について説明します。
プロセス関連定義のxtc_useオペランドにYを指定していない場合
ee_scd_clear_rollback_cnt関数はEESCDER_CONDITIONのリターン値でエラーリターンします。
serviceに設定したサービスのサービス属性定義に,service_attr -e serialを指定していない場合
ee_scd_clear_rollback_cnt関数はEESCDER_CONDITIONのリターン値でエラーリターンします。
この関数を発行したサービスとserviceに設定したサービスが異なり,他スレッドでserviceに設定したサービスのトランザクションが実行中の場合
ee_scd_clear_rollback_cnt関数はEESCDER_TIMINGのリターン値でエラーリターンします。
注意事項
-
この関数を発行したサービスとserviceに設定したサービスが同じで,トランザクションがロールバック決着した場合,ロールバックリトライ回数はカウントしないで,0になります。XTCのロールバックリトライ回数監視によるサービス閉塞は行いません。
-
この関数を発行したサービスとserviceに設定したサービスが異なる場合,またはこの関数を発行したトランザクションがエラートランザクションの場合は,処理キュー全体の排他を取ります。そのため,この関数を頻繁に使用するとスループットが悪くなるおそれがあります。