Beispiel: Fristüberwachung für Empfang einer
Response-Message
In der Praxis kommt es häufig vor, dass ein Business-System eine Request-Message sendet (z. B. eine Bestellung) und auf eine Response-Message (z. B. die Bestellantwort) eines anderen Business-Systems wartet.
Wenn Sie überwachen möchten, ob die Response-Message innerhalb einer vorgegebenen Frist empfangen wird, definieren Sie für den Message-Austausch einen Integrationsprozess. Im Integrationsprozess definieren Sie für die Fristüberwachung einen Block mit einem Fristzweig.
Die Reaktion auf die Fristüberschreitung können Sie auf unterschiedliche Arten definieren. Die nachfolgende Tabelle zeigt verschiedene Möglichkeiten. Die Beispiele finden Sie im Enterprise Services Repository unter SAP Basis → SAP Basis <release_nummer> im Namensraum http://sap.com/xi/XI/System/Patterns.
Reaktion |
Beschreibung |
Beispiel |
Alert |
Bei Fristüberschreitung wird ein Alert ausgelöst und der Prozess wartet weiter auf den Empfang der Response-Message. |
BpmPatternReqRespAlert
|
Abbruch mit Fehlermeldung |
Bei Fristüberschreitung wird eine Ausnahme ausgelöst. Im zugehörigen Ausnahmebehandler wird eine Fehlermeldung erzeugt und gesendet. |
BpmPatternReqRespTimeOut |
Der erste Empfangsschritt empfängt die Request-Message, startet den Prozess und aktiviert die Korrelation Correlation. Die Korrelation verknüpft die Request- und die Response-Message über eine ID (z. B. eine Bestellnummer). Der nachfolgende Sendeschritt sendet die Message gemäß der im Integration Directory konfigurierten Empfängerermittlung.
Der Empfangsschritt für den Empfang der Response-Message verwendet die Korrelation Correlation. Ein nachfolgender Sendeschritt sendet die Response-Message gemäß der im Integration Directory konfigurierten Empfängerermittlung. Um eine Fristüberwachung für diese beiden Schritte definieren zu können, wurden diese Schritte innerhalb eines Blocks mit einem Fristzweig definiert.
Folgende Grafik zeigt die Definition des Prozesses:

Ist die Verarbeitung des Blocks nicht innerhalb von 24 Stunden nach seiner Erzeugung beendet, wird der Fristzweig ausgeführt. In diesem Beispiel löst der Steuerungsschritt im Fristzweig einen Alert aus. Der Empfangsschritt wartet weiter auf den Empfang der Response-Message.
Folgende Grafik zeigt die Definition des Prozesses:

Ist die Verarbeitung des Blocks nicht innerhalb von 24 Stunden nach seiner Erzeugung beendet, wird der Fristzweig ausgeführt. In diesem Beispiel löst der Steuerungsschritt im Fristzweig eine Ausnahme aus. Die Verarbeitung wird im zugehörigen Ausnahmebehandler fortgesetzt. Dort erzeugt ein Transformationsschritt eine Fehler-Message. Die Fehler-Message enthält die ID aus der Request-Message, mit der beim Empfang die Korrelation Correlation aktiviert wurde. Ist die ID z. B. eine Bestellnummer, sehen Sie also zu welcher Bestellnummer keine Bestellantwort empfangen wurde.
Ein anschließender Sendeschritt sendet die Fehler-Message gemäß der im Integration Directory konfigurierten Empfängerermittlung. Damit ist die Verarbeitung des Blocks beeendet.