Workflow-Logik
Die Reihenfolge, in der Aufgaben in einen Workflow eingefügt werden, und die Verbindungen zwischen diesen bestimmen die Reihenfolge der Aufgabenbearbeitung. Als Entwickler und Objektdesigner können Sie jedoch Aufgabeneigenschaften definieren, die diese Reihenfolge ändern.
Die Grafiken in diesem Thema veranschaulichen die internen Prozesse, die Aufgaben durchlaufen, wenn sie Teil eines Workflows sind. In den folgenden Grafiken zeigen grün markierte ELSE-Bedingung an, dass Teilprozesse gestartet werden. Eine Erklärung der Prozesse finden Sie in den Abschnitten Beschreibung nach den Grafiken. Außerdem finden Sie hier auch Links zu den entsprechenden Themen in der Dokumentation.
Diese Seite beinhaltet Folgendes:
Durch Eigenschaften bis zum Aufgabenstart ausgelöste Prüfungen
Beschreibung
-
Wurden alle Vorgänger verarbeitet?
Eine Aufgabe wartet immer, bis alle ihre direkten Vorgänger den erwarteten Status erreicht haben, z. B. Übersprungen oder Beendet. Der Status der Aufgabe ist Warten auf Vorgänger, wenn Vorgängeraufgaben noch nicht beendet worden sind.
-
Ist in der Aufgabe ein Haltepunkt gesetzt?
Alle Vorgänger wurden beendet. Das System prüft, ob für die Aufgabe ein Haltepunkt definiert ist.
Haltepunkte bewirken, dass der Workflow an dieser Stelle stoppt. Der Status des Workflows wird auf BLOCKED geändert. Haltepunkte können im Workflow-Monitor entfernt werden.
Wo ein Haltepunkt gesetzt wird: Haltepunkte setzen auf der Registerkarte "Allgemein"
-
Sind der Aufgabe Kalenderbedingungen zugeordnet?
Wenn es keinen Haltepunkt gibt oder dieser entfernt wurde, prüft das System, ob der Aufgabe Kalenderbedingungen zugeordnet wurden.
Sie können festlegen, dass Aufgaben nur an bestimmten Tagen ausgeführt werden sollen. Diese Tage werden in Kalenderereignissen definiert. Wenn die definierte Kalenderbedingung nicht zutrifft, wird die Aufgabe nicht ausgeführt und endet mit dem Status ENDED_INACTIVE.
Wo sie festgelegt wird: Registerkarte "Kalender"
-
Ist eine früheste Startzeit definiert?
Wenn es keine Kalenderbedingungen gibt oder Kalenderbedingungen gelten, prüft das System den frühesten Startzeitpunkt.
Darf eine Aufgabe nicht vor einer bestimmten Uhrzeit starten, kann diese Einstellung genutzt werden, um den frühesten Startzeitpunkt festzulegen. Der Status der Aufgabe ist Warten auf Startzeitpunkt.
Wo er festgelegt wird: Früheste Startzeit auf der Registerkarte Zeit und Abhängigkeiten
-
Ist die Aufgabe auf Aktiv gesetzt?
Wenn Sie eine Aufgabe zu einem Workflow hinzufügen, ist sie standardmäßig auf Aktiv gesetzt. Das heißt, die Aufgabe wird ausgeführt, sobald sie an der Reihe ist. Sie können die Aufgabe deaktivieren, wenn Sie möchten, dass der Workflow bei dieser Aufgabe stoppt.
Wo dies festgelegt wird: Abschnitt Einstellungen auf der Registerkarte "Allgemein"
-
Sind für die Aufgabe Vorbedingungen definiert?
Wenn die Aufgabe auf Aktiv gesetzt ist, prüft das System, ob Vorbedingungen vorliegen.
Sie haben die Möglichkeit, bestimmte Bedingungen und Aktionen zu definieren, die vor dem Start von Workflow-Aufgaben abgearbeitet werden. Diese Prozesse können sich auch auf die Ausführung der Aufgabe auswirken. Die Überprüfung erfolgt in dem Zeitintervall, das im Parameter CONDITION_CHECK_INTERVAL in UC_SYSTEM_SETTINGS angegeben ist. Weitere Informationen finden Sie unter CONDITION_CHECK_INTERVAL. Dieser Prozess endet dann, wenn eine finale Anweisung oder der späteste Startzeitpunkt erreicht wird.
Sind keine Vorbedingungs-Definitionen vorhanden, so wird dieser Schritt übersprungen.
In ForEach-Workflows können Sie festlegen, ob die Vorbedingungen der einzelnen Aufgaben nur einmal oder wiederholt in jeder Schleifeniteration ausgewertet werden sollen. Weitere Informationen finden Sie unter FOREACH-Workflows.
Wo dies festgelegt wird: Registerkarte Vorbedingungen, siehe Bedingungen, Vorbedingungen, Nachbedingungen
-
Haben die Vorgänger die in der Aufgabe definierten Status?
Wenn die Aufgabe über keine Vorbedingungen verfügt oder diese bereits bearbeitet wurden, prüft das System den Status, mit dem die Vorgänger beendet wurden.
Sie können den Status definieren, den die Vorgänger haben sollen, damit die Aufgabe startet. Sie können auch die weitere Bearbeitung der Aufgabe und des Workflows festlegen, wenn eine oder alle Abhängigkeiten nicht erfüllt sind.
Wo dies festgelegt wird: Abschnitt Abhängigkeiten auf der Registerkarte Zeit und Abhängigkeiten
-
Ist eine späteste Startzeit oder eine späteste Endzeit definiert?
Wenn der Status der Vorgänger übereinstimmt oder kein bestimmter Status definiert wurde, prüft das System die späteste Start- oder Endzeit, die für die Aufgabe festgelegt wurde.
Die Aufgabe endet mit dem Status ENDED_TIMEOUT, wenn dieser Zeitpunkt überschritten wird. Es ist auch möglich, eine Else-Bedingung anzugeben, wie im vorherigen Schritt beschrieben.
Beim Start der Aufgabe kann auf Basis der erwarteten Laufzeit (ERT) der wahrscheinliche Endzeitpunkt errechnet werden. Überschreitet das Ergebnis die definierte Zeit, wird die Aufgabe nicht ausgeführt und endet mit ENDED_TIMEOUT. Die im Abschnitt Else festgelegte Vorgangsweise tritt sodann in Kraft.
Wo dies festgelegt wird: Abschnitt Abhängigkeiten auf der Registerkarte Zeit und Abhängigkeiten
-
Sind der Aufgabe PromptSets zugeordnet?
Wenn die Aufgaben PromptSets haben, werden sie nun ausgewertet. Die von den PromptSets bereitgestellten Werte werden in Variablen und VARA-Objekten verwendet. Wenn eine Benutzereingabe erforderlich ist, lautet der Status der Aufgabe Warten auf Benutzereingabe.
Wo dies festgelegt wird: Registerkarte "PromptSets"
Wo definiert wird, ob PromptSets auf dem Bildschirm angezeigt werden: Abschnitt Task Prompt/Auswertung auf der Registerkarte "Allgemein"
-
Wurde die Aufgabe bereits generiert?
Die Aufgabe wird je nach Einstellung auf der Seite Attribute entweder zur Aktivierungszeit oder zur Laufzeit generiert. Wenn festgelegt wurde, dass die Aufgabe zur Aktivierungszeit generiert wird, wurde die Aufgabe in dieser Phase des Prozesses bereits generiert. Das liegt daran, dass die Aktivierungszeit einer Aufgabe in einem Workflow die Aktivierungszeit des Workflows selbst ist.
Wenn festgelegt wurde, dass die Aufgabe zur Laufzeit generiert wird, wird die Aufgabe jetzt generiert.
Weitere Informationen finden Sie unter Generierung zum Aktivierungszeitpunkt oder zur Laufzeit.
- Die Aufgabe wird gestartet. Die Aufgabe durchläuft die folgenden Ausführungsphasen: Verarbeitung und Abschluss.
Prozesse nach der Generierung der Aufgabe
An dieser Stelle der Aufgabenausführung gibt es zwei mögliche Szenarien.
- Die Aufgabe endet und die minimale Laufzeit wird ausgewertet
- Die maximale Laufzeit wird ausgewertet und Folgeaktionen werden durchgeführt, falls die maximale Laufzeit überschritten wird
Diese Grafik veranschaulicht beide Szenarien:
Maximale Laufzeit überschritten
Die Laufzeit einer Aufgabe kann während ihrer Ausführung überwacht werden. Dieser Monitor hilft Ihnen, schnell auf Überschreitungen der maximalen Laufzeiten zu reagieren. Sie können festlegen, was passieren soll, wenn die Bearbeitung der Aufgabe länger dauert als vorgegeben. Die Aufgabe kann abgebrochen oder beendet werden oder eine andere Aufgabe kann ausgeführt werden. Die folgenden Workflow-Aufgaben werden wie gewohnt bearbeitet.
Wird die maximale Laufzeit nicht überschritten, wird die Aufgabe beendet und die nächste Aufgabe startet. Wo dies festgelegt wird: Laufzeit-Eigenschaften
Minimale Laufzeit nicht erreicht
Am Ende der Aufgabenausführung kann das System überprüfen, ob die angegebene minimale Laufzeit eingehalten wurde. Eine Aufgabe, die nicht so lange wie üblich läuft, ist ein Indikator dafür, dass etwas schief gelaufen ist.
Wenn die Laufzeit kürzer ist als definiert, können die gleichen Einstellungen wie bei der maximalen Laufzeit vorgenommen werden.
Wo dies festgelegt wird: Laufzeit-Eigenschaften
Nachbearbeitungen
Nach Ende einer Aufgabe können weitere Bedingungen geprüft bzw. Aktionen ausgeführt werden. Diese Aktionen können von den Vorbedingungen abweichen und auch den Status der Aufgabe oder des Workflows beeinflussen. Der gesamte Prüfungsprozess wird dabei nur einmal durchlaufen.
Nutzen Sie diese Möglichkeit beispielsweise, um auf den Endstatus einer Aufgabe zu reagieren. Sie können beispielsweise ein beliebiges Objekt starten oder den Workflow bzw. die Aufgabe abbrechen, wenn ein bestimmter Status erreicht oder nicht erreicht wurde.
Hinweis: Die Bedingung STATUS wird nicht berücksichtigt, wenn die Aufgabe den Status ENDED_INACTIVE hat. Sie können diesen Endstatus aber trotzdem auf der Registerkarte Zeit und Abhängigkeiten der nachfolgenden Aufgabe überprüfen lassen.
Wo dies festgelegt wird: Registerkarte Nachbedingungen, siehe Bedingungen, Vorbedingungen, Nachbedingungen
ELSE-Bedingung
Einige Eigenschaften ermöglichen es Ihnen, alternative Aktionen zu definieren. Diese Grafik veranschaulicht die Möglichkeiten, die Else-Bedingungen bieten:
Siehe auch: