|
|
TPCALL(3cbl)
名前
TPCALL() - サービスへのメッセージの同期送信を行うルーチン
形式
01 TPSVCDEF-REC.
COPY TPSVCDEF.
01 ITPTYPE-REC.
COPY TPTYPE.
01 IDATA-REC.
COPY User data.
01 OTPTYPE-REC.
COPY TPTYPE.
01 ODATA-REC.
COPY User data.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPCALL" USING TPSVCDEF-REC ITPTYPE-REC IDATA-REC OTPTYPE-REC ODATA-REC TPSTATUS-REC.
機能説明
TPCALL() は要求を送り、それと同期してその応答を待ちます。 このルーチンへの呼び出しは、TPACALL()を呼び出した後即座に TPGETRPLY() を呼び出すのと同じことです。 TPCALL() は、 TPSVCDEF-REC 内の SERVICE-NAME で指定する要求/応答型サービスに要求を送ります。 この要求は、以前になされた TPSPRIO() の呼び出しで変更されていないかぎり、SERVICE-NAME に定義されている優先順位で送信されます。要求のデータ部分は、IDATA-REC によって指定され、ITPTYPE-REC 内の LEN は、送信する IDATA-REC の大きさを指定します。 なお、IDATA-REC は、長さの指定を必要としないタイプのレコードを指している場合、ITPTYPE-REC 内の LEN は無視されます (0 でかまいません)。 ITPTYPE-REC 内の REC-TYPE が SPACES の場合には、IDATA-REC および ITPTYPE-REC 内の LEN は無視され、データ部なしで要求が送信されます。 ITPTYPE-REC 内の REC-TYPE が STRING のときに ITPTYPE-REC 内の LEN が 0 の場合にも、データ部なしで要求が送信されます。 ITPTYPE-REC 内の REC-TYPE および ITPTYPE-REC 内の SUB-TYPE は、SERVICE-NAME が認識する REC-TYPE および SUB-TYPE のいずれかと一致しなければなりません。
ODATA-REC は応答が読み込まれる場所を指定し、入力時の OTYPE-REC 内の LEN は ODATA-REC に移動されるべき最大バイト数を示します。 同じレコードを送信と受信の両方に使用する場合には、ODATA-REC を IDATA-REC に REDEFINED してください。 TPCALL() の正常終了時には、OTPTYPE-REC 内の LEN には、ODATA-REC に実際に移動されたバイト数が入ります。 OTPTYPE-REC 内の REC-TYPE および OTPTYPE-REC 内の SUB-TYPE には、応答のタイプおよびサブタイプがそれぞれ入っています。 応答が ODATA-REC より大きい場合は、ODATA-REC にはこのレコードに入るバイト数分のみが入ります。 応答の残りは破棄され、TPCALL() は TPTRUNCATE() を設定します。
OTPTYPE-REC 内の LEN が正常終了時に 0 であると、応答にはデータ部がなく、ODATA-REC は変更されていません。 OTPTYPE-REC 内の LEN が入力時に 0 であると、エラーになります。
次に、TPSVCDEF-REC の有効な設定の一覧を示します。
戻り値
TPCALL() は正常終了時には、TP-STATUS に [TPOK] を設定します。 TP-STATUS に TPOK または TPESVCFAIL が設定されると、TPSTATUS-REC 内の APPL-RETURN-CODE に TPRETURN() の一部として送信されたアプリケーション定義の値が入ります。
着信メッセージの大きさが入力時に LEN に指定されたものより大きい場合は、TPTRUNCATE() が設定され、LEN 分のデータのみが ODATA-REC に移動されて残りのデータは破棄されます。
エラー
次の条件が発生すると、TPCALL() は異常終了し、TP-STATUS に次の値を設定します。特に説明がなければ、この障害は呼び出し元のトランザクションには影響しません。
関連項目
TPACALL(3cbl)、TPFORWAR(3cbl)、TPGPRIO(3cbl)、TPRETURN(3cbl)、TPSPRIO(3cbl)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|