12-27-2007 6:16 AM
Hi,
kindly suggest me a OSS NOTE on this runtime error. Points will be rewarded for the appropriate suggestion.
Runtime Errors COMPUTE_BCD_OVERFLOW Except. CX_SY_ARITHMETIC_OVERFLOW Date and Time 21.12.2007 12:31:23
Short text
Overflow during the arithmetical operation (type P) in program "RMNIWE90_01".
What happened?
Error in the ABAP Application Program
The current ABAP program "RMNIWE90_01" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_ARITHMETIC_OVERFLOW', was not
caught in
procedure "WERTE_BERECHNEN" "(FORM)", nor was it propagated by a RAISING
clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
An overflow was discovered in an ongoing arithmetical operation with
operands of type P. Possible causes are:
1. The result field of type P is too small for the result.
2. The result or a intermediate result has more than 31 decimal places.
How to correct the error
The result field must be enlarged, if this is still possible. It may
also be possible to break up the current process into subprocesses so
that only smaller values occur.
If the error occurred in your own ABAP program or in an SAP
program you modified, try to remove the error.
There may already be a solution to the error in the SAP notes system.
If you have access to the SAP notes system first try searching with the
following keywords:
"COMPUTE_BCD_OVERFLOW"
"BCD_FIELD_OVERFLOW" (Until release 4.0a, this runtime error occurred at this
position)
"RMNIWE90_01" or "RMNIWE90_01"
"WERTE_BERECHNEN"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
The exception must either be prevented, caught within proedure
"WERTE_BERECHNEN" "(FORM)", or its possible occurrence must be declared in the
RAISING clause of the procedure.
To prevent the exception, note the following:
Information on where terminated
Termination occurred in the ABAP program "RMNIWE90_01" - in "WERTE_BERECHNEN".
The main program was "RMNIWE90_01 ".
In the source code you have the termination point in line 805
of the (Include) program "RMNIWE90_01".
The termination is caused because exception "CX_SY_ARITHMETIC_OVERFLOW"
occurred in
procedure "WERTE_BERECHNEN" "(FORM)", but it was neither handled locally nor
declared
in the RAISING clause of its signature.
The procedure is in program "RMNIWE90_01 "; its source code begins in line
797 of the (Include program "RMNIWE90_01 ".
Source Code Extract
Line
SourceCde
775
niwe_preis_p = niwe_preis.
776
max_preis_p = max_preis.
777
IF niwe_preis_p >= max_preis_p.
778
no_price = x.
779
ENDIF.
780
781
*------- Fortschreiben Materialpreise -
*
782
PERFORM mryf_material_price_update USING s_mry_mt08y "note865204
783
space "note865204
784
no_price
785
space.
786
787
*------- Commit Work -
*
788
IF com_work = x.
789
PERFORM mryf_commit_work USING comstamp.
790
ENDIF.
791
792
ENDFORM. "update_mbew
793
*eject
794
*----
*
795
FORM WERTE_BERECHNEN *
796
*----
*
797
FORM werte_berechnen.
798
799
*------- Preis aus Matstamm ermitteln -
*
800
lbkum = s_mry_mt08y-stlbk.
801
salk3 = s_mry_mt08y-stsal.
802
IF s_mry_mt08y-stvpr = 'S'.
803
preis = s_mry_mt08y-ststp * bwpei / s_mry_mt08y-stpei.
804
ELSE.
>>>>>
preis = s_mry_mt08y-stver * bwpei / s_mry_mt08y-stpei.
806
ENDIF.
807
808
*------- Negative Bestände ignorieren -
*
809
IF sniwe9-noneg = x.
810
IF lbkum < 0.
811
lbkum = 0.
812
salk3 = 0.
813
ENDIF.
814
ENDIF.
815
816
*------- Bilanzwerte initialisieren -
*
817
CLEAR: wert1, wert2, wert3, wert4, wert5, wert6.
818
CLEAR: preis1, preis2, preis3, preis4, preis5, preis6.
819
noval1 = noval2 = noval3 = noval4 = noval5 = noval6 = x.
820
bwert = max_wert.
821
bpreis = max_preis.
822
LOOP AT seq.
823
CASE seq-step.
824
WHEN '1'.
Thanks and Regards,
SKUMAR.
12-27-2007 5:01 PM
There should not any need of SAP Note for this.
This could be because of the wrong value passing to the field which is of type P.
Check the value of the field and correct it and execute it again. This is surely work.
Reward if it is useful.
Thanks,
Srinivas
12-27-2007 5:01 PM
There should not any need of SAP Note for this.
This could be because of the wrong value passing to the field which is of type P.
Check the value of the field and correct it and execute it again. This is surely work.
Reward if it is useful.
Thanks,
Srinivas
01-28-2016 4:18 PM
Hello,
Could you please advise how you managed to solve the issue? I am facing the exact same problem. Thank you!