Freigeben über


Bestätigungsverarbeitung (CPI-C)

Die Reihenfolge der Ereignisse für die Bestätigungsverarbeitung sieht wie folgt aus:

  1. Richten Sie die Synchronisierungsebene ein.

  2. Senden Sie eine Bestätigungsanforderung.

  3. Empfangen von Daten und Bestätigungsanforderung.

  4. Antworten Sie auf die Bestätigungsanforderung.

  5. Deallocate the conversation.

    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 werden die Schritte veranschaulicht, die mit der Bestätigungsverarbeitung verbunden sind.

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

Einrichten der Synchronisierungsebene

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

  • CM_CONFIRM, unter denen die TPs eine Bestätigung des Eingangs der Daten anfordern und auf solche Anfragen antworten können.

  • CM_NONE, der Standard, 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 Standardunterhaltungsmerkmale überschreiben.

Senden einer Bestätigungsanforderung

Das Ausgeben des Bestätigungsaufrufs hat zwei Auswirkungen:

  • Der Sendepuffer der lokalen LU wird geleert und alle im Puffer enthaltenen Daten an den Partner-TP gesendet.

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

    Nach der Ausstellung "Bestätigen" wartet der lokale TP auf die Bestätigung durch den Partner-TP.

Empfangen einer Bestätigungsanforderung

Der status_received-Parameter des Receive-Aufrufs gibt alle zukünftigen Aktionen an, die für den lokalen TP erforderlich sind.

Im Beispiel weist der erste Empfang eine status_received von CM_CONFIRM_RECEIVED auf, die angibt, dass eine Bestätigung erforderlich ist, bevor der Partner-TP fortgesetzt werden kann.

Antworten auf eine Bestätigungsanforderung

Der Partner tp gibt den Bestätigten Aufruf aus, um den Empfang der Daten zu bestätigen. Dadurch wird der lokale TP zur Fortsetzung der Verarbeitung freigegeben.

Behandeln der Zuordnung der Unterhaltung

Da die Synchronisierungsebene der Unterhaltung auf CM_CONFIRM festgelegt ist, sendet Deallocate eine Bestätigungsanforderung, wobei die Daten aus dem Puffer geleert werden.

Für den zweiten Anruf empfangen ist status_received CM_CONFIRM_DEALLOC_RECEIVED, was angibt, dass der Partner-TP eine Bestätigung benötigt, die durch den bestätigten Anruf generiert wird, bevor die Konversation zugeordnet werden kann.