本部分提供了包含本地发出的谓词的谓词序列示例。
本地发出的 SYNCPT 谓词。
交易程序根据使用的是基本会话还是映射会话发出 SEND_DATA 或 MC_SEND_DATA 谓词。
SEND_DATA 或 MC_SEND_DATA VCB 通过供应商 API 以透明方式传递到 Host Integration Server。 谓词完成后,Host Integration Server 中的返回代码将返回到交易程序。
交易程序向供应商 API 发出 SYNCPT 谓词。
供应商 API 创建一个 PREPARE PS 标头,并通过发出 SEND_DATA 或 MC_SEND_DATA 谓词来传输该标头。 对于映射的会话,MC_SEND_DATA VCB 的“data_type”字段必须设置为“AP_PS_HEADER”。
完成谓词 SEND_DATA 或 MC_SEND_DATA 后,供应商 API 会发出 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 谓词。
通过将 VCB 的“what_rcvd”字段值设置为“AP_PS_HEADER”来完善谓词 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT。 数据缓冲区使用接收到的 REQUEST_COMMIT PS 标头填充。
发出另一个 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 谓词以获取发送方向。 请注意,供应商 API 可以通过将 VCB 的“rtn_status”字段设置为“AP_YES”将这两个谓词合并为单个请求,以便接收第一个 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 上数据的状态。
然后,将使用 SEND_DATA 或 MC_SEND_DATA 谓词传输 COMMITTED PS 标头。
供应商 API 发出 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 谓词,以便从远程 TP 接收 FORGET PS 标头。
将 VCB 的“what_rcvd”字段设置为“AP_SEND”可发出另一个 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 谓词,以获取发送方向(同样可以将 VCB 的“rtn_status RECEIVE_AND_WAIT”字段设置为“AP_YES”来合并这两个谓词)。
收到发送指示时,供应商 API 使用 OK 返回代码将 SYNCPT 谓词发送回本地交易程序。