Beispiel: Integrationsprozess für
Anschlussflugbuchungen
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.
Folgende Tabelle gibt einen Überblick über die einzelnen Schritte des Integrationsprozesses:
Schritttyp |
Schrittname |
Beschreibung |
ReceiveMultipleBooking |
Der Empfang der Message MultipleBooking für die Buchung des Gesamtflugs startet den Prozess. |
|
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. |
|
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
|
|
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. |
|
IncreaseCount |
Zählt die gesendeten Buchungs-Messages. |
|
ReceiveConfirmation |
Empfängt die Bestätigungen. Verwendet die Korrelation BookingConfirmation, die beim Senden der Buchungen aktiviert wurde. |
|
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. |
|
IncrementSuccessConter |
Zählt die positiven Bestätigungen und damit die gebuchten Teilstrecken. |
|
StoreConfirmation |
Fügt die Bestätigungen zum mehrzeiligen Containerelement ConfirmedList hinzu. |
|
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. |
|
MergeSuccess |
Bündelt alle positiven Bestätigungs-Messages aus dem mehrzeiligen Containerelement ConfirmedList aus Schritt Bestätigung merken zu einer Gesamtbestätigungs-Message. |
|
SendConfirmation |
Sendet die Gesamtbestätigungs-Message an das Reisebüro. |
|
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. |
|
SendConfirmation |
Sendet die Benachrichtigung an das Reisebüro. |
|
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. |
|
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. |
|
SendCancellation |
Sendet die Stornierungen zu den gebuchten Teilstrecken an die entsprechenden Fluggesellschaften. |