ABAP Keyword Documentation → ABAP - Reference → Processing Internal Data → Numerical Calculations → Statements for Numerical Calculations
DIVIDE
Other versions:
7.31 | 7.40 | 7.54
Syntax
DIVIDE dobj1 BY dobj2.
Effect
This statement has the same effect as the statement
COMPUTE dobj1 = dobj1 / dobj2.
The content of dobj1 is divided by the content of dobj2
and the result is assigned to dobj1. The data objects dobj1 and dobj2 have to be numeric.
Predefined functions or
functional methods cannot be specified. The
calculation type is determined like an arithmetic expression.
Programming Guideline
Notes
- Division by the value 0 is undefined and raises a handleable exception. The only situation where division by 0 does not raise an exception is if the dividend is also 0. Here, the result is set to 0.
-
One obsolete form of the statement
DIVIDEisDIVIDE-CORRESPONDING.
Exceptions
Catchable Exceptions
CX_SY_ARITHMETIC_OVERFLOW
-
Cause: Overflow in arithmetic operation (type
p)
Runtime Error:BCD_OVERFLOW -
Cause: Integer overflow in division
Runtime Error:COMPUTE_INT_DIV_OVERFLOW
CX_SY_CONVERSION_OVERFLOW
-
Cause: Overflow in arithmetic operation (type
p, with specified length)
Runtime Error:BCD_FIELD_OVERFLOW
CX_SY_ZERODIVIDE
-
Cause: Division by 0 (type
p)
Runtime Error:BCD_ZERODIVIDE -
Cause: Division by 0 (type
f)
Runtime Error:COMPUTE_FLOAT_ZERODIVIDE -
Cause: Division by 0 (type
i)
Runtime Error:COMPUTE_INT_ZERODIVIDE
Non-Catchable Exceptions
-
Cause:
pfield does not contain the correct BCD format
Runtime Error:BCD_BADDATA