次の方法で共有


ローカルに発行された SYNCPT Verb

このセクションでは、ローカルに発行された Verb での Verb シーケンスの例を示します。

ローカルで発行された SYNCPT 動詞を示す画像。
ローカルに発行された SYNCPT Verb。

  1. 基本の会話またはマップされた会話のどちらが使用されているかに応じて、トランザクション プログラムにより SEND_DATA または MC_SEND_DATA Verb が発行されます。

  2. SEND_DATA または MC_SEND_DATA の VCB が、ベンダー API を介して Host Integration Server に透過的に渡されます。 Verb が完了すると、Host Integration Server からのリターン コードがトランザクション プログラムに返されます。

  3. トランザクション プログラムによって、ベンダー API に SYNCPT Verb が発行されます。

  4. ベンダ API で、PREPARE PS ヘッダーが作成され、SEND_DATA または MC_SEND_DATA Verb を発行してそれが送信されます。 マップされたメッセージ交換の場合は、MC_SEND_DATA VCB の data_type フィールドを AP_PS_HEADER に設定する必要があります。

  5. SEND_DATA または MC_SEND_DATA Verb が完了すると、ベンダー API により RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT Verb が発行されます。

  6. RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT Verb は、VCB の what_rcvd フィールドが値 AP_PS_HEADER になると完了します。 データ バッファーには、受信した REQUEST_COMMIT PS ヘッダーが設定されます。

  7. 送信方向を取得するため、別の RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT Verb が発行されます。 ベンダー API では、最初の RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT でデータの状態を受信するため、VCB の rtn_status フィールドを AP_YES に設定することで、これら 2 つの Verb を 1 つの要求に結合できることに注意してください。

  8. その後、SEND_DATA または MC_SEND_DATA Verb を使用して COMMITTED PS ヘッダーが送信されます。

  9. ベンダー API により、リモート TP から FORGET PS ヘッダーを受信するため、RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT Verb が発行されます。

  10. 送信方向を取得するため、VCB の what_rcvd フィールドを AP_SEND に設定して、別の RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT Verb が発行されます (ここでも、VCB の rtn_status フィールドを AP_YES に設定して、これら 2 つの Verb を結合できます)。

  11. 送信通知を受信すると、ベンダー API により OK リターン コードを使用してローカル トランザクション プログラムに SYNCPT Verb が返されます。