Bedingungen
In Formelattributen können Bedingungen formuliert werden. Diese werden durch geschweifte Klammern {} gekennzeichnet.
Bedingungen werden in der Art einer Case-Anweisung geschrieben.
Es gibt grundsätzlich mehrere Alternativen je Bedingung. Eine Schachtelung der Bedingungen ist möglich.
Nach dem Vergleichswert einer Bedingung muss im Formelattribut ein Leerzeichen stehen!
Schlüsselkennung { } | Bedingung |
Syntax: {[ j ] <Bedingungsformel> [ { [ = | < | > | <> | ? | : ("<Wertestring>" | <aid> | <( "<Data Service>")> ] 1+ Leerzeichen <Ausführungsformel> } ]1+ }; | |
j | Nach Abarbeitung der Bedingung springe (jump) zum Objekt vor der Ausführung. |
Bedingungsformel | Formelstring, dessen Ergebnis den Prüfstring ergibt. |
=, <>, >, < | Prüfung auf Gleichheit, Ungleichheit, größer oder kleiner. |
? | Prüfung über Platzhalter (Wildcard), d. h. * (beliebig viele Zeichen) und ?(genau ein Zeichen). |
Wertestring | Die Zeichenfolge, die mit dem Prüfstring verglichen wird. Bei ? enthält die Zeichenfolge Platzhalter, z. B. "??abc", "ABa**". |
aid | Alternativer Wert eines Attributs am Startobjekt (das Objekt vor der ersten geschweiften Klammer), der mit dem Prüfstring verglichen wird. |
Data Service | Alternativer Wert eines Attributs am Startobjekt – die Auswahl erfolgt über den Datenservice-Eintrag. |
:"" | Dieses Statement (ohne Bedingung) legt den Sonst-Fall der Case-Anweisung fest. Hier können Sie festlegen, was ausgeführt werden soll, wenn alle anderen Bedingungen nicht zutreffen. |
Ausführungsformel | Anweisung, die ausgeführt wird, wenn die Prüfung erfolgreich war.
Das erreichte Objekt am Ende der Ausführungsformel ist auch das aktuelle Objekt nach der gesamten Bedingung. Ausnahme ist {j ...{...}}; |
Beispiele für Formeln mit Bedingungen
Vergleich von 2 Attributwerten:
Das Attribut mit der ID = 245 enthält die Breite und das mit der ID = 246 die Höhe eines Objekts.
- {A245;{=246 "gleich";}{:"""ungleich";}};
Ergebnis für Breite = 20,00 mm und Höhe = 20,00 mm „gleich“
Ergebnis für Breite = 20,00 mm und Höhe = 30,00 mm „ungleich“- {A245;{=246 "2 x ";A245;}{:"" =f*A245A246; " mm2";}};
Ergebnis für Breite = 20,00 mm und Höhe = 20,00 mm: „2 x 20,00 mm
Ergebnis für Breite = 20,00 mm und Höhe = 30,00 mm: „600,00 mm“- {=f+A245A246;{="40,00""vierzig";}{:""=f+A245A246; " mm";}};
Ist die Summe von Höhe (20,00 mm) und Breite (20,00 mm) = 40,00, soll „vierzig“ ausgegeben werden, ansonsten soll die Summe von Breite und Höhe als Fließkomma-Zahl mit „mm“ dargestellt werden.
Prüfung, ob ein Attributwert eine bestimmte Bedingung erfüllt:
- {A25; {?"?lemml* ""A25 enthält das Wort Klemmleiste";}};
Mit ?"?lemml*"wird „Klemmleiste“ gefunden.
- {AF245(256);{="1""manuell ";A245;}{:"" A245;}};
AF245(256) gibt den Wert „1“ aus, wenn das Attribut mit der ID = 245 manuell eingetragen wurde.
Ergebnis bei manueller Eingabe des Attributs mit der ID = 245: „manuell 20,00 mm“.- {A10290;{="1" A10001;}{:"" A10002;}};
Das Attribut mit der ID = 10290 sei ein boolesches Attribut.
Hat dieses den Wert „1“ (logisches „wahr“), wird der Wert des Attributs mit der ID = 10001 ausgegeben, ansonsten der Wert des Attributs mit der ID = 10002.- {A5;{="20"<"10">77 "im Bereich";}{:"""nicht im Bereich";}};
Ist der Wert des Attributs mit der ID = 5 gleich 20 oder kleiner 10 oder größer als der Wert des Attributs mit der ID = 77 des Startobjekts, ist das Ergebnis der Formel „im Bereich“.
Wird die Bedingung nicht erfüllt, wird „nicht im Bereich“ ausgegeben.- {A5;{="1"<"2""<2";}{="10">"24"">24";}{:"""default";}};
Ist der Wert des Attributs mit der ID = 5 gleich 1 oder kleiner 2, wird „<2“ ausgegeben.
Ist der Wert gleich 10 oder größer 24, wird „>24“ ausgegeben.
Wird keine der Bedingungen erfüllt, wird „default“ ausgegeben.
Aufgabe: Pro Kindobjekt der 1. Stufe (A1, A2) sollen die Kindobjekte der 2. Stufe (1.2, 1.3, 2.2) aufgelistet werden. Die Kindobjekte der ersten Stufe sollen mit „ / “ getrennt werden, die der 2. Stufe mit „#“. Sobald der Wert des Kindobjekts der 2. Stufe 2.3 erreicht, soll die Ausführung der Formel beendet werden. Ergebnis der Formel: START 1.2 # 1.3 / 2.2 # |
Aufgabe: Ist ein Betriebsmittel eine Klemme, soll die Funktion der Klemmleiste, die Klemmleiste, Funktion der Klemme und die Klemme ausgegeben werden. Ansonsten soll der Text „<> Klemme“ ausgegeben werden. Verwendete Funktion: Ergebnis der Funktion: für die Klemme (Startobjekt 1): .PS -0X1 .PS 1 für die Abschlussplatte (Startobjekt 2): <>Klemme |



