ABAP Keyword Documentation → ABAP - Reference → Program Flow Logic → Expressions and Functions for Conditions
log_exp - Logical Expressions
Other versions: 7.31 | 7.40 | 7.54
Syntax
... rel_exp
| [NOT] log_exp [AND|OR|EQUIV log_exp] ...
Effect
A logical expression formulates a condition for operands. The result of a logical expression log_exp
is a
logical value and can therefore be true or false.
A logical expression is either a single relational expression rel_exp
or an expression constructed from the
boolean operators
NOT
, AND
, OR
, EQUIV
and one or more logical expressions.
Parentheses are possible here. An atomic part of a composite logical expression is always one of the following relational expressions:
Logical expressions can be used as follows:
- To formulate conditions in control statements and other statements used to control the program flow.
- As an argument of a boolean function for representing a logical value in a character-like or byte-like data object.
- In
WHERE
conditions of processing statements for internal tables.
Notes
- The operand positions
operand
of most relational expressions are general expression positions, which means that, depending on the expression, data objects, predefined functions, functional methods, calculation expressions, constructor expressions, or table expressions can be specified.
- If, in a logical expression, functional methods are specified as operands of a relational expression, they are executed from left to right and from inside to outside before the relational expression is evaluated. In the case of joined relational expressions, this is true for each individual relational expression and not for the overall logical expression.
- Since ABAP does not recognize any Boolean data objects for the logical values true and false, the result of a logical expression cannot currently be directly assigned to a data object as is the case for calculation expressions. Instead, the return value of a Boolean function can be used.
- Logical expressions cannot be mixed with calculation expressions. However, a logical expression can be executed as an argument of a Boolean function in a suitable calculation expression.
- The program DEMO_EXPRESSIONS also shows examples of the use of logical expressions, among other things.
Example
Logical expression created from a predicate expression, a comparison expression, and a predicate function using the boolean operator AND
, in a control statement.
IF p1 IS SUPPLIED AND
p1 <= upper_limit AND
matches( val = p2 regex = regular_expression ).
...
ENDIF.