次の方法で共有


確認処理 (CPI-C)

確認処理のイベントのシーケンスは次のとおりです。

  1. 同期レベルを確立します。

  2. 確認要求を送信します。

  3. データと確認要求を受け取ります。

  4. 確認要求に応答します。

  5. 会話の割り当てを解除します。

    確認処理を使用して、トランザクション プログラム (TP) は、データを含む確認要求を送信します。 パートナー TP は、データの受信を確認するか、エラーが発生したことを示します。 2 つの TP が確認要求と応答を交換するたびに同期されます。

Note

このセクションの例ではこれを示していませんが、TP が呼び出し元 TP か呼び出し可能 TP かに関係なく、どの TP でもデータを送受信できます。

次の表は、確認処理に関連する手順を示しています。

手順 呼び出し元 TP によって発行される 呼び出し可能 TP によって発行される
1 Initialize_Conversation
2 Set_Sync_Level (sync_level=CM_CONFIRM)
3 割り当てる
4 Send_Data
5 Confirm
6 Accept_Conversation
7 Receive (data_received= CM_COMPLETE_DATA_RECEIVED) (status_received= CM_CONFIRM_RECEIVED)
8 確認済み
9 (return_code=CM_OK)
10 Send_Data
11 割り当て解除
12 受信
13 (status_received= CM_CONFIRM_DEALLOC_RECEIVED)
14 確認済み
15 (return_code=CM_OK)

同期レベルの確立

Set_Sync_Level呼び出しでは、会話の既定の同期レベルをオーバーライドできます。 同期レベルは、会話の特性の 1 つです。 可能な同期レベルは 2 つあります。

  • CM_CONFIRM、TP はデータの受信確認を要求し、そのような要求に応答できます。

  • CM_NONE、確認処理が実行されない既定値です。

    Initialize_Conversation呼び出しは、会話の既定の特性を設定します。 Set_で始まる呼び出しがいくつかあります。 これらの呼び出しを使用すると、既定の会話特性をオーバーライドできます。

確認要求の送信

Confirm 呼び出しを発行すると、次の 2 つの効果があります。

  • ローカル LU の送信バッファーをフラッシュし、バッファーに含まれるすべてのデータをパートナー TP に送信します。

  • パートナー TP が Receive 呼び出しの status_received パラメーターを介して受信する確認要求を送信 します

    Confirm を発行すると、ローカル TP はパートナー TP からの確認を待機します。

確認要求の受信

Receive 呼び出しの status_received パラメーターは、ローカル TP に必要な今後のアクションを示します。

この例では、最初の Receive に status_received CM_CONFIRM_RECEIVEDがあり、パートナー TP を続行する前に確認が必要であることを示しています。

確認要求への応答

パートナー TP は、 確認済 みの呼び出しを発行して、データの受信を確認します。 これにより、ローカル TP が処理を再開できます。

会話の割り当てを解除する

会話の同期レベルが CM_CONFIRM に設定されているため、 割り当て解除は 、バッファーからフラッシュされたデータを含む確認要求を送信します。

2 番目の 受信 呼び出しでは、 status_received がCM_CONFIRM_DEALLOC_RECEIVEDされ、会話を割り当て解除する前に、 確認された 呼び出しによって生成された確認がパートナー TP に必要であることを示します。