- BUX_DECIMAL_START : 문자 필드의 숫자에 콤마 찍기
● 자주 사용하는 String 조작 명령어
▶ 문자열 길이(STRLEN)- LV_LEN에 문자열 LV_STRING 길이를 돌려준다.
LV_LEN = STRLEN(LV_STRING).
▶ 문자열 갯수
FIND ALL OCCURRENCES OF 'A' IN LV_STRING MATCH COUNT LV_CNT.
▶ 문자열 내 특정 문자의 최초위치 값
FIND 'A' IN LV_STRING MATCH OFFSET LV_OFF.
▶ 문자열 연결 (CONCATENATE)
CONCATENATE F1 F2 F3 INTO G.
어떤 구분자(Space, Comma ...)로 문자열을 연결하고 문자열 사이를 SPACE를 추가
CONCATENATE F1 F2 F3 INTO G SEPARATED BY SPACE.
문자열을 각 변수 고유성질 그대로 붙여준다.
CONCATENATE F1 F2 F3 INTO RESULT RESPECTING BLANKS.
▶좌우 빈 공백 제거(CONDENSE)
CONDENSE LV_STRING.
▶ 좌측 문자를 취한다.
MOVE RESULT+0(10) TO LV_STRING. <- LEFT
MOVE RESULT+10(10) TO LV_STRING <- MID
LV_OFF =10. <- RIGHT
LV_CNT = STRLEN)RESULT).
LV_INT = LV_CNT - LV_OFF.
MOVE RESULT+LV_INT(LV_OFF) TO LV_STRING.
▶ 문자열 나눔 (SPLIT) - AT 뒤의 문자열을 기준으로 String을 나눔.
SPLIT G AT SPACE INTO F1 F2 F3.
SPLIT f AT g INTO TABLE <Internal Table>.
▶ 문자열 치환 (REPLACE)
STRING = 'ABCDEFGHIJ'.
STR1 = 'CDEF'.
STR2 = 'KLMN'
LEN = 2
전체 문자열 치환
REPLACE <STR1> WITH <STR2> INTO STRING.
STRING : ABCDEFGHIJ --> ABKLMNGHIJ
원하는 길이만큼 치환
REPLACE <STR1> WITH <STR2> INTO STRING LENGTH LEN.
STRING : ABCDEFGHIJ --> ABKLMNEFGH
문자열 내 특정 문자 전체 치환하고 치환횟수 알려줌
REPLACE ALL COOURRENCES OF 'A' IN LV_STRING WITH 'B'
REPLACEMENT COUNT LV_CNT.
문자열중 첫번째 문자만 치환
REPLACE 'A' IN LV_STRING WITH 'B'.
▶ 대소문자 변환 (TRANSLATE)
TRANSLATE <C> TO UPPER CASE. (대문자)
TRANSLATE <C> TO LOWER CASE. (소문자)
▶ 문자열 이동 (SHIFT)
SHIFT <C> LEFT DELETING LEADING <STR>. (왼쪽 <STR>을 지우고 이동)
SHIFT <C> LEFT DELETING LEADING SAPCE. (왼쪽 Space를 지우고 이동)
SHIFT <C> CIRCULAR / RIGHT / LEFT .
마이너스 부호를 앞자리로 이동하는 예제. ( NUM = ' 1000-' )
SHIFT <NUM> RIGHT CIRCULAR. ( NUM = '- 1000' )
SHIFT <NUM>+1 LEFT DELETING LEADING SPACE. ( NUM = '-1000 ' )
SHIFT <NUM> RIGHT DELETING TRAILING SPACE ( NUM = ' -1000' )