COMPUTE_BCD_OVERFLOW / BCD_FIELD_OVERFLOW problem
Hi all.
I have a customized program which generate PO from text file by using BAPI_PO_CREATE1. I've uploaded more than thousand items and everything's fine.
There're some items which cannot be created BUT bapi returns PO number and also sends error message to Workplace Inbox. The following are error messages which sent to Inbox:
Error info... ABAP/4 processor: BCD_FIELD_OVERFLOW
and
Error info... ABAP/4 processor: COMPUTE_FIELD_OVERFLOW
I'm really curios about this. BAPI returns PO number and success message but at the time I check PO on ME23N, there's no PO exists.
I've debugged customized program and the system sends error message to Inbox AFTER program has finished BAPI. Yes, I check BAPI return table and it returns PO number as well.
Please help me on this.
Cheers,
Peerasit
You might want to familiarize yourself with the [SAP update concept|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/41/7af4cba79e11d1950f0000e82de14a/frameset.htm]. Usually updates are done separately in an update process (via [call function .. in update task|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_UPDATE.htm]). In your case I'd suspect the PO is created via function module ME_CREATE_DOCUMENT in an update task.
As the update processing is decoupled from the processing of the code that triggered it (i.e. BAPI_PO_CREATE1 in your case), any problems that occur during update processing are not reported back in the triggering code. Instead you get an update termination (which you can see in transaction SM13) and probably a short dump (which you can see in transaction ST22). Due to the decoupling of the processing, SAP automatically sends update terminations to the inbox of the corresponding user (along with an immediate popup if it happens in a dialog as otherwise the user would assume that everything is fine and not even know that a problem occurred).
So you need to analyze the short dump and check where that number overflow happens. Once you know the place, you should know which number(s) are causing the problem and how to fix it. It should probably be invalid data, some poorly coded enhancement or a bug in SAP code.
Similar Messages
-
COMPUTE_BCD_OVERFLOW MIRO Incoming Invoice
Hi, Gurus,
I have extended most of my domains successfully and everything seems fine until in MM when the MM consultant tries to simulate or save in trans MIRO, a short dump appears saying the above. I have look at the position specified in the dump and BETRAG and PX_DRSEG-WRBTR reference the same domain which has the same number of characters so, it seems here things are OK. But there is that dump as follows:
Runtime Errors COMPUTE_BCD_OVERFLOW
Exception CX_SY_ARITHMETIC_OVERFLOW
Date and Time 05.06.2008 09:49:32
Short text
Overflow during the arithmetical operation (type P) in program "SAPLMRMP".
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLMRMP" 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 "SPERRGRUND_T" "(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.
ow 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.
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)
"SAPLMRMP" or "LMRMPF1K"
"SPERRGRUND_T"
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
"SPERRGRUND_T" "(FORM)", or its possible occurrence must be declared in the
RAISING clause of the procedure.
To prevent the exception, note the following:
tem environment
SAP-Release 700
Application server... "dev"
Network address...... "10.0.0.81"
Operating system..... "SunOS"
Release.............. "5.9"
Hardware type........ "sun4u"
Character length.... 16 Bits
Pointer length....... 64 Bits
Work process number.. 0
Shortdump setting.... "full"
Database server... "tetradev"
Database type..... "ORACLE"
Database name..... "DEV"
Database user ID.. "SAPSR3"
Char.set.... "C"
SAP kernel....... 700
created (date)... "Aug 31 2006 20:59:23"
create on........ "SunOS 5.9 Generic_117171-13 sun4u"
Database version. "OCI_102 (10.2.0.2.0) "
Patch level. 75
Patch text.. " "
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
SAP database version. 700
Operating system..... "SunOS 5.9, SunOS 5.10"
Memory consumption
Roll.... 16192
EM...... 16759392
Heap.... 0
Page.... 188416
MM Used. 9422712
MM Free. 3143832
er and Transaction
Client.............. 300
User................ "USER01"
Language key........ "E"
Transaction......... "MIRO "
Program............. "SAPLMRMP"
Screen.............. "SAPLMR1M 6000"
Screen line......... 34
Information on where terminated
Termination occurred in the ABAP program "SAPLMRMP" - in "SPERRGRUND_T".
The main program was "SAPLMR1M ".
In the source code you have the termination point in line 39
of the (Include) program "LMRMPF1K".
The termination is caused because exception "CX_SY_ARITHMETIC_OVERFLOW"
occurred in
procedure "SPERRGRUND_T" "(FORM)", but it was neither handled locally nor
declared
in the RAISING clause of its signature.
The procedure is in program "SAPLMRMP "; its source code begins in line
12 of the (Include program "LMRMPF1K ".
Source Code Extract
Line SourceCde
9 * --> PI_XNULLPOS: Liegt eine Nullpos. vor? (wenn ja: keine Verarb.) *
10 * <-> PX_DRSEG: Struktur mit den aktuell zu bearbeitenden Pos.daten *
11 ----
12 FORM SPERRGRUND_T USING PI_RBKPV TYPE MRM_RBKPV
13 PI_XNULLPOS LIKE BOOLE-BOOLE
14 CHANGING PX_DRSEG TYPE MMCR_DRSEG.
15
16 CHECK PI_XNULLPOS = SPACE. "keine Nullpos.
17
18 DATA s_t169g TYPE t169g.
19 SELECT SINGLE * FROM t169g INTO s_t169g
20 WHERE bukrs = px_drseg-bukrs
21 AND tolsl = 'ST'.
22 check sy-subrc = 0.
23 IF NOT s_t169g-xw2ne IS INITIAL.
24 EXIT.
25 ENDIF.
26 DATA: datum1 LIKE sy-datum,
27 DATUM2 LIKE SY-DATUM.
28 DATA: DT_DIFF(8) TYPE C.
29
30 CHECK: PI_RBKPV-XRECH NE SPACE,
31 PX_DRSEG-RETPO = SPACE, "keine Sperre durch eine Retoure-Pos.
32 PX_DRSEG-EINDT NE '00000000',
33 PX_DRSEG-PSTYP NE C_PSTYP_1, " keine Blanket PO
34 PX_DRSEG-FPLNR IS INITIAL. " kein Rechnungsplan
35
36 DATUM1 = SY-DATLO.
37 DATUM2 = PX_DRSEG-EINDT.
38 CHECK DATUM2 > DATUM1.
>>>> BETRAG = PX_DRSEG-WRBTR * ( DATUM2 - DATUM1 ).
40 DT_DIFF = ( DATUM2 - DATUM1 ).
41
42 SY-SUBRC = 0.
43 CALL CUSTOMER-FUNCTION '001'
44 EXPORTING I_RBKPV = PI_RBKPV
45 I_YDRSEG = PX_DRSEG
46 EXCEPTIONS CALL_FAILURE = 001.
47 CASE SY-SUBRC.
48 WHEN 001.
49 MESSAGE E271 RAISING PARAMETER_ERROR.
50 ENDCASE.
51
52 RC = 0.
53 CALL FUNCTION 'MRM_TOLERANCE_CHECK'
54 EXPORTING
55 I_AKT_WERT = BETRAG
56 I_BUKRS = PX_DRSEG-BUKRS
57 I_TOLSL = 'ST'
58 I_VERGLEICHSWERT = '0.00'
Please assist as urgently as possible. Assistance will be rewarded.
Thanx in advance.
Edited by: Darlington Chiyamha on Jun 5, 2008 11:06 AMHi Darlington,
You usually get that, if a number you calculate i getting bigger than the field it is stored in allows.
Check the data declaration of the variable which holds this value. If the resultant value is too large then the ABAP throws this exception.
You may handle this using CATCH ENDCATCH statement.
Check this e.g.:
PARAMETERS fact TYPE i.
DATA: fact_save TYPE i,
res(16) TYPE p.
ARITHMETIC_ERRORS contains COMPUTE_BCD_OVERFLOW ***
CATCH SYSTEM-EXCEPTIONS ARITHMETIC_ERRORS = 5.
res = fact_save = fact.
SUBTRACT 1 FROM fact.
DO fact TIMES.
MULTIPLY res BY fact. "<- COMPUTE_BCD_OVERFLOW
SUBTRACT 1 FROM fact.
ENDDO.
ENDCATCH.
IF sy-subrc = 5.
WRITE: / 'Overflow! Factorial of', fact_save,
'can not be calculated.'.
ELSE.
WRITE: / 'Factorial of', fact_save, 'gives', res.
ENDIF.
Edited by: Raj on Jun 5, 2008 2:43 PM -
COMPUTE_BCD_OVERFLOW (New GL Migration)
Hi Experts,
I'm doing the migration from Classic GL to New GL when I encountered this dump during migration of current fiscal year documents.
Runtime Errors: COMPUTE_BCD_OVERFLOW
Exception: CX_SY_ARITHMETIC_OVERFLOW
ABAP program "CL_FAGL_OI_READ===============CP" was terminated.
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 "P_SPLINFO_COMPRESS" "(METHOD)", 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 Error:
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.
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)
"CL_FAGL_OI_READ===============CP" or "CL_FAGL_OI_READ===============CM00L"
"P_SPLINFO_COMPRESS"
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
"P_SPLINFO_COMPRESS" "(METHOD)", or its possible occurrence must be declared in
the
RAISING clause of the procedure.
To prevent the exception, note the following:
SAP-Release 700
Application server... "cixusr"
Network address...... "10.216.15.219"
Operating system..... "HP-UX"
Release.............. "B.11.31"
Hardware type........ "ia64"
Character length.... 16 Bits
Pointer length....... 64 Bits
Work process number.. 12
Shortdump setting.... "full"
Database server... "fh007204"
Database type..... "ORACLE"
Database name..... "CIX"
Database user ID.. "SAPERP"
Terminal................. " "
Char.set.... "C"
SAP kernel....... 700Hi Dear,
In the running system if you add any additional depreciation area we have to run the program for data consistence. Please check with SAP. I hope there will be a Note.
Regards
Radha -
ABAP runtime errors COMPUTE_BCD_OVERFLOW
ABAP runtime errors COMPUTE_BCD_OVERFLOW
Occurred on 12/08/2010 at 06:44:17
>> Short dump has not been completely stored. It is too big.
Error analysis
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.
How to correct the error
You may need to define the result field to be larger, if it is still
possible to do so.
It may be possible to split the current process so that only smaller
values occur.
Eine Vorablösung zu dem aufgetretenen Fehler findet sich vielleicht
If the error occurred in one of your own programs or in an SAP program
that you modified, try to correct it yourself.
If you require an interim solution to this error, you can look in the
SAP note system. If you have access to
the SAP notes system yourself, enter the following search strings:
"COMPUTE_BCD_OVERFLOW"
"BCD_FIELD_OVERFLOW" (By release 4.0a, this error has been remedied at this
point)Hi Ganapati,
Check this thread COMPUTE_BCD_OVERFLOW in Database Performance collector.
Note 543749 - ABAP runtime error COMPUTE_BCD_OVERFLOW
It may helps you. -
COMPUTE_BCD_OVERFLOW in st22
Hi guys, my 4.6C system in st22 show u201CCOMPUTE_BCD_OVERFLOWu201D
The dump detail show:
ABAP runtime errors COMPUTE_BCD_OVERFLOW
Occurred on 12.05.2010 at 17:15:07
Overflow for arithmetical operation (type P) in program "SAPLSTUW "
What happened?
The current ABAP/4 program "SAPLSTUW " had to be terminated because one of the statements could not be executed.
This is probably due to an error in the ABAP/4 program.
A value does not fit in a calculation field.
If you require an interim solution to this error, you can look in the SAP note system. If you have access to
the SAP notes system yourself, enter the following search strings:
"COMPUTE_BCD_OVERFLOW"
"BCD_FIELD_OVERFLOW" (By release 4.0a, this error has been remedied at this
point)
"SAPLSTUW " or "LSTUWF01 "
"CONVERT_PFDIAREC"
Appreciate anyone have any ideal what is going on?
ThanksHi,
Please search for SAP Notes for your system and patch level.
This sort of error usually occurs when the amounts involved are too big for the program to handle. The ABAP will be trying to write to a table or structure which does not have enough space.
Get an ABAPer to work with you and analyse the short dump (ST22 will take you there). Then run the proposal in debug mode and see where it drops out. Once you have identified the table or structure get your basis people to allocate more space to it, re-index it or generally kick it into shape.
Regards,
Shitij -
Hi All,
I have service PO containing 3000 records. But now when i try to display in me23n it is giving dump, the dump is below;
How this problem can be solved. Current Version is 4.7 (SAPKH47029). I also tried to search for SAP note but unable to get.
Appreciate your answers & points will be rewarded.
Runtime errors COMPUTE_BCD_OVERFLOW
Exception CX_SY_ARITHMETIC_OVERFLOW
Occurred on 17.06.2008 at 09:38:25
>> Short dump has not been completely stored. It is too big.
Overflow for arithmetical operation (type P) in program "SAPLEINR"
What happened?
Error in ABAP application program.
The current ABAP program "SAPLEINR" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
A value does not fit in a calculation field.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
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 "BET_ANALYSE"
"(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.
How to correct the error
The exception must either be prevented, caught within the procedure
"BET_ANALYSE"
"(FORM)", or declared in the procedure's RAISING clause.
To prevent the exception, note the following:
You may need to define the result field to be larger, if it is still
possible to do so.
It may be possible to split the current process so that only smaller
values occur.
Eine Vorablösung zu dem aufgetretenen Fehler findet sich vielleicht
If the error occurred in one of your own programs or in an SAP program
that you modified, try to correct it yourself.
If you require an interim solution to this error, you can look in the
SAP note system. If you have access to
the SAP notes system yourself, enter the following search strings:
"COMPUTE_BCD_OVERFLOW"
"BCD_FIELD_OVERFLOW" (By release 4.0a, this error has been remedied at this
point)
"SAPLEINR" or "LEINRF0P"
"BET_ANALYSE"
Regards
IrfanHi
Please logonto
https://websmp206.sap-ag.de/support,
Give the Customer S- User ID & password for logging
Log the message in the Customer meesages tab page.
Thanks & Regards
Kishore -
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.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 -
Error while posting MIRO document
Dear All
When i try to post the invoice through MIRO transactions, i get short dump. I am posting this invoice with 3 decimals for example 1.235
Overflow during the arithmetical operation (type P) in program "SAPLFDMM".
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 "DETERMINE_AMOUNTS" "(FORM)", nor was it propagated by a RAISING
clause.
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)
"SAPLFDMM" or "LFDMMF00"
"DETERMINE_AMOUNTS"
Please help..Hi,
Try Changing the settings for the following
System --> User Profile --> Own Data --> Maintain User Profile
In the defaults tab change the Decimal Notation and then do the MIRO transaction.
I remember similar kind of dump which we were getting and it got resolved by changing the Default Decimal Notation..
Just try for remaining values of the decimal notations and execute the MIRO transaction..
Just try this...
Regards
Sindo Ouspeh -
While saving the delivery no in VA02 dump error showing (Arithmatic overflo
Hi,
while saving the delivery no in VA02, one dump error getting displayed.
Arithmatic over flow occurs.
Can any one can say how to rectify the program to avoid dump error
The below lines are showing in dump.
Waiting for quick response.
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 "USEREXIT_SAVE_DOCUMENT_PREPARE" "(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.
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)
"SAPMV50A" or "ZSDI_MV50AFZ1_CRPC_CALC_4QA"
"USEREXIT_SAVE_DOCUMENT_PREPARE" ***----
Information on where terminated
Termination occurred in the ABAP program "SAPMV50A" - in
"USEREXIT_SAVE_DOCUMENT_PREPARE".
The main program was "SAPMV50A ".
In the source code you have the termination point in line 666
of the (Include) program "ZSDI_MV50AFZ1_CRPC_CALC_4QA".
The termination is caused because exception "CX_SY_ARITHMETIC_OVERFLOW"
occurred in
procedure "USEREXIT_SAVE_DOCUMENT_PREPARE" "(FORM)", but it was neither handled
locally nor declared
in the RAISING clause of its signature.
The procedure is in program "SAPMV50A "; its source code begins in line
208 of the (Include program "MV50AFZ1 ".
657 ADD: xvbap-brgew TO l_w_tot_list_vals-brgew,
658 xvbap-zzlogpoint TO l_w_tot_list_vals-zlogpoint,
659 xvbap-zztotgrossvalue TO
660 l_w_tot_list_vals-totgrossvalue.
661
662
663 l_w_tot_list_vals-gewei = xvbap-gewei.
664
665 IF NOT xvbap-pstyv IN zzt_free.
>>>>> ADD xvbap-volum TO l_w_tot_list_vals-volum.
667 ELSE.
668 ADD xvbap-volum TO l_w_tot_list_vals-volum_f.
669 ENDIF.
670 ADD 1 TO l_w_tot_list_vals-zw_nbitem.
Best Regards,
BDP
Edited by: Bansidhar Padhy on Jan 26, 2010 8:24 AMADD xvbap-volum TO l_w_tot_list_vals-volum.
Declare l_w_tot_list_vals-volum as "like vbap-volum" or (preferably) "type volum_ap".
If you're using a packed decimal, you've done something like.... volum(5) type p decimals 2, which is a great way to get an overflow...if you use packed decimals in a program...declare <field> type p decimals <n> without a length attribute, so that SAP can use the full 8 bytes for the calculation.....the put it into a alpha field for display, if needed.... -
St22 show u201CCOMPUTE_BCD_OVERFLOWu201D and st03 stop at running
Hi guys, my 4.6C system in st22 show u201CCOMPUTE_BCD_OVERFLOWu201D and st03 stop at running at 08.05.2010.
The dump detail show:
ABAP runtime errors COMPUTE_BCD_OVERFLOW
Occurred on 12.05.2010 at 17:15:07
Overflow for arithmetical operation (type P) in program "SAPLSTUW "
What happened?
The current ABAP/4 program "SAPLSTUW " had to be terminated because one of the statements could not be executed.
This is probably due to an error in the ABAP/4 program.
A value does not fit in a calculation field.
If you require an interim solution to this error, you can look in the SAP note system. If you have access to
the SAP notes system yourself, enter the following search strings:
"COMPUTE_BCD_OVERFLOW"
"BCD_FIELD_OVERFLOW" (By release 4.0a, this error has been remedied at this
point)
"SAPLSTUW " or "LSTUWF01 "
"CONVERT_PFDIAREC"
Appreciate anyone can help and have any ideal what is going on?
ThanksTry this note: SAP Note 1384846 - ST03N: BCD_OVERFLOW in
SAPWL_LCL_03N_HITLNRESPTI
and also check SAP note 881124
It is a good idea if you give all the system information at the beginning so assistance can be more relevant.
Maybe you should start pushing SAP for an update. -
Dumps with errors COMPUTE_BCD_OVERFLOW, COMPUTE_BCD_OVERFLOW
Hi,
We got large no.of dumps with errors COMPUTE_BCD_OVERFLOW, COMPUTE_FLOAT_ZERODEVIDE and BCD_FIELD_OVERFLOW with CX_SY_ARTHEMATIC_OVERFLOW exception in production system causing sapmnt disk space reached 95%..
I don't have idea to resolve this issue. Please explain me with step by step to solve this problem.
Thanks in adavcne
Regards
SrinivasYour basis people should be able to deal with the disk space problem, perhaps by deleting old dumps.
But to prevent this from happening, you ought to fix the programs.
Rob -
What is the problem with the code?
Hello, the following is a segment of code that I have written recently:
IF DATA+1(5) <> TEXT-035.
CATCH SYSTEM-EXCEPTIONS WEIRD_ERROR = 4
OTHERS = 8.
END CATCH.
ENDIF.
When I tried to compile the code, it says:
Unable to interpret "SYSTEM-EXCEPTIONS". Possible causes: Incorrect spelling or comma error.
May I know where is the problem with this code? Thanks a lot!
Regards,
AnyiHere is a list of the system exceptions.
Alphabetical List of Catchable Runtime Errors
,,ADDF_INT_OVERFLOW
Overflow in addition with type I ( ADD ... UNTIL / ADD ... FROM ... TO)
,,ASSIGN_CASTING_ILLEGAL_CAST
The offset and type of the source field and the target type do not match exactly in the components that are strings, tables, or references.
,,ASSIGN_CASTING_UNKNOWN_TYPE
The type specified at runtime is unknown.
,,BCD_FIELD_OVERFLOW
Overflow in conversion or arithmetic operations (type P with specified length)
,,BCD_OVERFLOW
Overflow in conversion or arithmetic operation (type P)
,,BCD_ZERODIVIDE
Division by 0 (type P)
,,CALL_METHOD_NOT_IMPLEMENTED
Call of a non-implemented interface method
,,COMPUTE_ACOS_DOMAIN
Invalid call of mathematical function ACOS
,,COMPUTE_ASIN_DOMAIN
Invalid call of mathematical function ASIN
,,COMPUTE_ATAN_DOMAIN
Invalid call of mathematical function ATAN
,,COMPUTE_BCD_OVERFLOW
Overflow in arithmetic operation (all operands type P)
,,COMPUTE_COSH_DOMAIN
Invalid call of mathematical function COSH
,,COMPUTE_COSH_OVERFLOW
Overflow in mathematical function COSH
,,COMPUTE_COS_DOMAIN
Invalid call of mathematical function COS
,,COMPUTE_COS_LOSS
Result of COS function is inexact
,,COMPUTE_EXP_DOMAIN
Invalid call of mathematical function EXP
,,COMPUTE_EXP_RANGE
Over- or underflow in mathematical function EXP
,,COMPUTE_FLOAT_DIV_OVERFLOW
Overflow in division (type F)
,,COMPUTE_FLOAT_MINUS_OVERFLOW
Overflow in subtraction (type F)
,,COMPUTE_FLOAT_PLUS_OVERFLOW
Overflow in addition (type F)
,,COMPUTE_FLOAT_TIMES_OVERFLOW
Overflow in multiplication (type F)
,,COMPUTE_FLOAT_ZERODIVIDE
Division by 0 (type F)
,,COMPUTE_INT_ABS_OVERFLOW
Integer overflow when calculating the absolute value
,,COMPUTE_INT_DIV_OVERFLOW
Integer overflow in division
,,COMPUTE_INT_MINUS_OVERFLOW
Integer overflow in subtraction
,,COMPUTE_INT_PLUS_OVERFLOW
Integer overflow in addition
,,COMPUTE_INT_TIMES_OVERFLOW
Integer overflow in multiplication
,,COMPUTE_INT_ZERODIVIDE
Division by 0 (type I)
,,COMPUTE_LOG10_ERROR
Invalid call of the mathematical function LOG10
,,COMPUTE_LOG_ERROR
Invalid call of the mathematical function LOG
,,COMPUTE_MATH_DOMAIN
Invalid call of a mathematical function
,,COMPUTE_MATH_ERROR
Error executing a mathematical function
,,COMPUTE_MATH_LOSS
Result of a mathematical function is inexact
,,COMPUTE_MATH_OVERFLOW
Overflow of a mathematical function
,,COMPUTE_MATH_UNDERFLOW
Underflow in a mathematical function
,,COMPUTE_POW_DOMAIN
Invalid argument when raising powers
,,COMPUTE_POW_RANGE
Over- or underflow when raising powers
,,COMPUTE_SINH_DOMAIN
Invalid call of the mathematical function SINH
,,COMPUTE_SINH_OVERFLOW
Overflow in the mathematical function SINH
,,COMPUTE_SIN_DOMAIN
Invalid call of the mathematical function SIN
,,COMPUTE_SIN_LOSS
Result of the function SIN is inexact
,,COMPUTE_SQRT_DOMAIN
Invalid call of the mathematical function SQRT
,,COMPUTE_TANH_DOMAIN
Invalid call of the mathematical function TANH
,,COMPUTE_TAN_DOMAIN
Invalid call of the mathematical function TAN
,,COMPUTE_TAN_LOSS
Result of the function TAN is inexact
,,CONNE_IMPORT_WRONG_COMP_LENG
Import error: A component in a structured type in the dataset has an incorrect length
,,CONNE_IMPORT_WRONG_COMP_TYPE
Import error: A component of a structured type in the dataset has an incorrect length
,,CONNE_IMPORT_WRONG_FIELD_LENG
Import error: A field in the dataset has an incorrect length
,,CONNE_IMPORT_WRONG_FIELD_TYPE
Import error: A field in a dataset has the wrong type
,,CONNE_IMPORT_OBJECT_TYPE
Import error: Type conflict between simple and structured data types
,,CONNE_IMPORT_WRONG_STRUCTURE
Import error: Type conflict between structured objects
,,CONVT_HEX_CONFLICT
Conversion conflict (Type X)
,,CONVT_NO_NUMBER
Value for conversion cannot be interpreted as a number
,,CONVT_OVERFLOW
Overflow in conversion (all types except type P)
,,CREATE_DATA_NOT_ALLOWED_TYPE
The statement CREATE DATA cannot be executed with a generic type.
,,CREATE_DATA_UNKNOWN_TYPE
The statement CREATE DATA cannot be executed with an unknown type.
,,CREATE_OBJECT_CLASS_ABSTRACT
Attempt to instantiate an abstract class.
,,CREATE_OBJECT_CLASS_NOT_FOUND
The class specified with a dynamic CREATE OBJECT was not found.
,,CREATE_OBJECT_CREATE_PRIVATE
Attempt to create an object of a class defined as 'CREATE PRIVATE'.
,,CREATE_OBJECT_CREATE_PROTECTED
Attempt to create an object of a class defined as 'CREATE PROTECTED'.
,,DATA_LENGTH_NEGATIVE
Invalid subfield access: Negative length
,,DATA_LENGTH_0
Invalid subfield access: Length 0
,,DATA_LENGTH_TOO_LARGE
Invalid subfield access: Length too large
,,DATA_OFFSET_NEGATIVE
Invalid subfield access: Negative offset
,,DATA_OFFSET_TOO_LARGE
Invalid subfield access: Offset too large
,,DATA_OFFSET_LENGTH_TOO_LARGE
Invalid subfield access: Offset + length too large
,,DATA_OFFSET_LENGTH_NOT_ALLOWED
Invalid subfield access: Type not appropriate
,,DATASET_CANT_CLOSE
Unable to close file. There may be no space left in the file system
,,DATASET_CANT_OPEN
Unable to open file
,,DATASET_NO_PIPE
The FILTER addition to the OPEN DATASET statement is not supported on the current operating system
,,DATASET_READ_ERROR
Error reading a file
,,DATASET_TOO_MANY_FILES
Maximum number of open files exceeded
,,DATASET_WRITE_ERROR
Error writing to a file
,,DYN_CALL_METH_CLASSCONSTRUCTOR
Attempt to call the class constructor
,,DYN_CALL_METH_CLASS_ABSTRACT
Attempt to call an abstract method
,,DYN_CALL_METH_CLASS_NOT_FOUND
Attempt to call a method of a non-existent class
,,DYN_CALL_METH_CONSTRUCTOR
Attempt to call the instance constructor
,,DYN_CALL_METH_EXCP_NOT_FOUND
Attempt to catch an unknown exception
,,DYN_CALL_METH_NOT_FOUND
Attempt to call an unknown method
,,DYN_CALL_METH_NOT_IMPLEMENTED
Attempt to call a method that has not been implemented yet
,,DYN_CALL_METH_NO_CLASS_METHOD
Attempt to call an instance method via a class
Attempt to pass a parameter with an incorrect parameter type
,,DYN_CALL_METH_PARAM_LITL_MOVE
Attempt to pass a constant actual parameter to a formal EXPORTING, CHANGING or RETURNING parameter
,,DYN_CALL_METH_PARAM_MISSING
An obligatory parameter was not supplied.
,,DYN_CALL_METH_PARAM_NOT_FOUND
Attempt to pass an unknown parameter
,,DYN_CALL_METH_PARAM_TAB_TYPE
Attempt to pass a parameter with an incorrect table type
,,DYN_CALL_METH_PARAM_TYPE
Attempt to pass a parameter with an incorrect type
,,DYN_CALL_METH_PARREF_INITIAL
An initial data reference was passed for an mandatory parameter.
,,DYN_CALL_METH_PRIVATE
Attempt to call a private method from outside
,,DYN_CALL_METH_PROTECTED
Attempt to call a protected method from outside
,,DYN_CALL_METH_REF_IS_INITIAL
Attempt to call a method with an initial reference
,,EXPORT_BUFFER_NO_MEMORY
The EXPORT data cluster is too large for the application buffer
,,EXPORT_DATASET_CANNOT_OPEN
The IMPORT/EXPORT statement could not open the file
,,EXPORT_DATASET_WRITE_ERROR
The EXPORT statement could not write to the file
,,GENERATE_SUBPOOL_DIR_FULL
The system cannot generate any more temporary subroutine pools
,,IMPORT_ALIGNMENT_MISMATCH
Import error: Same sequence of components, but with type conflict or different alignment in structured data types
,,IMPORT_TYPE_MISMATCH
Import error: Only with IMPORT...FROM MEMORY | FROM SHARED BUFFER...
,,MOVE_CAST_ERROR
Type conflict when assigning between object and interface references (only MOVE...?TO... or operator ?=)
,,OPEN_DATASET_NO_AUTHORITY
No authorizatino to access the file
,,OPEN_PIPE_NO_AUTHORITY
No authorization to access the file (OPEN DATASET...FILTER...).
,,PERFORM_PROGRAM_NAME_TOO_LONG
Invalid program name with PERFORM statement
,,RMC_COMMUNICATION_FAILURE
Communication error with Remote Method Call
,,RMC_INVALID_STATUS
Status error with Remote Method Call
,,RMC_SYSTEM_FAILURE
System error with Remote Method Call
,,STRING_LENGTH_NEGATIVE
Invalid access with negative length to a string
,,STRING_LENGTH_TOO_LARGE
Invalid access to a string (length too large)
,,STRING_OFFSET_NEGATIVE
Invalid access with negative offset to a string
,,STRING_OFFSET_TOO_LARGE
Invalid access to a string (offset too large)
,,STRING_OFFSET_LENGTH_TOO_LARGE
Invalid access to a string (offset + length too large)
,,TEXTENV_CODEPAGE_NOT_ALLOWED
Character set is not released in the system (SET LOCALE...)
,,TEXTENV_INVALID
Error setting the text environment (SET LOCALE...)
,,TEXTENV_KEY_INVALID
With SET LOCALE...: Value of LANGUAGE, COUNTRY or MODIFIER that is not allowed in the system.
,,TEXTENV_LANGUAGE_NOT_ALLOWED
With SET LOCALE...: Invalid value of the LANGUAGE addition.
What version of SAP are you on? If on a newer version you may be able to create your own exception class.
Regards,
Rich Heilman -
BCD_FIELD_OVERFLOW error while assigning value to dynamic work area
Hi guys,
I am trying following code --it uses dynamic table concept.
LABSTD2 TYPE P DECIMALS 1,
LABST_2 TYPE P DECIMALS 1,
LABST_12 TYPE P DECIMALS 1,
T_ARTMAS-LABST_12 = T_ARTMAS-LABSTD1 + T_ARTMAS-LABSTD2.
ASSIGN COMPONENT 'LABST_12' OF STRUCTURE <DYN_WA> TO <DYN_FIELD>.
<DYN_FIELD> = T_ARTMAS-LABST_12.
Value in T_ARTMAS-LABST_12 in debug was 14690.0....still it gave following error-----
Runtime Error BCD_FIELD_OVERFLOW
Except. CX_SY_CONVERSION_OVERFLOW
Even i changed decleartion as follows
LABST_12 TYPE P lenght 10 DECIMALS 1,
Still it is giving same problem ...
Kindly help.Hi, I think it has nothing to do with an overflow but something with the code. Try this simple (rather stupied) code:
TYPES: BEGIN OF ty_line,
fld1 TYPE p DECIMALS 1,
fld2 TYPE p DECIMALS 1,
fld3 TYPE p DECIMALS 1,
END OF ty_line.
DATA lv_rec TYPE ty_line.
DATA lv_count(1) TYPE n.
DATA lv_fld1 TYPE p DECIMALS 1.
DATA lv_fld2 TYPE p DECIMALS 1.
DATA lv_fld3 TYPE p DECIMALS 1.
DATA lv_field TYPE string.
FIELD-SYMBOLS: <fs_fld> TYPE any.
BREAK-POINT.
lv_fld1 = 15211444 / 10.
lv_fld2 = 54879072 / 10.
lv_fld3 = lv_fld1 + lv_fld2.
DO 3 TIMES.
lv_count = lv_count + 1.
CLEAR lv_field.
CONCATENATE 'lv_rec-fld' lv_count INTO lv_field.
CONDENSE lv_field NO-GAPS.
ASSIGN (lv_field) TO <fs_fld>.
<fs_fld> = lv_fld3.
ENDDO.
BREAK-POINT.
Succes. -
ABAP DUMP in ST03N : COMPUTE_BCD_OVERFLOW
HI Guys,
When I go to ST03N, Expert Mode, Select the Daily workload, I double clicked on 15.03.2010, the system will hit the abap dump : COMPUTE_BCD_OVERFLOW. However, when I try for other dates, it is fine. Which meant it is only the 15.03.2010 causing the dump.
following is the system's details:
SAP R/3 Kernel : 640_REL
Kernel Patch : 304
SAP BASIS : SAPKB62041
I have raised a OSS message to SAP, and the consultant had replied me with two sapnotes:
881968
840763.
I've implemented the 881968 but there is some error after implement, the ST03N cannot be executed. ( ABAP DUMP syntax error). Hence, I revoked the sapnote 881968. For the 840763, I did not implement since it advised to upgrade the support package for SAP BASIS and I am not sure what is affected after I upgrade the support package.
The system I mentioned above is not a BW system and I doubt this is why I get the SYNTAX ERROR dump after implement the sapnote.
Did you guys encountered similar problem? Any solution for this?
The following is ABAP DUMP: COMPUTE_BCD_OVERFLOW:
Runtime Errors COMPUTE_BCD_OVERFLOW
Exception CX_SY_ARITHMETIC_OVERFLOW
Occurred on 29.03.2010 at 09:37:45
Overflow for arithmetical operation (type P) in program "SAPWL_ST03N"
What happened?
Error in ABAP application program.
The current ABAP program "SAPWL_ST03N" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
A value does not fit in a calculation field.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
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
"CALCULATE_PROFILE" "(METHOD)"
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.
Edited by: Wei Jian Kwan on Mar 30, 2010 3:57 AMHi Amber,
The following sapnote is not implementable in my system:
0001384846 ST03N: BCD_OVERFLOW in SAPWL_LCL_03N_HITLNRESPTI
This is due to the current Support Pack : SAP BASIS in my system is : SAPKB62041 and the corrections in the sapnote are only available for 700 until 720.
Best Regards,
Ken -
Problem in with automatic payment TRANSACTION f110 transaction
Hi
We are facing problem with automatic payment TRANSACTION f110 transaction version SAP ECC6.0
When there are multiple invoices for the same customer with cash discount amount given by the user manually( not cash discount percent)
For eg if there 5 invoices with cash discount amount
When there is payment method defined on document level for some of the invoices(3) and 2 invoices payment method is not defined on document level(Payment method is defined on customer master also for those customers )
The following dumb occurs
Settlement will be created, but the F110 cancelled with a shortdump on customer master balance update
Database error text........: "[IBM][CLI Driver][DB2] UNSUCCESSFUL EXECUTION
CAUSED BY DEADLOCK OR TIMEOUT. REASON CODE 00C90088, TYPE OF RESOURCE , AND
RESOURCE NAME"
Internal call code.........: "[RSQL/UPDT/KNC1 ]"
"DBIF_RSQL_SQL_ERROR" "CX_SY_OPEN_SQL_DB"
"SAPLF005" or "LF005F01"
"ZAHLVERHALTEN_FORTSCHREIBEN"
Any help in this is highly appreciated
Thanks
Sarath1615356 F110 Code improvements
1255455 F110 Exception BCD_FIELD_OVERFLOW during item output
1237330 F110 Error if more than one down payment
1105073 F110: Program termination DBIF_RSQL_SQL_ERROR
Maybe you are looking for
-
Event handler or SBO_SP_TransactionNotification
Hi, I need a event handler or SBO_SP_TransactionNotification to tell me a Goods Receipt PO has been made by another Add-On using DI. When a Goods Receipt PO has been created; I like to execute my C# program. The Add-On using DI is build by another SA
-
Can we add page numbers to ALV Grid Control.
Hi All, 1.My requirement is to display page numbers when we down load the list in to EXCEL. Can we do this in ALV Grid Control. 2.Can we display the page numbers in the SAP Query,when we down load the out put list in to the EXCEL. Thanks & Regards, S
-
Problem with the FN + F1 in XP
I've made a Dual install with XP for gaming. So here is my problem. I'm playing Crysis and need to switch FAST between first person and third person view sometimes. And I do that with the F1 key and I'm not able to change it since I'm running the gam
-
How to copy blog post to pages on ipad
I have an iPad3 and I'd like to copy my Wordpress blog posts into a journal I'm making in Pages. I'd love to know how to do this. Thanks much for any help.
-
Install solaris via hyper terminal
Hi, I just got my new ultra 5 box and I was wondering what type of cable and hyper terminal settings I need in order to get this thing rolling. The type of cable I used before was a null modem cable db9F --> db9F. Then I read I needed db9 --> db25. S