Skip to Content
0
Former Member
May 28, 2008 at 08:41 AM

Function Module move_char_to_num

499 Views

This is part of a program to trace changes done to Credit Limit. Value_new and Value_old fields are characters. I want to convert this to numeric. The following code is not working. Without the function module it is working fine. Kindly help.

  • Select Change document items

SELECT OBJECTCLAS

OBJECTID

CHANGENR

TABNAME

TABKEY

FNAME

CHNGIND

TEXT_CASE

UNIT_OLD

UNIT_NEW

CUKY_OLD

CUKY_NEW

VALUE_NEW

VALUE_OLD

FROM CDPOS INTO CORRESPONDING FIELDS OF TABLE T_CDPOS

FOR ALL ENTRIES IN T_CDHDR

WHERE OBJECTCLAS = T_CDHDR-OBJECTCLAS

AND OBJECTID = T_CDHDR-OBJECTID

AND CHANGENR = T_CDHDR-CHANGENR

AND FNAME IN S_FNAME AND

FNAME = 'KLIMG' OR

FNAME = 'KLIME' OR

FNAME = 'KLIMK' OR

FNAME = 'DBEKR'.

IF NOT T_CDPOS IS INITIAL.

LOOP AT T_CDPOS INTO WA_CDPOS.

CALL FUNCTION 'MOVE_CHAR_TO_NUM'

EXPORTING

CHR = WA_CDPOS-VALUE_NEW

IMPORTING

NUM = WA_CDPOS-VALNEW

EXCEPTIONS

CONVT_NO_NUMBER = 1

CONVT_OVERFLOW = 2

OTHERS = 3.

IF SY-SUBRC = 0.

MODIFY T_CDPOS FROM WA_CDPOS.

CLEAR WA_CDPOS.

ENDIF.

ENDLOOP.

ENDIF.