Skip to content

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.