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
DIVIDE
isDIVIDE-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:
p
field does not contain the correct BCD format
Runtime Error:BCD_BADDATA