Ein Ausdruck ist eine Referenz auf eine Variable, Konstante, Objekt oder Objektfeld, oder aber eine Zusammensetzung von mehreren solchen Referenzen, die durch einen Operator miteinander verbunden sind.
<item-1> [<operator> <expr-1>]
Ein Ausdruck kann sich aus mehreren Ausdrücken zusammensetzen, z.B.
Ergebnis = Preis + Zuschlag * MWstsatz / 100
Ein Ausdruck kann auch den Aufruf einer Built-In Function enthalten, z.B.
Größterwert = _objfldmax(<obj>.<objfld-1>)+ 100
In einer Anweisung benutzte Ausdrücke werden in dieser Beschreibung angegeben als
<expr> oder <expr-1> bis <expr-n>.
Eine Bedingung ist ein Ausdruck, dessen Wert True oder False ist, z.B.
Größterwert > 500 Operation = Auswaehlen
Operatoren können sein:
+ - * / | für mathematische Berechnungen. |
& | für Konkatenierung, z.B. 'Gesamtname = Vorname & „ “ & Zuname' |
&= += | für Konkatenierung und anschließender Wertzuweisung, für Addition und anschließender Wertzuweisung 1) |
> < = >= <= | Vergleichsoperatoren (bei Zeichenfolgen mit Unterscheidung von Groß/Kleinschreibung) |
:>: :<: :=: :>=: :<=: | alphanumerische Vergleichsoperatoren ohne Unterscheidung von Groß/Kleinschreibung; um dies zu erreichen, ist vor und hinter dem Vergleichsoperator ein Doppelpunkt zu schreiben. Hierdurch kann man auch erzwingen, dass Vergleich mit Werten, die numerisch interpretiert werden könnten, trotzdem alphanumerisch durchgeführt werden. |
STATUS [OF] <item-1> = <item-2> oder <item-1> RETURNED <item-2>
<item-1> muss den Namen eines von dem Modul aufgerufenen TAA-Bausteins enthalten, <item-2> den Namen eines Zustands, den dieses Modul liefern kann.
Die Bedingung ergibt wahr, wenn das angegebene Modul zuvor ausgeführt wurde und dabei den angegebenen Zustand zurücklieferte.
STATUS ist ein Bedingungsoperator, keine Variable. Das Wort kann nicht verwendet werden, um den Zustand als String zu referenzieren. Der Ausdruck „STATUS OF … EQUALS …“ kann auch nicht (z.B. in einer Select-Anweisung) in zwei getrennte Ausdrücke aufgeteilt werden.
OPERATION [ = ] <item-3> oder (veraltet) EVENT [ = ] <item-3>
<item-3> muss den Namen eines Ereignisses enthalten, der in dem aktuellen Modul ausgelöst werden kann.
Die Bedingung ergibt wahr, wenn das angegebene Ereignis in dem aktuellen Modul ausgelöst wurde.
OPERATION ist ein Bedingungsoperator, keine Variable. Das Wort kann nicht verwendet werden, um das Ereignis als String zu referenzieren. Der Ausdruck „OPERATION EQUALS …“ kann auch nicht (z.B. in einer Select-Anweisung) in zwei getrennte Ausdrücke aufgeteilt werden.
[OBJECT] <obj> EXISTS
Die Bedingung ergibt wahr, wenn das angegebene Objekt nicht leer ist: Ein Record-Objekt gilt als nicht leer, wenn es ein die Anweisung NEW dafür irgendwann ausgeführt wurde. Ein Mengenobjekt ist nicht leer, wenn es mindestens einen Satz enthält.
In <obj> muss ein gültiges lokales, globales oder Parameterobjekt angegeben sein.