Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Processing Internal Data →  Numerical Calculations →  Statements for Numerical 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

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

Preventing Division by Zero


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