Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

CX_SY_ARITHMETIC_OVERFLOW

Former Member
0 Kudos

Hi

while running my Z report in background, it throwed the following error.

Error analysis

An exception occurred. This exception is dealt with in more detail below

The exception, which is assigned to the class 'CX_SY_ARITHMETIC_OVERFLOW',

was neither caught nor passed along using a RAISING clause, in the procedure "NEW_SELECT" "(FORM)"

Since the caller of the procedure could not have expected this exception

to occur, the running program was terminated.

The reason for the exception is:

An overflow has been determined in the current arithmetical operation

containing operands of type P. Possible causes include:

1. The results field of type P is to small and the result does not fit

into it.

places.

2. The result or partial result has more than 31 decimal places.

IF l_sum NE 0.

-


> l_dmbtr_x = ( l_dmbtr_a / l_sum ) * l_dmbtr_b

ENDIF.

all the DMBTR fields are of type BSEG-DMBTR

Regards

Subin.S

4 REPLIES 4

Former Member
0 Kudos

Hi,

This conversion problem. declare the fields as either floatign or as the same field of table

then, this will not generate dump

Regards

Shiva

0 Kudos

Hi

Yes, i know it is a conversion problem.

Can you please revise your suggestions.

Regards

Subin.S

Former Member
0 Kudos

You might try chganging the order of the operations:

l_dmbtr_x = ( l_dmbtr_a * l_dmbtr_b ) / l_sum.

Rob

Former Member
0 Kudos

Hi,

To overcome this error. Increase the length of the variable l_dmbtr_x.

Hope this info will help you.

Rewards points if useful.

With Regards,

K K V