TXCLOSE
形式
DATA DIVISION. * Include TX definitions. 01 TX-RETURN-STATUS. COPY TXSTATUS. PROCEDURE DIVISION. CALL "TXCLOSE" USING TX-RETURN-STATUS.
機能
TXCLOSEは,互換性がある方法で,リソースマネジャの集合をクローズします。TXCLOSEでリソースをクローズすると,トランザクションマネジャがリソースマネジャ固有の情報をトランザクションマネジャ独自の方法で読み,この情報を,呼び出し元にリンクされているリソースマネジャに渡します。
TXCLOSEは,呼び出し元にリンクされているすべてのリソースマネジャをクローズします。TXCLOSEは,リソースマネジャ固有のクローズ呼び出しの代わりに発行され,アプリケーションプログラムからの互換性を阻害する呼び出しを不要にします。
リソースマネジャは,終了セマンティクスがそれぞれ異なっています。そのため,特定のリソースマネジャをクローズするのに必要な固有な情報は,それぞれのリソースマネジャから公開されてなければなりません。
アプリケーションスレッドで,もはやグローバルトランザクションに入るつもりがないときには,TXCLOSEを呼び出します。
呼び出し元がトランザクションモードにいる場合は,TXCLOSEは失敗します(TX-PROTOCOL-ERRORを返します)。すなわち,幾つかのリソースマネジャが現在のトランザクションに参加していない場合も,リソースマネジャはクローズされません。呼び出し元にリンクされているすべてのリソースマネジャがクローズできれば,TXCLOSEは正常にリターンします(TX-OKが返ります)。
『データ領域』
『●TX-RETURN-STATUS
TXCLOSEの実行結果が返されます。』
リターン値
成功した場合,TXCLOSEはTX-OKを返します。これは,負ではないリターン値です。『0が返ります。』『TXCLOSEの呼び出し元に結合していたリソースマネジャの集合はクローズされます。』
エラー
次のような場合,TXCLOSEはエラーリターンして,次のうちどれか一つの値を返します。これは,負のリターン値です。
- TX-PROTOCOL-ERROR
-
TXCLOSEは,適切でないコンテクストで呼ばれました(例えば,呼び出し元がトランザクションモードにある場合)。リソースマネジャは一つもクローズされません。
- TX-ERROR
-
トランザクションマネジャ,または一つ以上のリソースマネジャで一時的なエラーが起こりました。クローズできるリソースマネジャはすべてクローズされます。
- TX-FAIL
-
トランザクションマネジャ,または一つ以上のリソースマネジャで,回復できないエラーが起こりました。トランザクションマネジャ,または一つ以上のリソースマネジャのどちらか,またはその両方が,すでにアプリケーションに代わって作業できないことがエラーの原因です。
参照
TXOPEN
『OpenTP1で使う場合の注意事項』
-
『TXCLOSEでクローズできるのは,X/OpenのXAインタフェースに準拠しているリソースマネジャだけです。』