AS ABAP Release 758, ©Copyright 2024 SAP SE. All rights reserved.
ABAP - Keyword Documentation → ABAP - Programming Language → Program Flow Logic → Expressions and Functions for Conditions → Logical Expressions (log_exp) → Comparison Expressions (rel_exp) → rel_exp - Comparison Rules → rel_exp - Comparing Elementary Data Types → rel_exp - Comparison Type of Calculation Expressions →rel_exp - Comparison Type of Arithmetic Expressions
Arithmetic expressions are possible as operands of comparison expressions using comparison operators for all data types. It is possible to compare an arithmetic expression with a single operand of a numeric data type or with another arithmetic expression.
The calculation type of all arithmetic expressions of a comparison expression is determined from all single operands of the entire comparison expression as well as by any operators ** in accordance with the usual rules. The result of the involved arithmetic expressions involved exists in the calculation type. This calculation type is also the comparison type whose comparison rules are used to perform the comparison. If necessary, single operands are converted to the comparison type before comparison.
If multiple relational expressions are combined into a logical expression using Boolean operators, the calculation type or comparison type are determined separately for each relational expression.
Hints
Example
The following comparisons are both true. In the first one, the calculation type is i and the result of the calculation is rounded to 1. In the second, the calculation type is decfloat34 and there is no rounding.
IF 4 / 3 = 1.
cl_demo_output=>write( '4 / 3 = 1' ).
ENDIF.
IF 4 / 3 > CONV decfloat34( 1 ).
cl_demo_output=>write( '4 / 3 > CONV decfloat34( 1 )' ).
ENDIF.
cl_demo_output=>display( ).