09-11-2007 11:17 AM
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
09-11-2007 11:18 AM
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
09-11-2007 1:43 PM
Hi
Yes, i know it is a conversion problem.
Can you please revise your suggestions.
Regards
Subin.S
09-11-2007 2:27 PM
You might try chganging the order of the operations:
l_dmbtr_x = ( l_dmbtr_a * l_dmbtr_b ) / l_sum.
Rob
09-12-2007 11:57 AM
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