RECEIVE_LOG_DATA

RECEIVE_LOG_DATA谓词允许用户注册以接收与入站函数管理标头 7 (FMH7) 错误报告关联的日志数据。 谓词将缓冲区传递给 APPC,接收的任何日志数据都放置在该缓冲区中。 APPC 继续使用此缓冲区,因为连续 FMH7 到达,直到它与另一个缓冲区(即,直到事务程序 (TP) 发出另一个 RECEIVE_LOG_DATA 指定不同的缓冲区或根本没有缓冲区)。

请注意,TP 本身负责分配和释放缓冲区。 将缓冲区传递到 APPC 后,TP 应发出另一 个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。 请注意,此处的长度为零表示应取消任何以前的 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 标识符不匹配。