Anfang des Inhaltsbereichs

Mehrere logische Ausdrücke verknüpfen Dokument im Navigationsbaum lokalisieren

Um mehrere logische Ausdrücke zu einem logischen Ausdruck zu verknüpfen, verwendet man die logischen Verknüpfungsoperatoren AND oder OR:

Durch das Voranstellen des Operators NOT kann das Ergebnis eines logischen Ausdrucks umgekehrt werden.

NOT hat Priorität vor AND und AND hat Priorität vor OR. Es können jedoch beliebige Kombinationen von Klammerausdrücken verwendet werden, um die Verarbeitungsfolge festzulegen. Wie in mathematischen Ausdrücken interpretiert ABAP jede Klammer als ein einzelnes Wort. Daher muß vor und nach jeder Klammer mindestens ein Leerzeichen stehen.

ABAP arbeitet logische Ausdrücke von links nach rechts ab. Wird erkannte, daß einer der Teilausdrücke erfüllt oder nicht erfüllt ist, werden keine weiteren Vergleiche oder Prüfungen für diesen Teilausdruck durchgeführt. Die Performance kann also dadurch verbessert werden, indem logische Ausdrücke so angeordnet werden, daß Vergleiche, die häufig falsch ausfallen, am Anfang einer AND-Reihe stehen und aufwendige Vergleiche, wie z.B. die Suche nach Zeichenfolgen, am Ende der Verknüpfung.

Beispiel

REPORT demo_log_expr_connected .

DATA: f    TYPE f VALUE '100.00',
      n(3) TYPE n VALUE '123',
      c(3) TYPE c VALUE '456'.

WRITE 'The following logical expression is true:'.

IF ( c LT n ) AND ( n GT f ).
  WRITE: / '(',c,'lt',n,') AND (',n,'gt',f,')'.
ELSE.
  WRITE: / '(',c,'ge',n,') OR (',n,'le',f,')'.
ENDIF.

Die Listenausgabe ist:

The following logical expression is true:

( 456 ge 123 ) OR ( 123 le  1.000000000000000E+02 )

Der logische Ausdruck in der IF-Anweisung ist falsch und der invertierte Ausdruck wird ausgegeben.

Ende des Inhaltsbereichs