Ausnahmebehandlung
In einem Integrationsprozess können Situationen auftreten, in denen der Integrationsprozess nicht normal fortgesetzt werden kann (z. B. bei Systemfehlern) oder die normale Fortsetzung nicht sinnvoll ist. Solche Situationen können Sie bereits bei der Definition des Prozesses in Form von Ausnahmen und zugehörigen Ausnahmebehandlern berücksichtigen.
Folgende Tabelle zeigt, in welchen Schritttypen Sie welche Ausnahmen definieren können.
Schritttyp |
Ausnahme für |
Beschreibung |
Sendeschritt – asynchron, synchron |
Systemfehler |
Wird bei einem permanenten Systemfehler ausgelöst: Bei einem asynchronen Sendeschritt wird die Ausnahme nur bei einem Übertragungsfehler an die Pipeline ausgelöst. Fehler, die z. B. beim Mapping in der Pipeline auftreten, lösen die Ausnahme nicht aus. Bei einem synchronen Sendeschritt wird die Ausnahme auch bei permanenten Systemfehlern ausgelöst, die in der Pipeline oder beim Transport von oder zur Pipeline auftreten. |
Sendeschritt – synchron |
Anwendungsfehler
|
Pro
|
Systemfehler |
Wird bei einem permanenten Systemfehler ausgelöst. |
|
Beliebige Ausnahmesituationen |
Wird bei Erreichen des Steuerungsschritts ausgelöst. |

Der Name einer Ausnahme muss innerhalb des Blocks und in der darüber liegenden Blockhierarchie eindeutig sein.
Die Reaktion auf eine Ausnahme, also den Ausnahmebehandler, definieren Sie in einem eigenen Verarbeitungszweig an einem Block. Der Ausnahmebehandler hat Lese- und Schreibzugriff auf alle Daten innerhalb des Blocks.
Wird zur Laufzeit eine Ausnahme ausgelöst, sucht das System den zugehörigen Ausnahmebehandler zuerst am umgebenden Blocks und dann jeweils im nächst äußeren Block in der Blockhierarchie.
Findet das System den Ausnahmebehandler, stoppt es alle aktiven Schritte des Blocks, an dem der Ausnahmebehandler definiert ist, und setzt die Verarbeitung im Zweig für die Ausnahmebehandlung fort. Nach der Abarbeitung des Ausnahmebehandlers wird der Prozess nach dem Block normal fortgesetzt.
Findet das System keinen Ausnahmebehandler, bricht der Integrationsprozess mit Fehler ab.
Tritt bei einem Sendeschritt ein Systemfehler auf, soll
ein Alert für das
Alert Management
ausgelöst und anschließend der Integrationsrozess abgebrochen werden. Um dies
zu erreichen, gehen Sie wie folgt vor:
Sie definieren im Sendeschritt für die Eigenschaft Ausnahme/Systemfehler die Ausnahme Sendefehler.
Am entsprechenden Block fügen Sie über das Kontextmenü des Blocks einen Zweig als Ausnahmebehandler hinzu. In den Eigenschaften des Zweigs geben Sie die Ausnahme Sendefehler an. In den Zweig fügen Sie einen Steuerungsschritt ein, der den gewünschten Alert auslöst. Dahinter fügen Sie einen Steuerungsschritt ein, der den Integrationsprozess abbricht.