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 Byte-Like Data Types

The following table shows the relational operators for comparisons between byte-like operands (single data objects or return values or bit expressions) in comparison expressions.

operator Meaning
BYTE-CO Contains Only: True, if operand1 only contains bytes from operand2.If operand2 is of type xstring and initial, therelational expression is false, except if operand1 is also of type xstring and initial. In this case, the relational expression is always true. If the comparisonis false, sy-fdpos contains the offset of the first byte in operand1,which is not contained in operand2. If the comparison is true, sy-fdpos contains the length of operand1.
BYTE-CN Contains Not Only: True, if a relational expression with BYTE-CO is false,if therefore operand1 does not only contain bytes from operand2.If the comparison is true, sy-fdpos contains the offset of the first characterin operand1 that is not contained in operand2.If the comparison is false, sy-fdpos contains the length of operand1.
BYTE-CA Contains Any: True, if operand1 contains at least one byte from operand2. If operand1 or operand2 are ofthe type xstring and initial, the relational expression is always false.If the comparison is true, sy-fdpos contains the offset of the first bytein operand1 that is also contained in operand2.If the comparison is false, sy-fdpos contains the length of operand1.
BYTE-NA Contains Not Any: True, if a relational expression with BYTE-CA is false,if therefore operand1 does not contain a byte from operand2.If the comparison is false, sy-fdpos contains the offset of the first bytein operand1 that is also contained in operand2.If the comparison is true, sy-fdpos contains the length of operand1.
BYTE-CS Contains String: True, if the content of operand2 is contained in operand1. If operand1 is of type xs andinitial, the relational expression is false, except if operand2 is also oftype xstring and initial. In this case, the relational expression is alwaystrue. If the comparison is true, sy-fdpos contains the offset of operand2in operand1. If the comparison is false, sy-fdpos contains the length of operand1.
BYTE-NS Contains No String: True, if a relational expression with BYTE-CS isfalse, if therefore operand1 does not contain the content of operand2.If the comparison is false, sy-fdpos contains the offset of operand2in operand1. If the comparison is true, sy-fdpos contains the length of operand1.

Other versions: 7.31 | 7.40 | 7.54


Example

The logical expression in the IF statement is true, if the second half-byte is not filled for any of the bytes in hex1.

DATA: hex1 TYPE xstring,
      hex2 TYPE xstring.

hex1 = ...
hex2 = '000102030405060708090A0B0C0D0E0F'.

IF hex1 BYTE-CO hex2.
  ...
ENDIF.