Zustand (Workflow)


images/download/attachments/131695612/7-version-1-modificationdate-1732862746946-api-v2.png


Ein Zustand kann ein Formular haben.

Wird im Zustand eine Wartezeit eingestellt, dann wird der Workflow-Job beendet, wenn diese überschritten ist. Davor können noch (lokale) finale Aktionen ausgeführt werden.

Wird die Transitionsprüfung angestoßen, wird nach einer Transition in einen Folgezustand gesucht.

Einstellungen


(1) Sprach-Schlüssel: Hier kann ein Sprachschlüssel angegeben werden. Ist dieser im Wörterbuch definiert, dann wird dessen Wert (passend zur Sprache, in der Sie sich angemeldet haben) statt des Namens des Zustands verwendet. Über das Symbol rechts kann ein Schlüssel direkt aus dem Wörterbuch ausgewählt werden.

(2) Dokumentation: Hier können Sie eine beliebige URL angeben, die eine Dokumentation dieses Zustands enthält. Über das Icon rechts kann diese aufgerufen werden. Dort können auch System-Konstanten in die URL eingefügt werden.

(3) Nächste Transition automatisch finden & ausführen: Wird diese Option verwendet, dann wird sofort in die Transitionsprüfung gesprungen, sobald dieser Zustand erreicht wurde. In diesem Fall verwendet man kein Formular (4) und es ist keine Benutzerinteraktion notwendig (erkennbar an der gestrichelten Begrenzungslinie des Zustands).

images/download/attachments/131695612/Automatischer_Zustand_DE-version-1-modificationdate-1677558547921-api-v2.png

Ist die erste Transitionsprüfung nicht erfolgreich, wird danach automatisch zyklisch wieder geprüft, wenn auch eine Wartezeit eingestellt ist und bis die Wartezeit überschritten ist (siehe Abschnitt unten). Siehe auch die Abschnitte Workflow und Automatisierte Workflows (Beispiele).

images/download/attachments/131695612/State_Wait_DE-version-1-modificationdate-1677558547911-api-v2.png

(4) Formular-Einstellungen: Für jeden Zustand kann ein Formular definiert werden. Dieses wird für berechtigte Benutzer angezeigt, wenn sich der Workflow-Job in diesem Zustand befindet.

images/download/thumbnails/131695612/form_state_x-version-1-modificationdate-1677558547889-api-v2.png

Wird in einem Zustand kein Formular definiert und (3) ist nicht gesetzt, dann bleibt der Workflow-Job in diesem Zustand hängen, wenn er diesen erreicht hat. Die Transitionsprüfung muss dann extern angestoßen werden. Dieses Verhalten kann gezielt benutzt werden, wenn man möchte, dass der Workflow-Job sozusagen wartend im Hintergrund liegen bleibt. Tritt dann ein bestimmtes Ereignis auf, z. B. der Lauf eines zeitgesteuerten Profils, dann kann dieses den Workflow-Job wieder anstoßen. Siehe Abschnitt Interaktive Workflows (Beispiele) (→ Schlafende Zustände).

images/download/attachments/131695612/Formular_Zustand_DE-version-1-modificationdate-1677558547910-api-v2.png

Überschrittene Wartezeit/Finale Aktionen


Wird im Zustand eine Wartezeit eingestellt, dann wird der Workflow-Job beendet, wenn diese überschritten ist. Davor können noch (lokale) finale Aktionen ausgeführt werden. Hinweis: Siehe Workflow-Variable VAR_SYS_WF_TERMINATED.

Zudem kann die Wartezeit verwendet werden, um bei der sofortigen Transitionsprüfung (3) nach der initialen Prüfung zyklisch weiter zu prüfen, bis die Wartezeit überschritten ist.


(5) Max. Wartezeit: Ist in hier ein Wert größer als 0 Minuten eingetragen, dann bricht der Workflow-Job ab, wenn er mehr als diese Wartezeit in diesem Zustand war. Die globalen finalen Aktionen werden dann nicht ausgeführt.

Minimum: 1 Minute. Maximum: Praktisch beliebig hoch. Bei höheren Werten zeigt Ihnen ein Tooltip eine Umrechnung in Stunden/Tage.

images/download/attachments/131695612/State_Wait_DE-version-1-modificationdate-1677558547911-api-v2.png

images/download/thumbnails/131695612/state_wait_form_x-version-1-modificationdate-1677558547885-api-v2.png

(6) Abschluss-Aktion: Wenn diese Checkbox gesetzt ist, können (lokale) finale Aktionen ausgeführt werden.

images/download/attachments/131695612/State_Wait_Action_DE-version-1-modificationdate-1677558547897-api-v2.png

images/download/thumbnails/131695612/state_wait_action_form_x-version-1-modificationdate-1677558547883-api-v2.png

(7) Dokumentation: Hier können Sie eine beliebige URL angeben, die eine Dokumentation dieser Aktionen enthält. Über das Icon rechts kann diese aufgerufen werden. Es können dort auch System-Konstanten in die URL eingefügt werden.

(8) Bedingungen setzen: Nur wenn keine Bedingungen vorhanden sind oder wenn die Bedingungen erfüllt, werden die Aktionen (9) ausgeführt . Sind die Bedingungen nicht erfüllt, dann werden zwar keine Aktionen ausgeführt, aber der Workflow-Job wird dennoch beendet.

(9) Aktionen: Auszuführende Aktionen ( Profile, andere Workflows , ASM-Einträge, ETL/ELT Pipelines, Content-Inspektoren ), falls die Prüfung in (8) erfolgreich ist. Wenn Sie Profile verwenden, dann ist zu unterscheiden zwischen Cron-Profilen (zeitgesteuert) und Nicht-Cron-Profilen (event-gesteuert). Setzen Sie bei Cron-Profilen über das Kontextmenü immer die Option Cron-Profil starten. Das markiert, dass das Profil nur angestoßen wird und selbst seine Daten holt. Nicht-Cron-Profile bekommen ihre Eingangsdaten aus der Workflow-Variable VAR_SYS_WF_DATA oder VAR_SYS_WF_FILE (siehe Details dort). Liefern die Variablen keine Daten, erzeugt das Profil einen Fehler.

Jede Aktion an sich kann nur einmal ausgeführt werden, es können aber beliebig viele Aktionen ausgewählt werden. D. h. ein Profil MyProfile kann nur einmal ausgewählt werden, es können aber weitere andere Profile hinzugefügt werden. Das selbe gilt für die anderen Aktionsarten.

Ist mehr als eine Aktion angegeben, kann das Verhalten der Aktionskette definiert werden, falls eine dieser Aktionen fehlschlägt. Schlägt eine Aktion fehl und es ist Fehler ignorieren eingestellt, dann wird die Aktionskette einfach fortgeführt. Schlägt eine Aktion fehl und es ist Bei Fehler abbrechen eingestellt, dann bricht die Aktionskette ab.

Startzustand


Der Startzustand ist lediglich der erste Zustand, der Einstiegspunkt. Ansonsten ist er wie ein normaler Zustand aufgebaut (abgesehen von der runden Form) und kann in allen Ausprägungen auftreten, die oben für normale Zustände beschrieben sind.

images/download/attachments/131695612/start_state_no_form-version-1-modificationdate-1677558547898-api-v2.png

Endzustand


Ein Endzustand hat keine ausgehende Transition. Das Verhalten von Endzuständen ist anders als das von normalen Zuständen.

Sobald eine ausgehende Transition vorhanden ist, wird der Endzustand automatisch zu einem normalen Zustand.

images/download/attachments/131695612/end_state-version-1-modificationdate-1677558547899-api-v2.png

Zustand und Folgezustand


Sobald ein Workflow-Job in einen Zustand wechselt (beim Start des Workflow-Jobs oder nach einer erfolgreich ausgeführten Transition eines Vorgängerzustands), bleibt er in diesem Zustand, bis eine angestoßene Transitionsprüfung eine gültige Transition findet. Der Workflow-Job wechselt dann in den Folgezustand, der mit dieser Transition verbunden ist. Zudem werden evtl. Aktionen ausgeführt.