Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引


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のリターン値でエラーリターンします。

注意事項

  1. この関数を発行したサービスとserviceに設定したサービスが同じで,トランザクションがロールバック決着した場合,ロールバックリトライ回数はカウントしないで,0になります。XTCのロールバックリトライ回数監視によるサービス閉塞は行いません。

  2. この関数を発行したサービスとserviceに設定したサービスが異なる場合,またはこの関数を発行したトランザクションがエラートランザクションの場合は,処理キュー全体の排他を取ります。そのため,この関数を頻繁に使用するとスループットが悪くなるおそれがあります。