Benutzerhandbuch > Objekte > Alphabetische Auflistung > IF - Workflows

IF - Workflows

Die objektspezifische Registerkarte Logik ist nur bei Workflows vom Typ IF und FOREACH zu finden und abhängig vom Typ unterschiedlich aufgebaut. Sie dient zur Definition von Workflows und der Abhängigkeiten / Eigenschaften der untergeordneten Aufgaben. Folgende Beschreibung erläutert den spezifischen Aufbau der Registerkarte Logik beim Workflow-Typ IF und andere Besonderheiten von IF-Workflows.

Der Workflow-Typ wird beim Anlegen der Objekte festgelegt.

Die Registerkarte Logik ähnelt der Registerkarte Workflow, die nur bei Standard-Workflows verfügbar ist. Die anderen Registerkarten sind unabhängig vom Typ und somit bei allen Workflows gleich.

Die Aufgaben von IF-Workflows besitzen die selben Eigenschaften wie jene von Standard-Workflows. Eine genaue Beschreibung dazu finden Sie im Kapitel "Eigenschaften der Objekte".

Informationen zur Anpassung der Ansicht dieser Registerkarte finden Sie in der Beschreibung der Registerkarte Workflow.

Allgemeine Informationen

IF-Workflows führen, abhängig von einer oder mehreren Bedingungen, unterschiedliche Aufgaben durch. Das START-Objekt enthält dabei die Bedingungen, die über dessen Eigenschaften definiert werden. Nach der START-Box sehen Sie zwei parallele Zweige, zu denen Sie beliebige ausführbare Objekte Ihrer Wahl hinzufügen können. Diese Zweige werden als True- und False-Zweige bezeichnet. Abhängig davon, ob und welche Bedingung(en) erfüllt werden, wird entweder jeweils der True- oder der False-Zweig durchlaufen. Beide Zweige führen zum ENDE-Objekt.

Der Aufbau der Registerkarte Logik ist fix vorgegeben und kann nicht verändert werden. Dies bedeutet konkret: Objekte können nur der True- oder der False- Linie hinzugefügt werden und werden dabei seriell angeordnet. Es ist nicht möglich, andere Verzweigungen zu erstellen bzw. individuelle Linien zu ziehen. Wird eine komplexere Struktur benötigt, so sind Sub-Workflows zu verwenden.

IF-Workflows können alle ausführbaren Objekte außer Schedules und Cokpits aufnehmen, auch andere IF-Workflows.

Externe Abhängigkeiten können nicht innerhalb von IF-Workflows verwendet werden!

Die Aufgaben des durchzuführenden Zweiges (True oder False) werden erst nach Evaluierung der Bedingungen prozessiert und aktiviert. Die Aufgaben des anderen Zweiges werden nicht abgearbeitet und erhalten innerhalb des Workflows den Status UNPROCESSED und eine weiße Farbe. Für die nicht durchgeführten Aufgaben werden daher auch keine Aktivitäten angelegt und keine RunID vergeben.


Definition von IF-Workflows

Bedingung(en) definieren

Um eine oder mehrere Bedingungen für einen IF-Workflow zu definieren, öffnen Sie die Eigenschaften des START-Objektes und wechseln Sie in die Registerkarte Bedingung. Diese spezielle Registerkarte ist nur beim START-Objekt von IF-Workflows vorhanden.

Die Eigenschaften können entweder mittels Kontextmenü oder über das Symbol innerhalb des Kästchens aufgerufen werden.

Die Registerkarte Frühestens des START-Objekts ist dabei ident mit der gleichnamigen Registerkarte der Eigenschaften aller Workflow-Aufgaben.

Die Registerkarte Bedingung dient dazu, um festzulegen, welcher Aufgaben-Zweig (True/False) des IF-Workflows wann durchgeführt werden soll.

In der Registerkarte können unterschiedliche Bedingungen und Anweisungen definiert werden, die beim Start des Workflows vor der Prozessierung der untergeordneten Aufgaben abgearbeitet werden. Dabei haben Sie auch die Möglichkeit, Bedingungen und Anweisungen in anderen Bedingungsblöcken einzufügen, wobei eine beliebige Verschachtelung möglich ist.

