Show TOC Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Beispiel: Integrationsprozess für Anschlussflugbuchungen  Dokument im Navigationsbaum lokalisieren

Der Integrationsprozess MultipleFlightBookingCoordination wird verwendet, um bei einer Buchung für einen Flug mit Anschlussflug die Buchungen der einzelnen Teilstrecken zu koordinieren.

Der Integrationsprozess trennt den Buchungsauftrag in Einzelbuchungsaufträge (für die einzelnen Teilstrecken) auf. Die Einzelbuchungsaufträge werden parallel an die entsprechenden Fluggesellschaften gesendet, und die Fluggesellschaften antworten mit einer (positiven oder negativen) Buchungsbestätigung. Liegt für alle Teilstrecken eine positive Buchungsbestätigung vor, bündelt der Integrationsprozess die Einzelbestätigungen zu einer Gesamtbuchungsbestätigung und sendet diese an das Reisebüro. Konnte mindestens eine Teilstrecke nicht gebucht werden, sendet der Integrationsprozess eine negative Gesamtbuchungsbestätigung an das Reisebüro. In diesem Fall bereits gebuchte Teilstrecken werden bei der entsprechenden Fluggesellschaft storniert. Die Einzelbuchung und die zugehörige Buchungsbestätigung sind über eine Korrelation verknüpft. Die Korrelation ist über die Reisebüronummer und die Auftragsnummer definiert.

Der Integrationsprozess wird auf dem SAP-System des Integration Servers ausgeführt.

Sie finden den Integrationsprozess im Integration Repository unter SAP BASIS   SAP BASIS 7.00 im Namensraum http://sap.com/xi/XI/Demo/Agency unter MultipleFlightBookingCoordination.

Prozessschritte

Folgende Tabelle gibt einen Überblick über die einzelnen Schritte des Integrationsprozesses:

Schritttyp

Schrittname

Beschreibung

Empfangsschritt

ReceiveMultipleBooking

Der Empfang der Message MultipleBooking für die Buchung des Gesamtflugs startet den Prozess.

Transformationsschritt

SplitMultipleBookingOrder

Trennt die Message für die Buchung des Gesamtflugs auf und erzeugt pro Teilstrecke eine Buchungs-Message.

Das mehrzeilige Containerelement BookingOrderList enthält die Liste der Buchungs-Messages für die Teilstrecken.

Block

SendParallel

Ermöglicht paralleles Senden der Buchungen und Empfangen der zugehörigen Bestätigungen.

Pro Zeile des mehrzeiligen Containerelements BookingOrderList wird eine Instanz des Blocks erzeugt.

Die Korrelation BookingConfirmation soll die Buchung mit der jeweiligen  Bestätigung verknüpfen. Damit für jede Instanz der dynamischen Parallelität eine eigene Instanz der Korrelation verarbeitet werden kann, ist die Korrelation als lokale Korrelation definiert.

Sendeschritt

SendSingleBookingToAirline

Sendet die Buchungen für die Teilstrecken an die entsprechenden Fluggesellschaften.

Aktiviert die Korrelation BookingConfirmation. Für jede Buchungs-Message wird eine eigene Korrelation aktiviert.

Containeroperation

IncreaseCount

Zählt die gesendeten Buchungs-Messages.

Empfangsschritt

ReceiveConfirmation

Empfängt die Bestätigungen.

Verwendet die Korrelation BookingConfirmation, die beim Senden der Buchungen aktiviert wurde.

Mehrfachbedingung

CheckResult

Prüft die empfangene Bestätigung.

Konnte die Buchung durchgeführt werden, enthält die Bestätigungs-Message im Feld BookingStatus das Kennzeichen B (Booked). In diesem Fall, wird die Verarbeitung in Zweig 1 fortgesetzt.

Der Otherwise-Zweig wird automatisch angelegt. Da der gesamte Prozess storniert wird, wenn mindestens eine Teilstrecke nicht gebucht werden kann, sind in diesem Zweig keine Schritte erforderlich.

Containeroperation

IncrementSuccessConter

Zählt die positiven Bestätigungen und damit die gebuchten Teilstrecken.

Containeroperation

StoreConfirmation

Fügt die Bestätigungen zum mehrzeiligen Containerelement ConfirmedList hinzu.

Mehrfachbedingung

AllConfirmationsReceived

Prüft, ob der gesamte Flug gebucht werden konnte.

Ist die Anzahl der gesendeten Messages (s. Schritt Anzahl erhöhen) gleich der Anzahl der positiven Bestätigungen (s. Schritt Erfolgszähler erhöhen), konnte der gesamte Flug gebucht werden und die Verarbeitung wird in Zweig 1 fortgesetzt.

Sonst wird die Verarbeitung im Zweig Otherwise fortgesetzt.

Transformationsschritt

MergeSuccess

Bündelt alle positiven Bestätigungs-Messages aus dem mehrzeiligen Containerelement ConfirmedList aus Schritt Bestätigung merken zu einer Gesamtbestätigungs-Message.

Sendeschritt

SendConfirmation

Sendet die Gesamtbestätigungs-Message an das Reisebüro.

Transformationsschritt

CreateFailureNotification

Erzeugt eine Benachrichtigung für das Reisebüro über das Fehlschlagen der Buchung. Das Feld BookingStatus enthält das Kennzeichen F (Failure).

Das Mapping fügt die Auftragsnummer aus der ursprünglichen Gesamt-Buchung in die Benachrichtigungs-Message ein.

Sendeschritt

SendConfirmation

Sendet die Benachrichtigung an das Reisebüro.

Block

CancelBookedFlights

Ermöglicht paralleles Stornieren der gebuchten Teilstrecken.

Pro Zeile des mehrzeiligen Containerelements ConfirmedList aus dem Schritt Bestätigung merken wird eine Instanz des Blocks erzeugt.

Transformationsschritt

CreateCancellationMessage

Erzeugt eine Stornierungs-Message für eine gebuchte Teilstrecke. Die Stornierungs-Message enthält die Flugbuchungsnummer aus der Bestätigung der Fluggesellschaft und die ID der Fluggesellschaft.

Sendeschritt

SendCancellation

Sendet die Stornierungen zu den gebuchten Teilstrecken an die entsprechenden Fluggesellschaften.

 

Ende des Inhaltsbereichs