Funktion
Sind innerhalb einer zusammengesetzten Bedingung keine Klammern angegeben, können alle Vergleichsbedingungen, mit Ausnahme der ersten, auf folgende Weise abgekürzt werden:
Das Subjekt der Vergleichsbedingung kann wegfallen.
Das Subjekt und der Vergleichsoperator der Vergleichsbedingung können wegfallen.
Der Compiler erlaubt jedoch Klammern, und zwar in Vergleichssubjekten und -objekten, die arithmetische Ausdrücke sind, und um die Reihenfolge der Auswertung der logischen Operatoren AND und OR zu beeinflussen.
Format des indirekten Subjekts
...subjekt vergleichsoperator objekt {AND | OR} [NOT] vergleichsoperator objekt...
Format des indirekten Subjekts und indirekten Vergleichsoperators
...subjekt vergleichsoperator objekt {AND | OR} [NOT] objekt...
Syntaxregeln
Innerhalb einer Folge von Vergleichsbedingungen können beide Abkürzungsformen benutzt werden. Die Verwendung dieser Abkürzungen hat die gleiche Auswirkung, als ob das weggelassene Subjekt durch das zuletzt aufgeführte Subjekt bzw. der weggelassene Vergleichsoperator durch den zuletzt aufgeführten Vergleichsoperator ersetzt würde.
„NOT“ in einer abgekürzten zusammengesetzten Vergleichsbedingung wird folgendermaßen interpretiert:
Folgt dem Wort NOT einer der Vergleichsoperatoren
GREATER, >, LESS, <, EQUAL, =,
so gilt „NOT“ als Teil des jeweiligen Vergleichsoperators.Folgt dem Wort NOT einer der übrigen Vergleichsoperatoren, so gilt „NOT“ als logischer Operator zur Verneinung der jeweiligen Vergleichsbedingung.
Ein „NOT“ vor einer öffnenden Klammer wirkt bis zur entsprechenden schließenden Klammer (siehe Beispiel 8-15).
Beispiel 8-11
Indirekte Subjekte
IF X = Y OR > W OR < Z
ist gleichbedeutend mit:
IF X = Y OR X > W OR X < Z
In diesem Beispiel ist das indirekte Subjekt das zuletzt genannte Subjekt, also X.
Beispiel 8-12
Indirekte Subjekte und Vergleichsoperatoren
IF X = Y OR Z OR W
ist gleichbedeutend mit:
IF X = Y OR X = Z OR X = W
In diesem Beispiel ist das indirekte Subjekt das zuletzt genannte Subjekt, also X und der indirekte Operator ist der zuletzt genannte Operator, also =.
Beispiel 8-13
Indirektes Subjekt und indirektes Subjekt mit Vergleichsoperator
X = Y AND > Z OR A
ist gleichbedeutend mit:
X = Y AND X > Z OR X > A
Da X hier das einzige Subjekt ist, wird es in den beiden einfachen Bedingungen eingesetzt. Der zuletzt genannte Operator, nämlich >, wird in der dritten einfachen Bedingung eingesetzt.
Beispiel 8-14
A > B AND NOT > C OR D
ist gleichbedeutend mit:
A > B AND NOT A > C OR NOT A > D
oder ((A > B) AND (A NOT > C)) OR (A NOT > D)
Beispiel 8-15
A NOT = "A" AND NOT ("B" OR NOT "C")
ist gleichbedeutend mit:
A NOT = "A" AND NOT (A NOT = "B" OR NOT A NOT = "C")
oder
A NOT = "A" AND A = "B" AND A NOT = "C"
oder
A = "B".