マップされた会話の例 (CPI-C)
マップされた会話の次の例は、会話の開始、データの交換、および会話の終了に使用される共通プログラミング インターフェイス (CPI-C) 呼び出しを示しています。 呼び出しパラメーターはかっこ内にあります。
呼び出し元 TP によって発行される | 呼び出し可能 TP によって発行される |
---|---|
Initialize_Conversation | |
割り当てる | |
Send_Data | |
割り当て解除 | Accept_Conversation |
受信 | |
(data_received= | |
CM_COMPLETE_DATA_RECEIVED) | |
(return_code= | |
CM_DEALLOCATED_NORMAL) |
次の段落では、マップされた会話で使用される呼び出しについて説明します。
マップされた会話を開始するための呼び出し
会話を開始するために、呼び出し元トランザクション プログラム (TP) は次の呼び出しを発行します。
Initialize_Conversation、会話の特性を定義する値を設定するように CPI-C に要求します。 Initialize_Conversation呼び出しでは、メモリ内のサイド情報テーブル内のエントリに関連付けられているシンボリック宛先名を指定します。 サイド情報では、パートナー TP、パートナー LU、モード、セキュリティなどを指定します。
割り当て。 CPI-C が呼び出し側 TP と呼び出し可能 TP の間の会話を確立することを要求します。
呼び出し可能 TP は 、呼び出し元 TP との会話を開始する準備ができていることを CPI-C に通知する、Accept_Conversation呼び出しを発行します。
マップされた会話でデータを送信するための呼び出し
Send_Data呼び出しは、ローカル論理ユニット (LU) の送信バッファーに 1 つのデータ レコード (送信するアプリケーション データを含むレコード) を格納します。 パートナー TP へのデータ転送は、次のいずれかのイベントが発生するまで行われません。
送信バッファーがいっぱいになります。
送信側 TP は、CPI-C がバッファーをフラッシュし、パートナー TP にデータを送信するように強制する呼び出しを行います。
送信バッファーには、データ レコードに加えて、(データ レコードの前にある) 割り当て要求も含まれます。
前の例では、 割り当て解除 によって送信バッファーがフラッシュされ、割り当て要求とデータがパートナー TP に送信されます。 バッファーをフラッシュするその他の呼び出しは 、Confirm と Flush です。
マップされた会話でデータを受信するための呼び出し
Receive 呼び 出 しは、パートナー TP からデータ レコードと状態情報を受信します。 現在使用できるデータまたは状態情報がない場合、ローカル TP は既定でデータの到着を待機します。
Receiveの data_received パラメーターは、データを受信したかどうか、および受信した場合は、データが完了しているかどうかをプログラムに通知します。
マップされた会話を終了するための呼び出し
会話を終了するために、TP の 1 つが 割り当て解除を発行します。これにより、CPI-C は 2 つの TP 間の会話の割り当てを解除します。