Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Ausdrücke

&pagelevel(6)&pagelevel

Ein Ausdruck legt fest, wie aus gegebenen Werten ein neuer Wert berechnet wird. Ein Ausdruck entsteht durch die Verknüpfung von Basistermen mit Operatoren.
Ein Basisterm kann sein:

  • <c-string>

  • <x-string>

  • boolesche Konstante mit ON, TRUE, YES für die boolesche Eins und mit OFF, FALSE, NO für die boolesche Null

  • Name einer S-Variablen

  • Funktionsaufruf einer Builtin-Funktion

Nach den verwendeten Operatoren werden unterschieden:

  • String-Ausdrücke

  • arithmetische Ausdrücke

  • Vergleichsausdrücke

  • logische Ausdrücke

Mit SDF-P-BASYS sind nur Vergleichsausdrücke und logische Ausdrücke (nur Negation) möglich. Die weiteren Ausdrücke sind im Handbuch „SDF-P“ [34] beschrieben.

Ein Vergleichsausdruck hat die Form:

( ausdruck1 operator ausdruck2 )

ausdruck 1 bzw. ausdruck 2 können beliebige Ausdrücke sein (Basisterm oder ein zulässiger Ausdruck), sie müssen aber vom gleichen Typ sein. Anderenfalls wird eine Fehlermeldung ausgegeben und die SDF-P-Fehlerbehandlung angestoßen.

Als operator ist möglich:

LT

bzw.

<

kleiner als

LE

bzw.

<=

kleiner gleich

EQ

bzw.

=oder==

gleich

NE

bzw.

<>

nicht gleich

GT

bzw.

>

größer als

GE

bzw.

>=

größer gleich

Der gesamte Ausdruck ist in Klammern einzuschließen. Operatoren müssen in Leerzeichen eingeschlossen werden.

Das Ergebnis eines Vergleichs hat den Typ BOOLEAN, ist also TRUE oder FALSE.

Der Vergleich von Zeichenketten erfolgt byteweise von links nach rechts. Der Vergleich bezieht sich dabei auf die Stellung der Zeichen im EBCDI-Code. Die erste Ungleichheit bestimmt das Ergebnis. Weitere Zeichen werden nicht mehr untersucht. Wird bis zum letzten Zeichen des kürzeren Operanden kein Unterschied festgestellt, so ist der längere Operand größer. Operanden sind gleich, wenn sie sich in keinem Zeichen unterscheiden.

Beispiel

A = ’ABC’          



B = ’ABCDE’



(B > A)

->

Ergebnis TRUE

(’A’ = X’C1’)

->

Ergebnis TRUE

(B > ’1’)

->

Ergebnis FALSE

C = (A = B)

->

Variable C hat FALSE

Ein logischer Operator verknüpft Ausdrücke vom Typ BOOLEAN. Mit SDF-P-BASYS ist nur der logische Operator NOT verfügbar, der als Ergebnis die Negation eines Ausdrucks liefert:

NOT( ausdruck1 )

Beispiel

A = ’AB’           

       


B = ’ABCD’



(B > A)

->

Ergebnis TRUE

NOT(B > A)

->

Ergebnis FALSE

Hinweis

Die Bezeichnung „string-ausdruck“, die als Parameterwert in Builtin-Funktionen verwendet wird, kann folgende Werte annehmen:

  • eine in Hochkommata eingeschlossene Zeichenfolge (<c-string>)

  • Name einer Variablen, die eine Zeichenkette enthält (<composed-name>)

  • ein Ausdruck, der als Ergebnis eine Zeichenkette zurückliefert

Beispiel

/JV-NAME = ’MY-JV’

       


/MY-VAR = JV(’JV-NAME’)

->

Wert der Jobvariablen JV-NAME

/MY-VAR = JV(JV-NAME)

->

Wert der Jobvariablen MY-JV

/MY-VAR = JV(’&JV-NAME’)

->

Wert der Jobvariablen MY-JV

/MY-VAR = JV(JV(JV-NAME))

->

Wert der Jobvariablen, deren Name in der Jobvariablen MY-JV abgelegt ist