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で使う場合の注意事項』
-
『該当バージョンのOpenTP1では,TPETIMEがTP-STATUSにリターンすることはありません。』
-
『TP1/NET/OSI-TP-Extendedを使ったOSI TP通信をする場合は,会話型サービスの通信はできません。OSI TP通信で会話型サービスの通信を使った場合,システムの動作は保証しません。』