|
|
TPSCMT(3cbl)
名前
TPSCMT() - TPCOMMIT の終了時期の設定
形式
01 TPCMTDEF-REC.
COPY TPCMTDEF.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPSCMT" USING TPCMTDEF-REC TPSTATUS-REC.
機能説明
TPSCMT() は TP-COMMIT-CONTROL 特性を TPCMTDEF-REC に指定されている値に設定します。 この TP-COMMIT-CONTROL 特性は、制御をその呼び出し元に返す際の TPCOMMIT() の動作に影響します。 プログラムがトランザクション・モードにあるかどうかに関係なく、プログラムから TPSCMT() を呼び出すことができます。 他のプログラムがコミットしなければならないトランザクションに呼び出し元が参加している場合は、TPSCMT() を呼び出してもそのトランザクションに影響を与えないことに注意してください。 むしろ、呼び出し元がコミットするその後のトランザクションに影響を与えます。
ほとんどの場合、トランザクションは、BEA Tuxedo ATMI のプログラムが TPCOMMIT() を呼び出したときにのみコミットされます。 ただし、次の場合は例外です。 すなわち、UBBCONFIG ファイルの SERVICES セクションで AUTOTRAN 変数が使用可能になっているために、サービスがトランザクション・モードでディスパッチされる場合は、そのトランザクションは TPRETURN() の呼び出し時点で完了します。 TPFORWAR() が呼び出された場合、そのトランザクションは、サーバが最終的に TPRETURN() を呼び出すことによって終了します。 このため、TPRETURN() を呼び出すサービスにおける TP-COMMIT-CONTROL 特性の設定内容により、TPCOMMIT() がサーバ内からいつ制御を返すかが決まります。TPCOMMIT() がヒューリスティックなエラー・コードを返した場合、サーバはメッセージをログ・ファイルに書き込みます。
クランアントが BEA Tuxedo ATMI アプリケーションに参加する場合は、この特性の初期設定はコンフィギュレーション・ファイルから取られます (UBBCONFIG(5) の RESOURCES セクションの CMTRET 変数を参照)。
次に、TPCMTDEF-REC の有効な設定の一覧を示します。
戻り値
TPSCMT() は正常終了時には、TP-STATUS に [TPOK] を設定し、TP-COMMIT-CONTROL 特性の以前の値を返します。
エラー
次の条件が発生すると、TPSCMT() は異常終了し、TP-STATUS に次の値を設定します。
注意事項
TPBEGIN()、TPCOMMIT() および TPABORT() を使用して BEA Tuxedo ATMI のトランザクションを記述する際には、XA インターフェイスに準拠した (および呼び出し元に適切にリンクされている) リソース・マネージャが行う作業のみがトランザクションとしての特性を備えていることを忘れないようにすることが重要です。トランザクションで行われるその他の処理内容は、TPCOMMIT() や TPABORT() の影響を受けません。 そのリソース・マネージャが行った処理が BEA Tuxedo ATMI のトランザクションの一部となるよう、XA インターフェイスを満たすリソース・マネージャをサーバにリンクする方法については、buildserver(1) を参照してください。
関連項目
TPABORT(3cbl)、TPBEGIN(3cbl)、TPCOMMIT(3cbl)、TPGETLEV(3cbl)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|