‎2008 Nov 01 10:14 AM
Hi All,
I am tryin to run the Standard ABAP Program "SAPLMGAD", and every time it ends with an ABAP Runtime Error "CONVT_OVERFLOW" . I am not able to figure out the reason for the same.
Please find below the error information and the code snippet returned with the Runtime Error:
"The termination occurred in line 117 of the source code of the (Include)
program "LMGADF01"
of the source code of program "LMGADF01" (when calling the editor 1170).
The program "SAPLMGAD" was started as a background job.
Processing was terminated because the exception "CX_SY_CONVERSION_OVERFLOW"
occurred in the
procedure "UEBERNEHMEN" "(FORM)" but was not handled locally, not declared in
the
RAISING clause of the procedure."
ELSEIF FIELDTYPE = 'C'. " charfelder direkt, häufigster Fall
MOVE SOURCE TO TARGET. " MAKT-MAKTX = BMMH1-MAKTX
ELSEIF ( FIELDTYPE = 'N' " Numerische Daten
OR FIELDTYPE = 'P' ).
" Konvertieren
IF USERS_DEC = DEC_KOMMA.
TRANSLATE SOURCE USING '. '. " Tausenderpunkte weg
TRANSLATE SOURCE USING ',.'. " Dezimalkomma -> Punkte
ELSE.
TRANSLATE SOURCE USING ', '. " Tausenderkommas weg
ENDIF.
TRANSLATE SOURCE USING '+ '. " + braucht man nicht
CONDENSE SOURCE NO-GAPS. " Zusammenstauchen
HILF_C = SOURCE. " Hilfsstring
REPLACE '.' WITH ' ' INTO HILF_C.
REPLACE '-' WITH ' ' INTO HILF_C.
IF ( NOT SOURCE CO ' 1234567890.-' )
OR HILF_C CA '.-' " Kein - . mehr in hilf_c
OR SOURCE CO '.- '. " Keine Zahlen in source
PERFORM CONV_EXIT_ERROR TABLES ERRDAT USING FELDNAME SOURCE
TARGET.
RETCODE = 4.
CLEAR TARGET.
EXIT.
ENDIF.
----->> *MOVE SOURCE TO TARGET.*Any help on this issue will be extremely helpful.
Thanks in advance.
Regards,
Keerthi
‎2008 Nov 01 10:31 AM
set ur break-point in the code (form below) and check in which 'CONVERSION_EXIT_ _INPUT' it is giving
error and try correct the it...
FORM UEBERNEHMEN TABLES ERRDAT STRUCTURE MERRDAT
USING SOURCE " Inhalt source
TARGET " ergebnis
FIELDTYPE LIKE DFIES-INTTYPE
CONVEXIT LIKE DFIES-CONVEXIT
LOWERCASE LIKE DFIES-LOWERCASE
FELDNAME type c " Feldname 21-stellig
RETCODE like sy-subrc. " alles geklappt ? "Uni
DATA: ROUTINE(30) VALUE 'CONVERSION_EXIT_ _INPUT'.
DATA: HILF_FLTP LIKE RCOFVP-ATFLV, " FLTP-Zahl
OK, " wurde konvertiert
HILF_C(30). " hilfsstring zur Konvertierun
RETCODE = 0. " Vorbelegen
IF LOWERCASE = SPACE.
TRANSLATE SOURCE TO UPPER CASE.
ENDIF.
" Muss ein konvertierungsexit ausgeführt werden ?
IF CONVEXIT <> SPACE.
ROUTINE+16(5) = CONVEXIT.
CONDENSE ROUTINE NO-GAPS.
" Konvertierungsroutine aufrufen
CALL FUNCTION ROUTINE----
-
here is the error if SY-SUBRC ne 0
EXPORTING
INPUT = SOURCE
IMPORTING
OUTPUT = TARGET
EXCEPTIONS
UNIT_NOT_FOUND = 01
OTHERS = 99.
IF SY-SUBRC <> 0.
PERFORM CONV_EXIT_ERROR TABLES ERRDAT USING FELDNAME SOURCE
TARGET.
*JB/4.6C
IF CONVEXIT = 'CUNIT'.
TARGET = SOURCE.
ENDIF.
‎2008 Nov 01 10:35 AM
Hi,
Is there any clue on what could be wrong in the Call?
Any suggestions on how to overcome this issue?
Thanks in advance.
Regards,
Keerthi
Edited by: keerthivasan r on Jun 23, 2009 3:35 PM
Edited by: keerthivasan r on Jun 23, 2009 3:38 PM
‎2009 Jun 23 2:47 PM
Hi,
This program is part of MM01.
Since you said you are calling it in background so I suppose either you are using RMDATIND or BAPI_MATERIAL_SAVEDATA or may be BDC on MM01 in background.
If you look closely at the dump you will find that the problem comes when moving from a sourec field into a target field.
The target field if of type P or N.
So possibly some incorrect value is being passed to a numeric field.
Check the dump details.
It will show you what value the field FELDNAME had when the dump occured.
Check the value passed to that field.
Regards,
Ankur Parab