Die Registerkarte Bedingung ähnelt den Registerkarten Pre-Conditions und Post-Conditions, die in den Eigenschaften aller Workflow-Aufgaben zu finden sind. Unterschiedlich sind jedoch die zur Verfügung stehenden Bedingungen / Anweisungen und das Ergebnis bzw. die betreffenden Aufgaben.

Um eine Anweisung oder Bedingung zu erstellen, wählen Sie diese im rechten Bereich aus und ziehen den Eintrag via Drag&Drop in den Bereich links. Anschließend wird ein Dialog eingeblendet, über welchen die Parameter und somit das Verhalten der Anweisung / Bedingung festzulegen sind. Manche Parameter müssen angegeben werden, andere sind optional. Durch einen Klick auf die Parameter, können Sie diese auch nachträglich ändern.

Die finale Anweisung RUN PATH beendet die Prüfung und startet entweder den True oder False-Zweig (abhängig von der Parameter-Definition).

Befindet sich keine finale Anweisung in der Registerkarte Bedingung, so führt dies zum Abbruch des Workflows!

Es ist auch möglich Anweisungen zu definieren, welche in keiner Bedingung enthalten sind und daher immer ausgeführt werden.

Die Abarbeitung und das Ergebnis dieser Registerkarte wird im Aktivierungsreport des Workflows protokolliert.

Anweisungen

Name der Anweisung Beschreibung Parameter Finale Anweisung
CANCEL PROCESS FLOW Bricht den Workflow ab

-) Workflow, der abgebrochen werden soll.
Mögliche Werte "*OWN", "Top" oder "Parent"

*OWN - Workflow, in dem die Aufgabe läuft.
Parent - Übergeordneter Workflow von *OWN.
Top - Oberster Workflow.

-) Aufgaben des Workflows ebenfalls abbrechen?
Mögliche Werte: "inklusive" oder "exklusive"

Ja
CLEAR VARIABLE Löscht den Eintrag eines statischen Variablen-Objektes

-) Name des Variablen-Objektes

-) Key
Beginnt der Key mit dem Zeichen &, so ist dieses doppelt anzugeben.

Nein
EXECUTE OBJECT

Startet ein beliebiges Objekt, wobei dessen Status nicht überprüft wird.

Im Script dieses Objektes sind dieUC_CAUSE - ReadBuffer versorgt und können ausgelesen werden.

-) Objekt-Name

-) Alias (Optional)
Name, der für die zu startende Aufgabe im Aktivitätenfenster und in der Statistik anstelle des Objektnamens, verwendet werden soll.

Maximale Länge: 200 Zeichen
Zulässige Zeichen: A-Z, 0-9, $, @, _, -, ..

-) Parameter... (Optional)
Öffnet einen Dialog, über den die PromptSet-Werte des zu startenden Objektes geändert werden können. Aufruf nur möglich, wenn dem Objekt mindestens ein PromptSet-Objekt zugeordnet wurde.

-) Auf das Ende der Aufgabe warten oder nicht?

Es werden dabei immer die Variablen der Workflow-Aufgabe an das gestartete Objekt vererbt.

Nein
RUN PATH

Startet die Aufgaben des True- oder False-Zweiges.

Beendet die Evaluierung der anderen Bedingungen /Anweisungen dieser Registerkarte und überspringt die Aufgaben des anderen Zweiges.

Nur verfügbar in den Eigenschaften des START-Objektes von IF-Workflows!

-) True / False
Angabe, welcher Zweig durchgeführt werden soll.

-) Alias
Name, der den True-Zweig in der Registerkarte Workflow repräsentiert. Sie können jeden Wert Ihrer Wahl verwenden.

Ja
SET VALUE

Definition bzw. Wertzuweisung einer Objektvariablen

Die Verwendung (Post-Script ist ausgenommen) dieser Objektvariablen setzt die Einstellung Zur Laufzeit generieren im jeweiligen Objekt voraus! Dies ist unabhängig vom Parameter Geltungsbereich (Aufgabe oder Workflow).
Ansonsten wird entweder auf eine Variable zugegriffen, die nicht existiert, oder es wird der alte Wert zurückgeliefert (wenn Variable bereits im Objekt definiert ist).

