Bestätigungsverarbeitung (CPI-C)

Die Abfolge von Ereignissen für die Bestätigungsverarbeitung lautet wie folgt:

  1. Richten Sie die Synchronisierungsebene ein.

  2. Senden Sie eine Bestätigungsanfrage.

  3. Empfangen von Daten und Bestätigungsanforderung.

  4. Antworten Sie auf die Bestätigungsanforderung.

  5. Das Gespräch freigeben.

    Mithilfe der Bestätigungsverarbeitung sendet ein Transaktionsprogramm (TP) eine Bestätigungsanforderung mit den Daten. Der Partner-TP bestätigt den Empfang der Daten oder gibt an, dass ein Fehler aufgetreten ist. Jedes Mal, wenn die beiden TPs eine Bestätigungsanforderung und -antwort austauschen, werden sie synchronisiert.

Hinweis

Obwohl das Beispiel in diesem Abschnitt dies nicht zeigt, kann jeder TP Daten senden oder empfangen, unabhängig davon, ob es sich bei dem TP um den aufrufenden TP oder den aufrufbaren TP handelt.

In der folgenden Tabelle sind die Schritte dargestellt, die bei der Bestätigungsverarbeitung erforderlich sind.

Schritt Ausgestellt vom aufrufenden TP Ausgestellt vom aufrufbaren TP
1 Initialize_Conversation
2 Set_Sync_Level (sync_level=CM_CONFIRM)
3 Zuordnen
4 Daten_Senden
5 Confirm
6 Akzeptiere_Konversation
7 Empfang (data_received= CM_COMPLETE_DATA_RECEIVED) (status_received= CM_CONFIRM_RECEIVED)
8 Bestätigt
9 (return_code=CM_OK)
10 Daten_senden
11 Deallocate
12 Empfangen
13 (status_received= CM_CONFIRM_DEALLOC_RECEIVED)
14 Bestätigt
15 (return_code=CM_OK)

Einrichten der Synchronisierungsebene

Mit dem aufruf Set_Sync_Level können Sie die Standardsynchronisierungsebene der Unterhaltung außer Kraft setzen. Die Synchronisierungsebene ist eines der Merkmale des Gesprächs. Es gibt zwei mögliche Synchronisierungsebenen:

  • CM_CONFIRM, unter dem die TPs die Bestätigung des Empfangs von Daten anfordern und auf solche Anfragen antworten können.

  • CM_NONE ist der Standardwert, unter dem die Bestätigungsverarbeitung nicht erfolgt.

    Der Initialize_Conversation Anruf legt die Standardmerkmale einer Unterhaltung fest. Es gibt mehrere Aufrufe, die mit Set_ beginnen. Mit diesen Aufrufen können Sie die Standardmerkmale für Unterhaltungen außer Kraft setzen.

Senden einer Bestätigungsanforderung

Das Ausstellen des Anrufs "Bestätigen" hat zwei Auswirkungen:

  • Er löscht den Sendepuffer der lokalen LU und sendet alle Daten, die im Puffer enthalten sind, an den Partner-TP.

  • Es sendet eine Bestätigungsanforderung, die der Partner TP über den status_received-Parameter eines Receive-Aufrufs erhält.

    Nach der Ausführung von "Confirm" wartet der lokale TP auf die Bestätigung durch den Partner-TP.

Empfangen einer Bestätigungsanfrage

Der status_received Parameter des Empfangsaufrufs gibt alle zukünftigen Aktionen an, die vom lokalen TP benötigt werden.

Im Beispiel verfügt der erste Empfang über einen status_received von CM_CONFIRM_RECEIVED, der angibt, dass eine Bestätigung erforderlich ist, bevor der Partner-TP fortfahren kann.

Antworten auf eine Bestätigungsanforderung

Der Partner TP gibt den bestätigten Anruf aus, um den Empfang der Daten zu bestätigen. Dadurch wird der lokale TP freigegeben, um die Verarbeitung fortzusetzen.

Freigeben der Unterhaltung

Da die Synchronisierungsebene der Unterhaltung auf CM_CONFIRM festgelegt ist, sendet Deallocate eine Bestätigungsanforderung mit den daten, die aus dem Puffer geleert wurden.

Für den zweiten Empfangsanruf ist status_received CM_CONFIRM_DEALLOC_RECEIVED, der angibt, dass der Partner TP eine Bestätigung erfordert, die vom bestätigten Anruf generiert wird, bevor die Unterhaltung abgeglichen werden kann.