|
|
TPSEND(3cbl)
名前
TPSEND() - 会話接続でメッセージを送信するルーチン
形式
01 TPSVCDEF-REC.
COPY TPSVCDEF.
01 TPTYPE-REC.
COPY TPTYPE.
01 DATA-REC.
COPY User data.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPSEND" USING TPSVCDEF-REC TPTYPE-REC DATA-REC TPSTATUS-REC.
機能説明
TPSEND() は、別のプログラムにオープン接続を介してデータを送信するときに使用します。 このとき、呼び出し元がこの接続の制御権をもたなければなりません。 COMM-HANDLE は、データを送信するオープン接続を指定するものです。 COMM-HANDLE は、TPCONNECT() または TPSVCSTART() から返される通信ハンドルです。
DATA-REC は、送信するデータであり、LEN は、送信するデータの大きさを指定します。 ただし、DATA-REC が長さの指定を必要としないタイプのレコードである場合 LEN は無視されます (0 でかまいません)。 REC-TYPE が SPACES の場合は、DATA-REC および LEN は無視され、メッセージはデータなしで送信されます (これは、たとえば、データの送信なしに接続の制御権だけを与えるときなどに使用されます)。
次に、TPSVCDEF-REC の有効な設定の一覧を示します。
COMM-HANDLE に対してイベントが存在する場合、TPSEND() は呼び出し元のデータを送信せずに終了します。 イベントのタイプは、TPEVENT() に返されます。 TPSEND() の有効なイベントを次に示します。
これらのイベントはそれぞれ、即時切断通知 (すなわち、正常ではなく中途で終了) を示すので、処理途中のデータは失われます。 この接続に使用された通信ハンドルは無効になります。 2 つのプログラムが同じトランザクションに参加していた場合には、そのトランザクションに中途終了マークが付けられます。
戻り値
TPSEND() は正常終了時には、TP-STATUS に [TPOK] を設定します。 イベントが存在し、エラーが発生しなかった場合は、TPSEND() は TP-STATUS に [TPEEVENT] を設定します。 TP-STATUS に [TPEEVENT] が設定され、TP-EVENT が TPEV-SVCSUCCまたは TPEV-SVCFAIL の場合、APPL-RETURN-CODE には、TPRETURN() の一部として送信されたアプリケーション定義の値が入ります。
エラー
次の条件が発生すると、TPSEND() は異常終了し、TP-STATUS に次の値を設定します。特に説明がなければ、この障害は呼び出し元のトランザクションには影響しません。
関連項目
TPCONNECT(3cbl)、TPDISCON(3cbl)、TPRECV(3cbl)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|