SYNCPT 動詞於本地發布

本節提供一個動詞序列範例,其中的動詞是在本地執行的。

展示本地發出的 SYNCPT 動詞的圖片。
SYNCPT 指令在本地執行。

  1. 交易程式會根據是使用基本對話還是映射對話,發出動詞SEND_DATA或MC_SEND_DATA。

  2. SEND_DATA或MC_SEND_DATA VCB 會透過廠商 API 透明傳遞給主機整合伺服器。 當動詞完成時,主機整合伺服器的回傳代碼會回傳給交易程式。

  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_WAIT 或 MC_RECEIVE_AND_WAIT 動詞。

  6. RECEIVE_AND_WAIT或MC_RECEIVE_AND_WAIT動詞以 VCB 的what_rcvd欄位結束,且值為 AP_PS_HEADER。 資料緩衝區會被接收到的 REQUEST_COMMIT PS 標頭填入。

  7. 再次發出 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 動詞以獲取發送方向。 請注意,廠商 API 可以透過將 VCB 的 rtn_status 欄位設為 AP_YES,將這兩個操作合併成一個請求,以便在第一次 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 時接收狀態資料。

  8. 接著會以 SEND_DATA 或 MC_SEND_DATA 動詞傳送一個已承諾的 PS 標頭。

  9. 供應商 API 會發出一個 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 指令,以接收來自遠端 TP 的 FORGET PS 表頭。

  10. 另一個 RECEIVE_AND_WAIT 或 MC_RECEIVE_AND_WAIT 動詞使用 VCB 的 what_rcvd 欄位設為 AP_SEND,以取得發送方向(VCB 的 rtn_status RECEIVE_AND_WAIT 欄位也可以設為 AP_YES 以將這兩個動詞結合)。

  11. 當收到發送指示時,廠商 API 會將 SYNCPT 動詞以 OK 回傳碼回傳給本地交易程式。