ローカルで発行された SYNCPT 動詞

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

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

  1. トランザクション プログラムは、基本会話とマップされた会話のどちらが使用されているかに応じて、SEND_DATAまたはMC_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_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 は、最初のRECEIVE_AND_WAITまたはMC_RECEIVE_AND_WAITのデータで状態を受信するために、VCB のrtn_status フィールドをAP_YESに設定することで、これら 2 つの動詞を 1 つの要求に結合できることに注意してください。

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

  9. Vendor API は、リモート TP から FORGET PS ヘッダーを受け取るために RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT 動詞として発行します。

  10. 別の RECEIVE_AND_WAIT または MC_RECEIVE_AND_WAIT 動詞が発行され、VCB の what_rcvd フィールドを AP_SEND に設定して送信方向を得ることができます。そして、VCB の rtn_status RECEIVE_AND_WAIT フィールドを AP_YES に設定することで、これら2つの動詞を組み合わせることができます。

  11. 送信指示を受信すると、ベンダー API は、OK リターン コードを使用して SYNCPT 動詞をローカル トランザクション プログラムに返します。