-) Variablenname
Der Variablenname ist ohne führendes & anzugeben. Im Report "Pre-Conditions" wird der Name ebenfalls so angezeigt. Der Zugriff im Objekt erfolgt jedoch mit &.

-) Wert (Optional)

-) Geltungsbereich: Aufgabe oder Workflow

Nein
SET VARIABLE Wert in ein statisches Variablen-Objektes eintragen. Bestehende Werte werden überschrieben.

-) Name des Variablen-Objektes

-) Key
Beginnt der Key mit dem Zeichen &, so ist dieses doppelt anzugeben.

-) Spalte
Mögliche Werte: 0 bis 5
Bei "0" wird der angegebene Wert in Wertespalte 1 eingetragen und die restlichen Spalten zurückgesetzt!

-) Wert

Nein

Bedingungen

Name der Bedingung Beschreibung Parameter
CHECK ACTIVITIES Überprüfen, wie oft sich eine Aufgabe mit einem gewissen Status bzw. Statusbereich im Aktivitätenfenster befindet

-) Alias- oder Objekt-Name

-) Entspricht "grösser", "kleiner", "gleich" oder "ungleich"

-) Anzahl der Ausführungen dieses Objektes

-) Status
Dabei stehen nur jene Zustände zur Auswahl, bei dem die Aufgabe noch nicht beendet oder abgebrochen ist (Aktiv-, Blockier-, Warte- und Stop-Zustände).

  • ANY_ACTIVE - Aufgabe ist aktiv
  • ANY_BLOCKED - Aufgabe blockiert.
    (System-Rückgabewert: 1560, 1898)
  • ANY_BLOCKED_OR_STOPPED - Aufgabe wurde gestoppt oder blockiert (System-Rückgabewert: 1560, 1561, 1562, 1563, 1564, 1898)
  • ANY_RUNNING - Aufgabe ist aktiv und in keinem Wartezustand
  • ANY_STOPPED - Aufgabe wurde gestoppt (System-Rückgabewert: 1561, 1562, 1563, 1564)
  • ANY_WAITING - Aufgabe befindet sich in einem Wartezustand
  • WAITING_AGENT - Aufgabe wartet auf einen Agenten (System-Rückgabewert: 1696)
  • WAITING_AGENT_OR_AGENTGROUP - Aufgabe wartet auf einen Agenten oder Agenten einer AgentenGruppe (System-Rückgabewert: 1686, 1687, 1688, 1696)
  • WAITING_AGENTGROUP - Aufgabe wartet auf Agenten einer AgentenGruppe (System-Rückgabewert: 1686, 1687, 1688)
  • WAITING_EXTERNAL - Aufgabe wartet auf eine externe Abhängigkeit (System-Rückgabewert: 1690)
  • WAITING_GROUP - Aufgabe wartet auf Start einer Gruppe (System-Rückgabewert: 1710)
  • WAITING_QUEUE - Aufgabe wartet auf ein Queue-Objekt (System-Rückgabewert: 1684)
  • WAITING_SYNC - Aufgabe befindet sich auf Grund von Sync-Bedingungen in einem Wartezustand (System-Rückgabewert: 1697)
CHECK CONNECTION

Überprüfen, ob ein bestimmter Agent verfügbar ist.

Bei SAP- und Datenbank-Agenten kann zusätzlich ein Verbindungs-Objekt angegeben werden.

Diese Bedingung besitzt die selbe Funktion, wie das Script-Sprachmittel SYS_HOST_ALIVE.

-) Agent

-) Verbindungsobjekt (optional)
Um kein Verbindungsobjekt anzugeben, wählen Sie im Kombinationsfeld den leeren Wert aus. Der Standardwert <CONNECTION> ist nicht gültig!

CHECK FILE Überprüfung, ob eine bestimmte Datei existiert

-) Agent
Beim Wert *OWN wird der Agent der Aufgabe verwendet (bei FileTransfers der Quell-Agent). Diese Einstellung wird nur bei Jobs und FileTransfers unterstützt!

Beachten Sie, dass die Datei-Überprüfung nur von Betriebssystem-Agenten durchgeführt werden kann! Es kommt somit beispielsweise zu einem Fehler, wenn es sich bei der Aufgabe um einen SAP-Job handelt und Sie für den Agenten *OWN auswählen!


-) Pfad und Dateiname

-) "Existiert" oder "Existiert nicht"

CHECK HISTORY

Überprüft, ob ein Objekt mit einem gewissen Status in einer bestimmten Zeitspanne endete.
Die Zeitspanne ist in Tagen, Stunden und Minuten anzugeben und reicht vom aktuellen Zeitpunkt in die Vergangenheit.

Die Anweisung funktioniert nicht für Statistiken einer älteren Automation Engine-Version!

-) Alias- oder Objekt-Name

-) Status

-) Tage

-) Zeit im Format HH:MM

CHECK PROCESS

Überprüft, ob ein bestimmter Prozess auf einem Rechner läuft.

Nur möglich bei Windows- und UNIX-Plattformen!

-) Prozess: PID (Prozess ID) oder Name des Prozesses
Es ist auch möglich nur einen Teil des Prozessnamens, entweder mit oder ohne Wildcards (*), anzugeben. Wird eine Zeichenkette ohne Wildcards angegeben, so wird trotzdem innerhalb der Prozessnamen gesucht.

-) Status
"Läuft" oder "Läuft nicht"

-) Agent
UNIX- oder Windows-Agent

-) Login-Objekt

Beim Wert *OWN für den Agent bzw. das Login-Objekt werden die Attribute der Aufgabe verwendet (nur möglich bei FileTransfer und Jobs). Bei FileTransfers werden die Werte der Quelle ermittelt.

.

CURRENT TIME Überprüfen ob sich eine bestimmte Zeit vor oder nach der aktuellen (physische) Uhrzeit befindet, umgerechnet in die Zeitzone, mit der die Aufgabe gestartet wurde

-) "Vor" oder "Nach"

-) Vergleichs-Zeit im Format HH:MM:SS

USER DEFINED Vergleicht zwei beliebige Werte miteinander

-) Wert 1 (Script-Literal, vordefinierte Variablen)

-) Operator: '>', '>=', '=', '<','<=' oder '<>'

-) Wert 2 (Script-Literal, vordefinierte Variablen)

Dabei werden nur jene vordefinierten Variablen aufgelöst, deren Werte zu dem Zeitpunkt des Zugriffs verfügbar sind. Es können Variablen für System-, Objekt und Variablenobjekt-Werte verwendet werden.

Aufgaben hinzufügen

Um Aufgaben zu IF-Workflows hinzuzufügen, ziehen Sie ein oder mehrere Objekte aus dem Explorer via Drag&Drop auf den jeweiligen Zweig (True oder False).

Aufgaben können / müssen nicht manuell verbunden werden. Nach Hinzufügen einer Aufgabe, wird diese automatisch verbunden. Das Linien-Werkzeug steht daher in der Registerkarte Logik nicht zur Verfügung!

Aufgaben entfernen

Selektieren Sie die zu löschenden Aufgaben aus dem Zweig True oder False und rufen Sie entweder den Kontextmenü-Befehl Entfernen auf oder verwenden Sie die ENTF-Taste.

Beachten Sie, dass die Linien in IF-Workflows fix vorgegeben sind und daher nicht gelöscht werden können!

Aufgaben positionieren

Die Reihenfolge der Aufgaben entlang der Zweige kann durch Verschieben beliebig geändert werden. Es ist auch möglich Aufgaben auf den anderen Zweig zu verschieben.

Beachten Sie, dass Aufgaben entlang der Zweige nur seriell angeordnet werden können!


Durchführung

Änderung an aktiven IF-Workflows

Änderungen an aktiven Workflows sind auch bei den Workflow-Typen IF und FOREACH möglich, allerdings mit folgenden Einschränkungen:

Prognose

Für die Berechnung von Prognosen wird der Zweig verwendet, der die längere Gesamtdauer aufweist.

Wiederanlauf

Beim Wiederanlauf werden die Bedingungen / Anweisungen des START-Objekts erneut ausgewertet. Dadurch ist es - abhängig von den Bedingungen und den Umständen - möglich, dass der andere Aufgaben-Zweig durchgeführt wird. Ein Wiederanlauf verhält sich somit wie ein normaler Start.

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH