ABAP Keyword Documentation → ABAP - Reference → Program Flow → Expressions and Functions for Logical Expressions → log_exp - Logical Expressions → log_exp - Comparisons → log_exp - Relational Operators
log_exp - Relational Operators for Bit Patterns
The table below shows the relational operators for comparisons of operands (single operands or
bit expressions). with bit patterns in byte-like operands. The data type of the right operand operand2
must be byte-like
(x
or xstring
). It contains the bit pattern to
which the left operand operand1
is compared. If operand1
is shorter than operand2
, hexadecimal zeroes are appended to the right of operand1
to lengthen it appropriately. However, no conversion takes place.
In Unicode programs, the data type of operand1
must also be byte-like
(x
or xstring
). Outside of Unicode programs, operand1
can be of any elementary data type or have a
flat structure.
|Operator|Meaning|
|----|----|
|O
|Ones: True if the bits that are 1 in operand2
, are also 1 in operand1
.If operand2
contains only zeroes, the logical expression is always true.|
|Z
|Zeros: True, if the bits that are 1 in operand2
are 0 in operand1
.If operand2
contains only zeroes, the logical expression is always true.|
|M
|Mixed: True, if of the bits that are 1 in operand2
, at least one is 1and one is 0 in operand1
. If operand2
contains only zeroes, the logical expression is always false.|
Other versions: 7.31 | 7.40 | 7.54
Note
For the result of the comparisons, it is irrelevant whether the bits that are 0 in operand2
, are 1 or 0 in operand1
.
Example
The logical expression in the IF
statement is false, because before the comparison,
hex1
is lengthened to the right with 00. If the content of hex2
was 111100, then the comparison would be true.
DATA: hex1 TYPE xstring,
hex2 TYPE xstring.
hex1 = 'FFFF'.
hex2 = '111111'.
IF hex1 O hex2.
...
ENDIF.