bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo COBOL リファレンス

 Previous Next Contents View as PDF  

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 フェーズの間にコミットすることを約束しているパーティシパントは、第 2 フェーズでコミットします。ただし、ある特殊な条件下においては (たとえば、長時間継続しているネットワークやノードの障害など)、第 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)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy