Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


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}』

  • TX-UNCHAINED

    このフラグは,TXCOMMITとTXROLLBACKが呼び出し元にリターンする前に,新たなトランザクションを開始しないことを示します。呼び出し元は,新しいトランザクションを開始する際には,TXBEGINを発行しなければなりません。

  • TX-CHAINED

    このフラグは,TXCOMMITとTXROLLBACKが呼び出し元にリターンする前に,新しいトランザクションを開始することを示します。

リターン値

成功した場合,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 の関数は併用できません。』