char타입의 변수에 '9,955.000'이라고 들어가있고
다른 변수에는 '9,955'라고 되어있는데 이 둘을 같게 비교하려면 어떻게해야하나요?
p타입에 대입해봤는데 덤프떠서 어찌해야할지 모르겠습니다 ㅠ
* e-abap님에 의해서 게시물 복사되었습니다 (2011-03-15 14:19)
* e-abap님에 의해서 게시물 이동되었습니다 (2011-03-15 14:34)
* e-abap님에 의해서 게시물 이동되었습니다 (2011-03-15 14:37)
* e-abap님에 의해서 게시물 이동되었습니다 (2011-03-15 14:37)
댓글 9
-
곰팬
2011.03.01 00:08
-
돌맹이
2011.03.01 00:15
곰팬님 감사합니다.
-
행보관
2011.03.15 20:09
곰팬님 이해가안가여..ㅠ
-
곰팬
2011.03.15 20:48
위에 두개 댓글 날짜 보면 예전에 다른 질문에 달린건데.. 이상하네요...
-
곰팬
2011.03.15 20:48
DATA: l_char(17) TYPE c,
l_char2(17) TYPE c,
l_dec(16) TYPE p DECIMALS 3,
l_dec2(16) TYPE p DECIMALS 3.
l_char = '9,955.000'.
l_char2 = '9,955'.
PERFORM CONVERSION_DATA_TYPE USING l_char CHANGING l_dec.
PERFORM CONVERSION_DATA_TYPE USING l_char2 CHANGING l_dec2.
*&---------------------------------------------------------------------*
*& Form CONVERSION_DATA_TYPE
*&---------------------------------------------------------------------*
form CONVERSION_DATA_TYPE using p_char
changing p_dec.
CALL FUNCTION 'STRING_REPLACE'
EXPORTING
pattern = ',' " 변경할 문자열
substitute = '' " 변경될 문자열
CHANGING
text = p_char " 문자열이 들어있는 문장
EXCEPTIONS
wrong_string_length = 1
OTHERS = 2.
CALL FUNCTION 'CHAR_FLTP_CONVERSION'
EXPORTING
string = p_char "<- CHAR 변수
IMPORTING
flstr = p_dec. "<- DEC 변수
endform. " CONVERSION_DATA_TYPE -
곰팬
2011.03.15 20:52
char 타입을 동일한 p타입으로 변환 시킨 후 비교해 보았습니다.
도움이 되셨을려나 모르겠네요.
-
행보관
2011.03.15 21:46
감사합니다~! -
행보관
2011.03.15 21:46
이상하네 완료가 되어있네요 ;; -
ABAPCHOJJA
2011.03.16 03:07
저같은 경우 펑션을 잘 몰라서 그냥 이런식으로 비교합니다.
DATA L_CHAR TYPE C LENGTH 20 VALUE '9,955.000'.
DATA L_CHAR2 TYPE C LENGTH 20 VALUE '9,955'.
DATA L_DIFF TYPE P.
TRANSLATE : L_CHAR USING ', ',
L_CHAR2 USING ', '.
CONDENSE : L_CHAR NO-GAPS,
L_CHAR2 NO-GAPS.
L_DIFF = L_CHAR - L_CHAR2.
IF L_DIFF IS INITIAL.
MESSAGE '같음' TYPE 'S'.
ELSE.
MESSAGE '다름' TYPE 'S'.
ENDIF.
DATA: L_OTAB TYPE ABAP_SORTORDER_TAB,
L_OLINE TYPE ABAP_SORTORDER.
L_OLINE-NAME = '필드명1'.
APPEND L_OLINE TO L_OTAB.
L_OLINE-NAME = '필드명2'.
APPEND L_OLINE TO L_OTAB.
SORT <NEW_TAB> BY (L_OTAB).