E-Mail-Aktion - Ausnahmebehandlung
Modul Prozesse
E-Mail-Aktion
Eigenschaften
Hier können Sie die Vorgehensweise für den Fall, dass keine Empfänger ermittelt werden konnten, einstellen.
Transaktion abbrechen (Standard)
Bewirkt, dass der komplette Prozess abgebrochen wird, wenn keine E-Mailadressen
vorliegen. Wenn z.B. eine
dynamische Verteilerliste
mit dem Typ Freitext als Quelle für die Empfänger eingestellt wurde,
das zugrunde liegende Datenfeld aber im aktuellen Datensatz keine entsprechenden Daten
enthält, wird der komplette Prozess abgebrochen.
Transaktion fortsetzen
Der Fehler wird ignoriert. Es wird keine E-Mail versendet. Der Prozess wird mit der nächsten Aktion fortgesetzt.
Null-Werte
Unter bestimmten Umständen läuft ein Prozess trotz der eingestellten Option "Transaktion fortsetzen" nicht fehlerfrei durch.
Wird im Prozess z.B. der Empfänger der E-Mail per
Systemwert
aus einer
Systemdatengruppe ermittelt,
kann es zum Abbruch des Prozesses kommen, wenn null-Werte vorhanden sind - z.B. wenn das Empfänger-Datenfeld in der Systemdatengruppe leer ist.
Werte der Systemdatengruppe werden als Konfigurationsparameter für Applikationen aufgefasst.
In diesem Sinne wird das Fehlen eines speziellen Wertes als Fehler behandelt.
Ist dies nicht gewünscht, kann im Prozess z.B. eine
Groovy-Bedingung
oder eine
Groovy-Aktion,
die die Liste der Empfänger an den
Shared-State übergibt, vorgeschaltet werden.
Eine solche Liste darf leer sein, aber keine null-Elemente enthalten.
Das Verhalten bei der Behandlung von null-Werten ist konsistent für alle Kontextvariablen vom Typ
- URN_REQUEST_PREFIX
- URN_SESSION_PREFIX
- URN_SHARED_STATE_PREFIX
- URN_USER_PREFIX
- URN_WORKFLOW_USER_PREFIX
- URN_SYSTEM_DATA_GROUP_PREFIX
Das Property zum Fortsetzen der Transaktion bezieht sich auf die Liste der ermittelten Empfängeradressen.
Die Empfängeradressen in dieser Liste werden aus den folgenden Quellen eingesammelt:
- statisch konfigurierte Empfänger
- Empfänger aus dem Request
- Empfänger aus der Session
- Empfänger aus dem SharedState
- Empfänger aus einem Benutzerfeld
- Empfänger aus der Systemdatengruppe
- Empfänger aus einem Datenfeld des aktuellen Datensatzes
- Empfänger aus einer Tabelle
- Vorgesetzte des aktuellen Benutzers
- Stellvertreter des aktuellen Benutzers
Nachdem diese Empfängerliste zusammengestellt wurde, wird ermittelt, ob sie leer ist.
Mit dem Property wird nun gesteuert, wie der Fall, dass diese Liste leer ist, behandelt wird:
- als Fehler, was zu einer Exception führt oder
- als Warnung im Log, wobei keine E-Mail versendet wird