bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo COBOL リファレンス

 Previous Next Contents View as PDF  

TPDISCON(3cbl)

名前

TPDISCON()−会話接続の切断

形式

01 TPSVCDEF-REC.
COPY TPSVCDEF.

01
TPSTATUS-REC.
COPY TPSTATUS.

CALL "TPDISCON" USING
TPSVCDEF-REC TPSTATUS-REC.

機能説明

TPDISCON() は、通信ハンドル、TPSVCDEF-REC 内の COMM-HANDLE で指定された接続を即座に切断し、接続の他方の側で TPEV-DISCONIMM イベントを生成します。

TPDISCON() は会話のイニシエータからしか呼び出せません。TPDISCON() は、呼び出しに使用された通信ハンドルに対応する会話サービスの中からは呼び出せません。会話サービスは TPRETURN() を使用して、会話の該当部分が完了したことを通知しなければなりません。同様に、会話サービスとのやりとりを行うプログラムが TPDISCON() を発行できる場合でも、正しい結果を保証するためには、そのサービスに TPRETURN() で接続を切断させるようにしてください。接続の起動元がサーバである場合には、TPRETURN() を使用し正常に切断を行うこともできます。接続の起動元がトランザクション・モードにある場合、TPCOMMIT() または TPABORT() を使用して、接続を正常に終了させることができます。

TPDISCON() を使用すると、接続はただちに切断されます (すなわち、正常終了ではなく、中途終了)。したがって、あて先に届いていないデータは失われます。TPDISCON() は、接続の他方の側のプログラムが呼び出し元のトランザクションに参加している場合でも発行されます。この場合、このトランザクションは中途終了します。また、呼び出し元は、TPDISCON() が呼び出されるときにその接続の制御権をもっている必要はありません。

戻り値

TPDISCON() は正常終了時には、TP-STATUS に [TPOK] を設定します。

エラー

次の条件が発生すると、TPDISCON() は異常終了し、TP-STATUS に次の値を設定します。

[TPEBADDESC]

COMM-HANDLE が無効であるか、会話サービスに使用された通信ハンドルです。

[TPETIME]

このエラー・コードは、タイムアウトが発生したか、または現在のトランザクションがすでに「ロールバックのみ」とマークされているにもかかわらず TPDISCON() が試行されたことを示します。

呼び出し元がトランザクション・モードにある場合、トランザクションはすでに「ロールバックのみ」になっているか、またはタイムアウトが発生しています (中途終了マークが付けられる)。呼び出し元のトランザクションで接続時に TPDISCON() を呼び出すと、TPDISCON() が正常に呼び出されても、トランザクションが「アボートのみ」とマークされる可能性があります。

呼び出し元がトランザクション・モードにない場合、ブロッキング・タイムアウトが発生しています。ブロッキング・タイムアウトは、TPBLOCKTPTIME の両方が指定された場合にのみ発生します。

トランザクション・タイムアウトが発生すると、1 つの例外を除き、トランザクションがアボートされない限り、会話を継続したり、新しいリクエストを送信したり、未処理の応答を受信しようとしても、TPETIME で異常終了します。例外は、ブロックされず、応答を期待せず、かつ呼び出し元のトランザクションのために送信されない要求 (つまり、TPNOTRANTPNOBLOCK および TPNOREPLY が設定された状態で TPACALL() が呼び出される場合) です。

サービスがトランザクション内部で失敗すると、そのトランザクションは TX_ROLLBACK_ONLY 状態になります。ほとんどの場合、この状態はタイムアウトと同じものとして扱われます。このトランザクションの以降の ATMI 呼び出しは、TPETIME で異常終了します (前の段落で説明した例外を除く)。

[TPEPROTO]

TPDISCON() の呼び出し方法が不適切です。

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。エラーの正確な内容がログ・ファイルに書き込まれます。通信ハンドルは無効になります。

[TPEOS]

オペレーティング・システムのエラーが発生しました。通信ハンドルは無効になります。

関連項目

TPABORT(3cbl)TPCOMMIT(3cbl)TPCONNECT(3cbl)TPRECV(3cbl)TPRETURN(3cbl)TPSEND(3cbl)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy