BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo COBOL リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


TXSETCOMMITRET(3cbl)

名前

TXSETCOMMITRET() - commit_return 特性の設定

形式

DATA DIVISION.
* Include TX definitions.
01
TX-RETURN-STATUS.
COPY TXSTATUS.
*
01
TX-INFO-AREA.
COPY TXINFDEF.
PROCEDURE DIVISION.
CALL "TXSETCOMMITRET" USING
TX-INFO-AREA TX-RETURN-STATUS.

機能説明

TXSETCOMMITRET() は、COMMIT-RETURN で指定されている値を commit_return 特性に設定します。 この特性は、TXCOMMIT() が呼び出し元に制御を返す際の動作方法に影響します。 TXSETCOMMITRET() は、呼び出し元がトランザクション・モードにあるかどうかに関係なく、呼び出すことが可能です。 この設定は、TXSETCOMMITRET() がこの後で呼び出されて変更されるまで、有効です。

この特性の初期設定は TX-COMMIT-COMPLETED です。

COMMIT-RETURN の有効な設定を次に示します。

TX-COMMIT-DECISION-LOGGED

このフラグは、2 フェーズ・コミット・プロトコルの第 1 フェーズによってコミットの決定が記録された後、第 2 フェーズが終了する前に、TXCOMMIT() が終了することを示します。 このフラグを設定すると、TXCOMMIT() の呼び出し元に高速で応答することができます。 しかし、トランザクションがヒューリスティックな結果を得る危険があります。この場合、TXCOMMIT() の戻りコードから呼び出し元がこの状況を知ることはできません。 正常な状態では、第 1 フェーズの間にコミットすることを約束しているパーティシパントは、第 1 フェーズでコミットします。 ただし、ある特殊な条件下においては (たとえば、長時間継続しているネットワークやノードの障害など)、第 2 フェーズで行うことができずにヒューリスティックな結果が生じることがあります。

TX-COMMIT-COMPLETED

このフラグは、2 フェーズ・コミット・プロトコルが完全に終了した後、TXCOMMIT() が終了することを示します。 このフラグを設定すると、TXCOMMIT() の呼び出し元は、トランザクションがヒューリスティックな結果を得たこと、または得ていた可能性があることを戻りモードから知ることができます。

戻り値に使用されるレコードは、TX-RETURN-STATUS です。

戻り値

TXSETCOMMITRET() は正常終了時には、負数でない値 TX-OK を返します。

エラー

次の条件が発生すると、TXSETCOMMITRET()commit_return 特性の設定を変更せずに次のいずれかの負の値を返します。

[TX-EINVAL]

COMMIT-RETURN が、TX-COMMIT-DECISION-LOGGEDTX-COMMIT-COMPLETED のいずれでもありません。

[TX-PROTOCOL-ERROR]

この関数が不正なコンテキストで呼び出されました (たとえば、呼び出し元がまだ TXOPEN() を呼び出していない場合)。

[TX-FAIL]

トランザクション・マネージャが致命的エラーを検出しました。 このエラーでは、トランザクション・マネージャは、アプリケーションのために作業を行うことができなくなります。エラーの正確な内容はログ・ファイルに書き込まれます。

関連項目

TXBEGIN(3cbl)TXCOMMIT(3cbl)TXINFORM(3cbl)TXOPEN(3cbl)TXROLLBACK(3cbl)

 

先頭へ戻る 前のトピックへ 次のトピックへ