숫자 사이에 쓸데없는 ',' '.' 등을 삭제해주는 펑션.
FUNCTION Z_CHECK_AND_CONVERT_NUMBER.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(P_INPUT)
*" EXPORTING
*" VALUE(P_OUTPUT)
*" EXCEPTIONS
*" NO_NUMERIC
*"----------------------------------------------------------------------
DATA : NUMBER(30),
NUMBER_OUT(30),
LENGTH TYPE I,
LENGTH2 TYPE I,
ONE.
MOVE P_INPUT TO NUMBER.
LENGTH = STRLEN( NUMBER ).
IF NUMBER CP '*.*.*'.
RAISE NO_NUMERIC.
ENDIF.
DO LENGTH TIMES.
ONE = NUMBER(1).
IF ONE = ','.
ELSEIF ONE = ' '.
LENGTH2 = STRLEN( NUMBER_OUT ).
IF LENGTH2 > 0. EXIT. ENDIF.
ELSEIF ONE BETWEEN '0' AND '9' OR
( ONE EQ '-' AND SY-INDEX EQ LENGTH ) OR
ONE EQ '.'.
CONCATENATE NUMBER_OUT ONE INTO NUMBER_OUT.
ELSE.
RAISE NO_NUMERIC.
ENDIF.
SHIFT NUMBER.
ENDDO.
MOVE NUMBER_OUT TO P_OUTPUT.
ENDFUNCTION.
'Abap' 카테고리의 다른 글
[Abap-ALV] 각각의 alv에 variant 줄때 (0) | 2013.09.09 |
---|---|
[Abap] Progress bar(진행 바) 나 타내기 (0) | 2013.09.02 |
[ABAP-Event] Batch Job 생성 (0) | 2013.09.01 |
[Abap] Excel 양식 다운로드 (0) | 2013.08.31 |
[Edit] Se16n 에서 수정이 안될시 (0) | 2013.08.27 |