ARTICLE
rel_exp - Comparing Bit Expressions
Bit expressions can be used as operands in comparison expressions with
relational operators for all data types
relational operators for byte-like data types
relational operators for bit patterns
A bit expression can be compared with a single
operand of a byte-like data type
or with another bit expression.
Each bit expression of a comparison expression is calculated based on
the length of its longest operand, with shorter operands padded on the
right with hexadecimal 0. All operands of the entire comparison
expression are respected. The result of the bit expressions involved is
contained within this length and, if necessary, a single operand is
converted to this length before the comparison, again by filling with
hexadecimal 0 on the right. The comparison is then performed using the
rule for a byte-like comparison type .
Note
A bit expression cannot be specified as the operand of a
predicate expression .
Example
This example demonstrates the different ways lengths are handled in
comparisons between byte fields and bit expressions. The bit expression
in the first comparison is evaluated with length 4 and produces the
value hexadecimal 1100. The single operand on the right is converted to
the value hexadecimal 1100 by filling with hexadecimal 00 and the
equality comparison is true. In the second comparison, on the other
hand, the operand on the left is converted to the type xstring
and the operand on the right is not made longer. Here, the inequality
comparison is true.
IF x`FFFF` BIT-AND x`11` = xstring`11`.
WRITE / 'yes'.
ENDIF.
IF x`1100` <(><<)>> xstring`11`.
WRITE / 'no'.
ENDIF.
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved