本地颁发的 SYNCPT 谓词

本部分提供了包含本地发出的谓词的谓词序列示例。

显示本地发出的 SYNCPT 谓词的图像。
本地发出的 SYNCPT 谓词。

  1. 交易程序根据使用的是基本会话还是映射会话发出 SEND_DATAMC_SEND_DATA 谓词。

  2. SEND_DATA 或 MC_SEND_DATA VCB 通过供应商 API 以透明方式传递到 Host Integration Server。 谓词完成后,Host Integration Server 中的返回代码将返回到交易程序。

  3. 交易程序向供应商 API 发出 SYNCPT 谓词。

  4. 供应商 API 创建一个 PREPARE PS 标头,并通过发出 SEND_DATA 或 MC_SEND_DATA 谓词来传输该标头。 对于映射的会话,MC_SEND_DATA VCB 的“data_type”字段必须设置为“AP_PS_HEADER”。

  5. 完成谓词 SEND_DATA 或 MC_SEND_DATA 后,供应商 API 会发出 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT 谓词。

  6. 通过将 VCB 的“what_rcvd”字段值设置为“AP_PS_HEADER”来完善谓词 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT。 数据缓冲区使用接收到的 REQUEST_COMMIT PS 标头填充。

  7. 发出另一个 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 谓词以获取发送方向。 请注意,供应商 API 可以通过将 VCB 的“rtn_status”字段设置为“AP_YES”将这两个谓词合并为单个请求,以便接收第一个 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT 上数据的状态。

  8. 然后,将使用 SEND_DATAMC_SEND_DATA 谓词传输 COMMITTED PS 标头。

  9. 供应商 API 发出 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 谓词,以便从远程 TP 接收 FORGET PS 标头。

  10. 将 VCB 的“what_rcvd”字段设置为“AP_SEND”可发出另一个 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 谓词,以获取发送方向(同样可以将 VCB 的“rtn_status RECEIVE_AND_WAIT”字段设置为“AP_YES”来合并这两个谓词)。

  11. 收到发送指示时,供应商 API 使用 OK 返回代码将 SYNCPT 谓词发送回本地交易程序。