Fallunterscheidung


Beispielskonfiguration für eine Fallunterscheidung. Hier wird ein Auswahlfeld gegen mehrere mögliche Werte geprüft und jeweils andere Aktionen ausgeführt. Ist keiner der konfigurierten Werte ausgewählt, werden die Aktionen ganz link im Rückfallzweig ausgeführt.

Durch Klick auf das Kästchen mit dem kleinen Fragezeichen öffnet sich die Konfiguration für den Prüfwert. Hier wird der Wert eingetragen, der gegen die einzelnen Fälle geprüft werden soll.

Durch Klick auf das Kästchen eines der konfigurierten Fällen öffnet sich die Konfiguration für den Testwert. Hier wird der Wert eingetragen, gegen den der Prüftwert der Falllunterscheidung verglichen wird. Zudem wird ausgewählt, auf welche Art und Wert beide Werte verglichen werden. Für fortgeschrittene Anwendungsfälle können auch mehrere Testwert konfiguriert werden.

Seit Version 7.1.0+  verfügbar.

Mit Steuerelementen vom Typ Fallunterscheidung kann der Ablauf der Verarbeitung in Abhängigkeit von Formularwerten und andere Inhalten durch die Verwendung von Platzhaltern beeinflusst werden. Diese Elemente erlauben es, den Workflow in mehrere Pfade aufzuteilen, je nachdem, ob ein konfigurierter Wert bestimmten Vergleichswerten entspricht.

Die Fallunterscheidung und die Ja-Nein-Bedingung sind sehr ähnlich. Beide können genutzt werden, um den Workflow zu verzweigen. Die Ja-Nein-Bedingung eignet sich, wenn die Vergleichswerte in unterschiedlichen Konstellationen zutreffen oder nur eine Bedingung abgefragt wird. Die Fallunterscheidung erhöht die Lesbarkeit des Workflows, wenn etwa Werte gegen viele Möglichkeiten verglichen werden sollen und damit auch unterschiedliche Aktionen für die zutreffenden Fälle ausführen. Die genaue Ausführungsreihenfolge wird weiter unten nochmal genauer beschrieben.

Beispielsweise kann die Fallunterscheidung genutzt werden, um den Wert eines Auswahlfelds selAktivitaet zu prüfen und damit auf die Fälle Sport, Lesen, etc. unterschiedlich zu reagieren.

Konfiguration

Ein Klick auf das Kasten mit dem kleinen Fragezeichen öffnet die Konfiguration für den zu prüfenden Wert. Hier wird der Prüfwert eingetragen, auf welche die Fallunterscheidung angewandt werden soll, also das Feld welches gegen die verschiedenen Fälle geprüft wird.

Weitere Fälle werden durch Klick auf das Plus-Symbol ( ) hinzugefügt, bestehende Fälle durch Klick auf das Papierkorb-Symbol ( ) gelöscht. Ein Klick auf eines der Kästchen der einzelnen Fälle öffnet die Konfiguration für diesen Fall. Hier wird der Vergleichswert eingetragen. Zudem wird ausgewählt, wie der Testwert gegen den Prüfwert verglichen wird. Standardmäßig wird auf Gleichheit geprüft, es sind aber auch andere Vergleiche wie etwa größer gleich oder ungleich möglich. Zudem ist es via Drag&Drop möglich, die Reihenfolge der einzelnen Fälle zu ändern.

Bei Bedarf kann der Prüfwert auch gegen mehrere Testwerte verglichen werden (Mehrfachbedingung). Die Konfiguration ist hierbei analog zur Ja-Nein-Bedingung, siehe die Hilfeseite zur Ja-Nein-Bedingung für nähere Informationen.

Für jeden der einzelnen Fälle können dann Workflow-Aktionen hinzugefügt werden, welche in diesem Fall ausgeführt werden soll. Schließlich gibt es ganz links noch den Rückfallzweig. Hier können die Aktionen eingefügt werden, welche ausgeführt werden sollen, falls keiner der Fälle zutrifft.

Ausführung

Manchmal ist es notwendig, genau zu wissen, was bei der Fallunterscheidung passiert. Konkret läuft die Ausführung der Fallunterscheidung wie folgt ab:

  • Vergleiche den Prüfwert mit den Testwerten der einzelnen Fälle. Hieraus ergibt sich eine Liste aller zutreffenden Fälle.
  • Falls die Liste der zutreffenden Fälle nicht leer ist
    • Gehe von links nach rechts (wie im Workflow konfiguriert) die einzelnen Fälle durch und führe die im jeweiligen Fall konfigurierten Aktionen aus.
    • Endet eine Aktion in einem unbehandelten Fehler, werden die verbleibenden Fälle nicht mehr ausgeführt und der Fehler nach oben weitergereicht.
  • Falls die Liste der zutreffenden Fälle leer ist:
    • Führe die Aktionen des Rückfallzweigs aus.

Dies bedeutet also, wenn mehrere Fälle gleichzeitig zutreffen, dann werden alle Fälle ausgeführt. Und zwar geordnet von links nach rechts wie im Workflow konfiguriert.