|
|
TPGETRPLY(3cbl)
名前
TPGETRPLY() - 非同期メッセージからの応答の取得
形式
01 TPSVCDEF-REC.
COPY TPSVCDEF.
01 TPTYPE-REC.
COPY TPTYPE.
01 DATA-REC.
COPY User data
01 TPSTATUS-REC.
COPY TPSTATUS
CALL "TPGETRPLY" USING TPSVCDEF-REC TPTYPE-REC DATA-REC TPSTATUS-REC.
機能説明
TPGETRPLY() は、事前に送られた要求の応答を返します。 TPGETRPLY() は、特定の要求に対する応答、または取得可能なすべての応答を返します。 選択可能なこの 2 つについて、ここで説明します。
DATA-REC は、応答を読み込む場所を指定し、TPTYPE-REC 内の LEN は、DATA-REC に移動すべき最大バイト数を示します。 また、TPTYPE-REC の REC-TYPE を指定する必要があります。 TPGETRPLY() の正常終了時には、実際に DATA-REC に移動されたバイト数が LEN に入り、TPTYPE-REC 内の REC-TYPE および SUB-TYPE には、それぞれデータのタイプおよびサブタイプが入ります。 応答が DATA-REC より大きい場合は、DATA-REC にはこのレコードに入るバイト数分のみが入ります。 応答の残りは破棄され、TPGETRPLY() は TPTRUNCATE() を設定します。
正常終了時に LEN が 0 である場合は、応答にはデータ部がなく、DATA-REC は変更されていません。 入力時に LEN を 0 にすると、エラーになります。
次に、TPSVCDEF-REC の有効な設定の一覧を示します。
特に説明がなければ、COMM-HANDLE は対応する応答が受信された後は、無効になります。
戻り値
TPGETRPLY() は正常終了時には、TP-STATUS に [TPOK] を設定します。 TP-STATUS に TPOK() または TPESVCFAIL() が設定されると、TPSTATUS-REC 内の APPL-RETURN-CODE に TPRETURN() の一部として送信されたアプリケーション定義の値が入ります。 着信メッセージの大きさが入力時に LEN に指定されたより大きい場合は、TPTRUNCATE() が設定され、LEN 分のデータのみが DATA-REC に移動されて残りのデータは破棄されます。
エラー
次の条件が発生すると、TPGETRPLY() は異常終了し、TP-STATUS を以下のように設定します。 TPGETHANDLE が設定されている場合は、特に明記されないかぎり、COMM-HANDLE は無効になります。 TPGETANY が設定されていると、COMM-HANDLE は障害を起こした応答の通信ハンドルを示します。応答を取り出せるようになる前にエラーが発生した場合には、COMM-HANDLE は 0 です。また、特に明記しないかぎり、この異常終了は呼び出し元のトランザクションには影響しません。
関連項目
TPACALL(3cbl)、TPCANCEL(3cbl)、TPRETURN(3cbl)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|