Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Processing Internal Data →  Numeric Calculations →  Statements for Numeric Calculations 

DIVIDE

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


DIVIDE dobj1 BY dobj2. 

Effect

This statement has the same effect as the statement

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. Only data objects can be specified, no calls or other expressions. The calculation type is determined like an arithmetic expression.

Programming Guidelines


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 is DIVIDE-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