Skip to Content
0
Former Member
Dec 27, 2007 at 06:16 AM

MRN9 runtime error

68 Views

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.