Mit dem Condition-Baustein können Sie Verzweigungen im Prozess abbilden, wobei jeder Ausführungszweig eine Bedingung enthalten muss.
Für Fallunterscheidungen können Sie Bedingungen definieren anhand von:
Ausführstatus (Statuswert) eines bereits ausgeführten Prozessschritts
Parametern (globalen, System- oder Projekt-Parametern)
Kontextvariablen
Alle Werte werden zur Prozesslaufzeit vom X4 Server ausgewertet.
Wenn Sie für einen Ausführungszweig keine Bedingung festgelegt haben, wird dieser immer ausgeführt. Dies wird durch ein halbtransparentes Symbol des Condition-Bausteins dargestellt. Wenn mehrere Bedingungen zutreffen, werden alle entsprechenden Zweige gemäß deren Priorität nacheinander ausgeführt.
Voraussetzungen
Um den Condition-Baustein korrekt nutzen zu können, müssen folgende Voraussetzungen erfüllt sein:
Ein Condition-Baustein muss mindestens zwei Ausführungszweige besitzen.
Ausführungszweige dürfen nicht komplett leer sein. Mindestens ein Ausführungszweig muss einen Prozessbaustein enthalten.
Für jeden Ausführungszweig muss mindestens eine eindeutige und gültige Bedingung definiert werden.
Der Condition-Baustein sollte sich nicht innerhalb eines Fork/Join-Konstruktes befinden.
Condition-Baustein in einen Prozess einfügen
Grundsätzlich gehen Sie wie folgt vor, um den Condition-Baustein in einen Prozess einzufügen:
Ziehen Sie den Condition-Baustein per Drag&Drop aus der Palette in die Zeichnungsfläche.
Definieren Sie Übergangslinien vom davor liegenden Prozessbaustein zum Condition-Baustein und für die Ausführungszweige.
Doppelklicken Sie auf den Condition-Baustein oder einen der dahinter liegenden Ausführungszweige, um den Condition Editor zu öffnen.
Legen Sie im Condition Editor mindestens eine Bedingung für jeden Ausführungszweig fest. Klicken Sie dazu auf einen Übergang hinter dem Condition-Baustein, um einen Ausführungszweig zu wählen. Der gewählte Übergang wird nun rot gestrichelt hervorgehoben. Sie können im Condition-Bereich jetzt Auswertungskriterien wählen (anhand des Ausführstatus, anhand von Parametern (globalen, System- oder Projekt-Parametern) sowie anhand von Kontextvariablen, siehe unten).
Jede Bedingung kann aus mehreren Bedingungselementen bestehen, die Sie über logische Operatoren (AND, OR und NOT) verknüpfen bzw. kombinieren und verschachteln können. Weitere Bedingungselemente können Sie über die entsprechenden Schaltflächen einfügen.
Klicken Sie auf Close, um die Bedingungen zu speichern.
ACHTUNG: Unerwartetes Verhalten der Prozess-Engine!
Wenn Sie innerhalb einer Schleife, die ein Fork- und Join-Element enthält, eine weitere Schleife in Ihrem Prozessdiagramm definieren, dann kann der X4 Server den Status für die bereits abgearbeiteten Prozessschritte nicht korrekt zurücksetzen.
Lagern Sie stattdessen die innere Schleife mit sämtlichen Prozessbausteinen als Subprozess aus. Weitere Informationen hierzu finden Sie unter Subprocess.
Bedingungen anhand des Ausführstatus definieren
Mit Condition-Bausteinen können Sie anhand des Statuswerts eines bereits ausgeführten Prozessschritts eine oder mehrere Bedingungen definieren. So kann beispielsweise überprüft werden, ob ein Iterator-Adapter keine Daten mehr liefert, sodass die Prozessausführung auf einen Stop-Baustein umgeleitet und damit beendet wird.
Um eine Bedingung anhand des Ausführstatus zu definieren, gehen Sie wie folgt vor:
Klicken Sie im Condition Editor auf eine Übergangslinie hinter dem Condition-Baustein, um einen Ausführungszweig zu wählen.
Wählen Sie unter Edit Condition den Prozessbaustein aus, dessen Ausführstatus zur Prozesslaufzeit ausgewertet werden soll. Hier stehen nur vorangegangene Bausteine des Prozesses zur Auswahl. Alternativ können Sie auch einen Prozessbaustein aus der Prozessvorschau per Klick wählen.
Wählen Sie einen Vergleichsoperator aus (z. B. <, =), und geben Sie einen ganzzahligen Vergleichswert an, auf den in der Bedingung geprüft werden soll, z. B. 1 (ok). Bei Bedarf können Sie auch Bedingungen mit logischen Operatoren (AND, OR, NOT) verknüpfen bzw. verschachteln.
Klicken Sie auf Close, um die Bedingungen speichern.
Bedingungen anhand von System-Parametern definieren
Mit Condition-Bausteinen können Sie anhand von aktuellen Umgebungsbedingungen die Ausführung des Technical Processes beeinflussen. Dazu können Sie in Bedingungen über System-Parameter wie %CURRENT_PROJECT% die aktuellen Werte zur Prozesslaufzeit ermitteln. Weitere Informationen hierzu finden Sie unter Übersicht der System-Parameter.
Um eine Bedingung anhand eines Parameters zu definieren, gehen Sie wie folgt vor:
Klicken Sie im Condition Editor auf eine Übergangslinie hinter dem Condition-Baustein, um einen Ausführungszweig zu wählen.
Wählen Sie in der Auswahlliste links oben den Eintrag Parameters, um darunter in einer Liste die verfügbaren Parametergruppen und deren Parameter anzuzeigen.
Wählen Sie den Parameter aus, dessen aktueller Wert zur Prozesslaufzeit ausgewertet werden soll, z. B. CURRENT_PROJECT.
Wählen Sie einen der folgenden Vergleichsoperatoren:
= gleich wie …
!= ungleich …
contains enthält …
startsWith beginnt mit …
endsWith endet mit …
Geben Sie einen beliebigen alphanumerischen Vergleichswert an, auf den geprüft werden soll, z. B. MyX4Project. Bei Bedarf können Sie auch Bedingungen mit logischen Operatoren (AND, OR, NOT) verknüpfen bzw. verschachteln.
Klicken Sie auf Close, um die hinterlegte Bedingung zu speichern.
Bedingungen anhand von globalen oder Projekt-Parametern definieren
Mit Condition-Bausteinen können Sie unter bestimmen Voraussetzungen auch globale oder Projekt-Parameter für die Definition von Bedingungen verwenden. Wie mit System-Parametern lässt sich somit je nach aktuellen Umgebungsbedingungen die Ausführung des Technical Processes beeinflussen.
Um in Bedingungen globale oder Projekt-Parameter im Condition Editor zu verwenden und zur Prozesslaufzeit auswerten zu können, gehen Sie grundsätzlich wie bei der Definition von Bedingungen mit System-Parametern vor.
Bedingungen anhand von globalen Parametern definieren
Beachten Sie jedoch folgende zusätzlichen Voraussetzungen bei globalen Parametern:
Der globale Parameter muss bereits in der Global Parameter Configuration definiert sein, um im Condition Editor ausgewählt werden zu können. Weitere Informationen hierzu finden Sie unter Globale Parameter und -gruppen erstellen.
Der globale Parameter muss zudem auch während der Prozessausführung in der Global Parameter Configuration definiert sein, um zur Laufzeit vom X4 Servers ausgewertet werden zu können.
In den Prozess-Eigenschaften muss in der Eigenschaft Parameter Groups die entsprechende Parametergruppe ausgewählt sein. Weitere Informationen hierzu finden Sie unter Globale Parameter und -gruppen erstellen.
Bedingungen anhand von Projekt-Parametern definieren
Beachten Sie jedoch folgende zusätzlichen Voraussetzungen bei Projekt-Parametern:
Der Projekt-Parameter muss bereits in der Datei mit der Endung *.param im Projekt definiert sein, um im Condition Editor ausgewählt werden zu können. Weitere Informationen hierzu finden Sie unter Projekt-Parameter.
Mit Custom Types und Custom Type Values können Auswahloptionen für die Verwendung im Condition Editor definiert werden. Weitere Information hierzu finden Sie unter Custom Types erstellen.
Anwendungsbeispiel für Projekt-Parameter mit Custom Types
Der Custom TypeAnswerOptions hat die Werte (Values) YES, NO, MAYBE und Anzeigenamen (Display Names) yes, no, maybe:
Die Values sind dann im Condition Editor auswählbar:
Bedingungen anhand von Kontextvariablen definieren
Mit Condition-Bausteinen können Sie anhand von aktuellen Kontextvariablenwerten Bedingungen definieren, welche die Ausführung des Technical Processes beeinflussen.
Um eine Bedingung anhand einer Kontextvariablen zu definieren, gehen Sie wie folgt vor:
Klicken Sie im Condition Editor auf eine Übergangslinie hinter dem Condition-Baustein, um einen Ausführungszweig zu wählen.
Wählen Sie in der Auswahlliste links oben den Eintrag Variables, um darunter eine Liste von Kontextvariablen anzuzeigen, die bereits im Prozess definiert wurden.
Wählen Sie die Kontextvariable aus, deren aktueller Wert zur Prozesslaufzeit ausgewertet werden soll, z. B. MyVar.
Wählen Sie einen der folgenden Vergleichsoperatoren:
= gleich wie …
!= ungleich …
contains enthält …
startsWith beginnt mit …
endsWith endet mit …
Geben Sie einen beliebigen alphanumerischen Vergleichswert an, auf den geprüft werden soll, z. B. 1.
Bei Bedarf können Sie auch Bedingungen mit logischen Operatoren (AND, OR, NOT) verknüpfen bzw. verschachteln.
Klicken Sie auf Close, um die hinterlegte Bedingung zu speichern.
JavaScript errors detected
Please note, these errors can depend on your browser setup.
If this problem persists, please contact our support.