TXSETTRANCTL

名称

transaction_control特性の設定

形式

DATA DIVISION.
* Include TX definitions.
01 TX-RETURN-STATUS.
   COPY TXSTATUS.
*
01 TX-INFO-AREA.
   COPY TXINFDEF.

PROCEDURE DIVISION.
CALL "TXSETTRANCTL" USING TX-INFO-AREA TX-RETURN-STATUS.

機能

TXSETTRANCTLは,transaction_control特性を,TRANSACTION-CONTROLに指定した値に設定します。transaction_control特性は,TXCOMMIT,TXROLLBACKが呼び出し元にリターンする前に,新しいトランザクションが開始するかどうかを決定します。

TXSETTRANCTLは,呼び出し元がトランザクションモードかどうかに関係なく呼び出せます。設定したtransaction_control特性は,あとから呼び出されるTXSETTRANCTLで変更されるまで引き継がれて,効力を発揮します。

transaction_control特性の初期設定は,TX-UNCHAINEDです。

『データ領域』

『●TRANSACTION-CONTROL

次の二つのどちらかの値が,TRANSACTION-CONTROLの妥当な設定です。

{TX-UNCHAINED|TX-CHAINED}』

リターン値

成功した場合,TXSETTRANCTLはTX-OKを返します。これは,負ではないリターン値です。『0が返ります。』『transaction_control特性の設定は,TRANSACTION-CONTROLの値に変更されました。』

エラー

次のような場合,TXSETTRANCTLはエラーリターンして,次のうちどれか一つの値を返します。これは,負のリターン値です。負のリターン値が返った場合は,TXSETTRANCTLはtransaction_control特性を変更しません。

TX-EINVAL
TRANSACTION-CONTROLに設定した値は,TX-UNCHAINEDでも,TX-CHAINEDでもありません。
TX-PROTOCOL-ERROR
TXSETTRANCTLは,適切でないコンテクストで呼ばれました(例えば,呼び出し元がまだTXOPENを呼び出していない)。
TX-FAIL
トランザクションマネジャで,回復できないエラーが起こりました。トランザクションマネジャが,すでにアプリケーションに代わって作業できないことがエラーの原因です。

参照

TXBEGIN,TXCOMMIT,TXOPEN,TXROLLBACK,TXINFORM

『OpenTP1で使う場合の注意事項』

  1. 『TXSETTRANCTLと,OpenTP1の CBLDCTRN の関数は併用できません。』