Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Program Flow Logic →  Expressions and Functions for Conditions →  log_exp - Logical Expressions →  rel_exp - Comparison Expressions →  rel_exp - Relational Operators 

rel_exp - Relational Operators for Bit Patterns

The table below shows the relational operators for comparisons of operands (single data objects or return values or bit expressions) with bit patterns in byte-like operands in comparison expressions. The data type of the right operand operand2 must be byte-like (x or xstring). It contains the bit pattern with which the left operand operand1 is compared. If operand1 is shorter than operand2, hexadecimal zeroes are added to the right of operand1 (in accordance with the comparison rules) to lengthen it appropriately. No conversion takes place. The data type of operand1 must also be byte-like (x or xstring).

|operator|Meaning| |----|----| |O|Ones: True if the bits that are 1 in operand2, are also 1 in operand1.If operand2 contains only zeroes, the relational expression is always true.| |Z|Zeroes: True, if the bits that are 1 in operand2 are 0 in operand1.If operand2 contains only zeroes, the relational 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 relational expression is always false.|

Other versions: 7.31 | 7.40 | 7.54


Notes

  • 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, 00 is added to the right of hex1. If the content of hex2 were 111100, the comparison would be true.

DATA: hex1 TYPE xstring, 
      hex2 TYPE xstring. 

hex1 = 'FFFF'. 
hex2 = '111111'. 

IF hex1 O hex2. 
  ... 
ENDIF.