Zum Hauptinhalt springen

Bedingung (IF)-Transferobjekt

Mit dem Transferobjekt „Bedingung (IF)" führen Sie Teile eines Flows nur dann aus, wenn eine Bedingung erfüllt ist. Ist die Bedingung wahr, läuft der THEN-Zweig; ist sie falsch, läuft der optionale ELSE-Zweig. Beide Zweige sind Unterabläufe, die exklusiv zu diesem Bedingungs-Transferobjekt gehören.

Erstellen Sie das Objekt innerhalb des Flows wie beschrieben und öffnen Sie den Editor per Doppelklick.

Eigenschaften

Der Editor ist in die Reiter Eingänge, Ausgänge und Variablen gegliedert.

Reiter „Eingänge"

EigenschaftBeschreibung
EingängeListe der Eingangswerte (Name + Datentyp). Jeder Eingang erscheint als verdrahtbares Item am Objekt, wird an den Zweig übergeben und ist im Bedingungsausdruck als Variable nutzbar. Der Name muss ein gültiger Variablenname sein; Namen von Rechner-Funktionen (z. B. MAX, MIN) werden abgewiesen.
BedingungDer Ausdruck, der über THEN oder ELSE entscheidet. Es gilt die Syntax des Taschenrechner-Transferobjekts; über die Schaltfläche ƒ fügen Sie Funktionen ein. Das Ergebnis muss ein Wahrheitswert sein; ein numerisches Ergebnis ungleich 0 gilt als wahr.
PrüfenValidiert den Ausdruck (Syntax, verwendete Variablen, Ergebnistyp) mit Beispielwerten der deklarierten Typen und zeigt ein Beispiel-Ergebnis. In einer Vorlage werden enthaltene Vorlagen-Variablen vor der Prüfung durch ihre Werte ersetzt (Instanzwert, sonst Standardwert); die Meldung nennt den geprüften Ausdruck. Variablen ohne Wert lassen sich erst mit den Werten der Instanz prüfen – der Editor zeigt dann einen Hinweis statt eines Fehlers.

Über Eingang einfügen fügen Sie deklarierte Eingänge mit einem Klick zur Bedingung hinzu.

Beispiele für Bedingungen:

Temperatur > 80
Status == "OK" && Stueckzahl >= 100

Reiter „Ausgänge"

EigenschaftBeschreibung
AusgängeListe der Rückgabewerte (Name + Datentyp). Jeder Ausgang erscheint als Item am Objekt und erhält seinen Wert aus der Scope-Rückgabe des ausgeführten Zweigs.
StandardwertOptionaler Wert pro Ausgang. Er greift, wenn der ausgeführte Zweig keinen Wert liefert – oder wenn die Bedingung falsch ist und kein ELSE-Zweig existiert.

Reiter „Variablen"

Deklaration der Scope-Variablen beider Zweige (Name, Datentyp, Standardwert) sowie deren Belegung: statischer Wert oder verdrahteter Eingang (leerer statischer Wert erzeugt ein verdrahtbares Item „Condition Variable Inputs").

Die Variablen werden auf beide Zweige synchronisiert. Auch eine direkt im Zweig-Designer angelegte Variable wird automatisch in das Bedingungs-Transferobjekt und den jeweils anderen Zweig übernommen.

Zweige und weitere Eigenschaften

Die Zweige werden direkt am Diagramm-Knoten des Objekts verwaltet: Die Aktionsleiste zeigt THEN erstellen bzw. THEN öffnen (analog für ELSE). Das Erstellen legt den Unterablauf an und verknüpft ihn sofort mit dem Objekt; das Öffnen wechselt in einen neuen Reiter, der aktuelle Reiter bleibt geöffnet.

EigenschaftBeschreibung
THEN-ZweigPflicht. Wird über die Aktionsleiste am Knoten erstellt und geöffnet.
ELSE-ZweigOptional. Ohne ELSE-Zweig wird bei falscher Bedingung kein Zweig ausgeführt und die Standardwerte der Ausgänge werden angewendet.

Zweige reparieren

Erkennt der Editor Probleme an den Zweigen (z. B. nach externen Änderungen an den Projektdateien), listet er sie in einem Hinweis unterhalb der Reiter auf und bietet zwei Aktionen an: Zweige reparieren stellt Metadaten, fehlende Scope-Brücken und Variablen der referenzierten Zweige wieder her; Nicht referenzierte Zweige löschen entfernt Zweige, die zu diesem Transferobjekt gehören, aber nicht mehr als THEN- oder ELSE-Zweig referenziert sind (nur sichtbar, wenn solche Zweige existieren).

Verhalten zur Laufzeit

SituationVerhalten
Bedingung wahrTHEN-Zweig läuft; seine Rückgabewerte stehen an den Ausgängen. Der ELSE-Zweig wird als „Übersprungen" vermerkt.
Bedingung falsch, ELSE vorhandenELSE-Zweig läuft.
Bedingung falsch, kein ELSEKein Zweig läuft; die Standardwerte der Ausgänge werden angewendet; der Transfer ist erfolgreich.
Fehler im ZweigDer Transfer des Flows schlägt fehl; die Statusdetails nennen den Zweig und die fehlgeschlagene Stelle.
Zeitlimit überschrittenLäuft der Zweig länger als das Zeitlimit von 30 Sekunden, schlägt der Transfer fehl und der Zweig wird abgebrochen.

In den Transferdetails des Objekts sehen Sie zu jedem Lauf das Bedingungsergebnis, den ausgeführten und den übersprungenen Zweig, das Aufruf-Ziel und die Dauer.

Kopieren und Löschen

  • Wird das Bedingungs-Transferobjekt einzeln kopiert und eingefügt, erhält die Kopie keine Zweige – sie teilt niemals die Zweige des Originals.
  • Wird der gesamte Flow kopiert, exportiert oder importiert, wandern die Zweige mit und werden automatisch neu verknüpft.
  • Wird der Flow gelöscht, werden seine Zweige mitgelöscht.