Hitachi

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


TPDISCON

〈このページの構成〉

名称

会話型サービスとのコネクションの切断

形式

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

機能

TPDISCONは,COMM-HANDLEで示すコネクションをすぐに切断して,他端点のコネクションにTPEV-DISCONIMMのイベントを通知します。

TPDISCONは,会話を始めた側(オリジネータ)からだけしか呼び出せません。会話型サービス内で,このサービスを呼び出した通信ハンドルを使って,TPDISCONを呼び出せません。むしろ,会話型サービスは,会話の一方が完了したことを意味するためにTPRETURNを使わなければなりません。同様に,会話型サービスと会話しているプログラムはTPDISCONを使えますが,結果を確実にするために望ましい方法は,サービスにTPRETURNでコネクションを終わらせてもらうことです。

TPDISCONは,コネクションをすぐに切断します(正常終了ではなく異常終了として)。送信先に届いていないデータは捨てられます。コネクションの他端点のプログラムが,呼び出し側のトランザクションに参加していても,TPDISCONを呼び出せます。この場合,トランザクションはロールバックします。また,TPDISCONが呼ばれたとき,呼び出し側は,コネクションの制御権を持っている必要はありません。

『データ領域』

『●TPSVCDEF-REC

COMM-HANDLEに,強制終了するコネクションの通信ハンドルを設定します。』

『●TPSTATUS-REC

TPDISCONの実行結果を示すリターン値が設定されます。』

リターン値

成功した場合,TPDISCONはTP-STATUSにTPOKを設定します。

エラー

次のような場合,TPDISCONはエラーリターンして,次のうちどれか一つの値をTP-STATUSに設定します。

TPEBADDESC

COMM-HANDLEが間違っているか,または,呼び出された会話型サービスの通信ハンドルです。

TPETIME

タイムアウトが起こりました。この通信ハンドルは無効になります。

TPEPROTO

TPDISCONが間違った状況で呼ばれました。

TPESYSTEM

コミュニケーションリソースマネジャシステムでエラーが起こりました。厳密なエラーの性質は,product-specificな方法で定義されます。

TPEOS

オペレーティングシステムにエラーが起こりました。厳密なエラーの性質は,product-specificな方法で定義されます。

関連項目

TPCONNECT,TPRECV,TPRETURN,TPSEND

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

  1. 『該当バージョンのOpenTP1では,TPETIMEがTP-STATUSにリターンすることはありません。』

  2. 『TP1/NET/OSI-TP-Extendedを使ったOSI TP通信をする場合は,会話型サービスの通信はできません。OSI TP通信で会話型サービスの通信を使った場合,システムの動作は保証しません。』