RECEIVE_LOG_DATA
RECEIVE_LOG_DATA動詞を使用すると、ユーザーは登録して、受信関数管理ヘッダー 7 (FMH7) エラー レポートに関連付けられたログ データを受信できます。 動詞はバッファーを APPC に渡し、受信したすべてのログ データがそのバッファーに配置されます。 APPC は、別の FMH7 が提供されるまで (つまり、トランザクション プログラム (TP) が別のバッファーを指定するか、バッファーをまったく指定しない RECEIVE_LOG_DATA を発行するまで)、連続する FMH7 が到着すると、このバッファーを引き続き使用します。
TP 自体は、バッファーの割り当てと解放を担当することに注意してください。 バッファーが APPC に渡された後、TP は新しいバッファーまたは長さ 0 のバッファーを指定 する別のRECEIVE_LOG_DATA を発行するか、メッセージ交換が完了するまで待ってから元のバッファーを解放する必要があります。
FMH7 を受信すると、APPC は関連するエラー・ログ一般データ・ストリーム (GDS) をバッファーにコピーします。 関連するエラー ログ変数がない場合、バッファーはゼロになります。受信動詞からのリターン コードがエラーを受信したことを示す場合は常に、バッファーをチェックするのは TP です。
次の構造体は、 RECEIVE_LOG_DATA 動詞で使用される動詞制御ブロック (VCB) について説明します。
構文
struct receive_log_data {
unsigned short opcode;
unsigned char opext;
unsigned char reserv1;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
unsigned short log_dlen;
unsigned char FAR * log_dptr;
};
メンバー
opcode
指定されたパラメーター。 動詞操作コード (AP_B_RECEIVE_LOG_DATA) を指定します。
opext
指定されたパラメーター。 動詞操作拡張機能AP_BASIC_CONVERSATIONを指定します。
reserv1
予約済みフィールド。
primary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるプライマリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。
secondary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるセカンダリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。
tp_id
指定されたパラメーター。 ローカル TP を識別します。 このパラメーターの値は、呼び出し元の TP で TP_STARTED するか、呼び出された TP のRECEIVE_ALLOCATE によって返されます。
conv_id
指定されたパラメーター。 会話識別子を提供します。 このパラメーターの値は、呼び出し元 TP の ALLOCATE または呼び出された TP のRECEIVE_ALLOCATE によって返されます。
log_dlen
指定されたパラメーター。 APPC がバッファーに格納できるログ データの最大長 (つまりバッファー サイズ) を指定します。 範囲は 0 ~ 65535 です。 ここでの長さが 0 の場合は、前の RECEIVE_LOG_DATA 動詞を取り消す必要があることを示します。
log_dptr
指定されたパラメーター。 APPC がログ データの格納に使用するバッファーのアドレスを指定します。
リターン コード
AP_OK
プライマリ リターン コード。動詞は正常に実行されました。
AP_PARAMETER_CHECK
プライマリ リターン コード。パラメーター エラーのため、動詞は実行されませんでした。
AP_BAD_CONV_ID
セカンダリ リターン コード。 conv_id の値が、APPC によって割り当てられた会話識別子と一致しませんでした。
AP_BAD_TP_ID
セカンダリ リターン コード。 tp_id の値が、APPC によって割り当てられた TP 識別子と一致しませんでした。