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 識別子と一致しませんでした。