数据传输中的演示文稿标头支持

对于基本对话,同步点命令通过使用 SEND_DATA 或 MC_SEND_DATA 谓词跨 LU 6.2 对话 (PS ) 发送。 所有演示文稿标头都包含指定长度为 1 的长度字段,这通常是非法的。 为了支持同步点对话,对 Host Integration Server 演示文稿服务组件进行了以下修改:

  • 同步级别 为 AP_SYNCPT 的基本对话中,不会拒绝指定常规数据流 (GDS) 可变长度为 1 的数据。 如果未AP_SYNCPT synclevel ,则会像以前一样拒绝同步级别。

  • 在映射会话上,PS 标头不会包装为映射的会话应用程序数据逻辑记录, (发送时 GDS 标识符0x12FF) ,也不会在收到 GDS 标头时将其去除。

  • 在映射对话中,应用程序负责提供完整的 PS 标头,包括长度字段。 同样,长度字段将包含在接收谓词返回的 PS 标头数据中。

    若要实现后者, MC_SEND_DATA 谓词和接收谓词 (MC_RECEIVE_AND_POSTMC_RECEIVE_AND_WAITMC_RECEIVE_IMMEDIATE) 需要进行如下修改:

  • 新参数 data_type添加到 MC_SEND_DATA 谓词。 如果将其设置为AP_APPLICATION (默认值(0x00) ),则数据将像往常一样作为应用程序数据 (GDS 标识符0x12FF) 发送。 当它设置为 AP_PS_HEADER 时,将如上所述发送数据。

  • 为接收谓词 的 what_rcvd 成员添加了以下两个新值,以指定接收的数据是 PS 标头:

    AP_PS_HEADER_COMPLETE

    AP_PS_HEADER_INCOMPLETE

  • 如果应用程序发出接收谓词 ,rtn_status 设置为 AP_YES,则 Host Integration Server 将结合AP_PS_HEADER_COMPLETE返回状态,AP_DEALLOCATE_NORMAL和AP_CONFIRM_DEALLOCATE除外。 这是为了防止当 COMMIT PS 标头到达并指示会话结束时,会话过早地与 LU 6.2 会话断开连接。

    供应商提供的同步点支持组件负责将这些 PS 标头转换为相应的同步点返回代码 (例如TAKE_SYNCPT) 。