Was this page helpful to you?
Do you have any additional feedback?
To assign the result of a mathematical calculation to a variable, use the COMPUTE statement or the assignment operator (=).
COMPUTE n = expression.
COMPUTE is optional, so you can also write the statement as follows:
n = expression.
The result of the mathematical operation specified in expression is assigned to the field n.
ABAP executes a numerical operation with a numerical precision that corresponds to one of the numerical data types i, p or f. The numerical precision is defined by the operand with the highest hierarchical level. In this context, the result field n and fixed point functions (type f) also count as operands. The hierarchical order is f before p before i. Before performing the calculation, ABAP converts all of the operands into the highest-occurring data type. After the operation, the result is assigned to the result field using the same logic as the MOVE statement, that is, the system converts the result into the data type of the result field if necessary.
In ABAP, the sequence of type conversions during numerical operations is different from other programming languages. Note, in particular, that the data type of the result field influences the accuracy of the entire calculation.
In mathematical expressions, you can combine operations in any permutation and use any number of parentheses.
ABAP interprets mathematical expressions in the following order:
1. Expressions in parentheses
3. ** (powers)
4. *, / , MOD, DIV (multiplication, division)
5. +, - (addition, subtraction)
The mathematical expressions that you can use in expression are described in the following sections:
The following content is not part of SAP product documentation. For more information, see the following disclaimer .