リモートで発行された SYNCPT 動詞

リモートで発行された SYNCPT 動詞を示す画像。
リモートで発行された SYNCPT 動詞。

  1. ローカル TP は、リモート トランザクション プログラムからデータを受信するために、 RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT動詞 (基本またはマップされた会話が使用されているかどうかに応じて) を発行します。 ベンダー API は、動詞を Host Integration Server に透過的に渡します。

  2. RECEIVE_AND_WAITまたはMC_RECEIVE_AND_WAIT動詞は、what_rcvd = AP_PS_HEADERで完了します。 データ バッファーには PREPARE PS ヘッダーが含まれています。

  3. のRECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT 動詞は、リモート TP から送信指示を受け取るためにベンダー API によって発行されます。

  4. ベンダー API は、VCB の what_rcvd フィールドを TAKE_SYNCPT に設定して、トランザクション プログラムの RECEIVE_AND_WAIT またはMC_RECEIVE_AND_WAIT動詞を返します。

  5. トランザクション プログラムが SYNCPT 動詞を発行します。

  6. ベンダー API は、REQUEST_COMMIT PS ヘッダーを生成し、 SEND_DATA または MC_SEND_DATA 動詞を使用して送信します。 会話がマップされている場合、 VCB の data_type フィールドが AP_PS_HEADER に設定された MC_SEND_DATA 動詞が発行されます。

  7. その後、ベンダー API は、送信するリモート TP の方向を指定するために、RECEIVE_AND_WAITまたはMC_RECEIVE_AND_WAIT動詞を発行します。

  8. RECEIVE_AND_WAITまたはMC_RECEIVE_AND_WAIT動詞は、VCB の what_rcvd フィールドを AP_PS_HEADER に設定して完了します。 データ バッファーには COMMITTED PS ヘッダーが含まれています。

  9. 送信 する アクセス許可を取得するために 、別のRECEIVE_AND_WAITまたはMC_RECEIVE_AND_WAIT 動詞が発行されます。

  10. FORGET PS ヘッダーが準備され、リモート・トランザクション・プログラムに送信されます。

  11. FORGET はフラッシュされ、VCB の ptr_type フィールドが AP_FLUSH に設定された PREPARE_TO_RECEIVE または MC_PREPARE_TO_RECEIVE を発行することによって、リモート・トランザクション・プログラムに指示されます。

  12. PREPARE_TO_RECEIVEまたはMC_PREPARE_TO_RECEIVE動詞が完了すると、ベンダー API は SYNCPT 動詞をローカル トランザクション プログラムに返します。