데이터의 값에 문자가 포함되는지의 여부를 true false 등으로 알고싶습니다.
만약 lv_num 의 값이 '13N44BZ' 로 되어있을때.
문자가 포함되어있으면 true
아니면 false 로
뱉어주는 무언가가 있을거 같은데
찾질 못하겠네염.
부탁드립니다.
댓글 4
-
activeman
2008.11.20 20:25
-
Giant
2008.11.20 20:30
아래의 함수로 판정이 가능 할것 같습니다.
CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
STRING_IN = STRING_1
IMPORTING
HTYPE = STRING_1_TYPE.
여기서 만약에 입력한 데이타의 값이 문자가 들어 있으면 Export값이 CHAR로 나옵니다.
없으면 NUMC로 나옵니다.
이것으로 True and False로 판정하면 될것 같습니다.
도움이 되길 바랍니다.
-
기본도없는초보
2008.11.20 20:32
위의 소스 결과
12345678901234567890 : NUMC
abcdefg우리나라만세z : CHAR
abcdAAA34557azzidfll : CHAR -
용스
2009.01.09 01:20
펑션이 있었는데... NUMERIC_CHECK 요걸 쓰면 숫자 or 문자 라는게 뜨구요.
if lv_num cp 'ABCDEFGHIGKLMNOPQRSTUVWXYZ'. 이런식으로 문자를 찾는것보다.
CN을 써서 '1234567890'을 쓰는게 좋겠네요.
다른 방법도 많을 듯...
이함수 한번 응용해 보세요...
어떤 문자열변수에 들어있는 값이 숫자만인지, 아니면
문자도 같이 섞여있는지 알고싶을 때가 있습니다.
괜히 노가다할 생각 하지 말고, 이 함수를 이용하세요.
예제쏘스를 보세요.
REPORT YTESTHAN6 .
DATA: STRING_1(20) TYPE C, STRING_1_TYPE(4) TYPE C,
STRING_2(20) TYPE C, STRING_2_TYPE(4) TYPE C,
STRING_3(20) TYPE C, STRING_3_TYPE(4) TYPE C.
STRING_1 = '12345678901234567890'.
STRING_2 = 'abcdefg우리나라만세z'.
STRING_3 = 'abcdAAA34557azzidfll'.
CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
STRING_IN = STRING_1
IMPORTING
HTYPE = STRING_1_TYPE.
CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
STRING_IN = STRING_2
IMPORTING
HTYPE = STRING_2_TYPE.
CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
STRING_IN = STRING_3
IMPORTING
HTYPE = STRING_3_TYPE.
WRITE: / STRING_1, ':', STRING_1_TYPE.
WRITE: / STRING_2, ':', STRING_2_TYPE.
WRITE: / STRING_3, ':', STRING_3_TYPE.
즙밥하세요..