Hitachi

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


TXSETTIMEOUT

〈このページの構成〉

名称

transaction_timeout特性の設定

形式

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

機能

TXSETTIMEOUTは,timeoutに指定した値にtransaction_timeout特性を設定します。transaction_timeout特性の値には,トランザクションを完了させなければならない時間,つまりトランザクションをタイムアウトする時間を設定します。ここで示す時間とは,UAPがTXBEGINを呼び出してからTXCOMMITを呼び出すまで,またはTXBEGINを呼び出してからTXROLLBACKを呼び出すまでの時間を示します。

TXSETTIMEOUTは,呼び出し元がトランザクションモードにいるかどうかに関係なく呼び出せます。TXSETTIMEOUTがトランザクションモードから呼び出されても,新しいタイムアウトの値は,次のトランザクションまで効果を発揮しません。

transaction_timeout特性の初期設定は,0(タイムアウトなし)です。

『システム定義の trn_expiration_time に値を指定している場合は,その値が初期設定になります。』

『データ領域』

『●TX-INFO-AREA

TRANSACTION-TIMEOUTで指定した秒数は,トランザクションがタイムアウトする時間を設定します。秒数は,そのシステムで定義されたS9(9) COMP-5の最大値の値が設定できます。』

『●TX-RETURN-STATUS

TXSETTIMEOUTの実行結果が返されます。』

リターン値

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

エラー

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

TX-EINVAL

TRANSACTION-TIMEOUTに設定した値が間違っています。

TX-PROTOCOL-ERROR

TXSETTIMEOUTは,適切でないコンテクストで呼ばれました(例えば,呼び出し元がTXOPENをまだ呼び出していない)。

TX-FAIL

トランザクションマネジャで,回復できないエラーが起こりました。トランザクションマネジャが,すでにアプリケーションに代わって作業できないことがエラーの原因です。

参照

TXBEGIN,TXCOMMIT,TXOPEN,TXROLLBACK,TXINFORM

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

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