메뉴 건너뛰기

SAP 한국 커뮤니티

자주 사용하는 String 조작 명령어


▶ 문자열 길이(STRLEN)

i = STRLEN( string )

 

▶ 문자열 연결 (CONCATENATE)
CONCATENATE F1 F2 F3 INTO G.

어떤 구분자(Space, Comma ...)로 문자열을 연결하고자 할때 SEPARATED BY 뒤에
구분자를 붙이면 됨.
CONCATENATE F1 F2 F3 INTO G SEPARATED BY SEP.

 

▶ 문자열 나눔 (SPLIT)
SPLIT G AT SPACE INTO F1 F2 F3.
SPLIT f AT g INTO TABLE <Internal Table>.

AT 뒤의 문자열을 기준으로 String을 나눔.

 

▶ 문자열 치환 (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

 
▶ 대소문자 변환 (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' )

 
▶ CONDENSE <string>

string 내부 단어사이의 blank를 1개씩만 남기고 없앤다.

Option : NO-GAPS - 모든 blank를 없앤다.

type C를 제외한 다른 field를 포함한 field string을 변환시키지 말 것.

이 상한 값이 들어갈 수 있다.

 

▶ OVERLAY c1 WITH c2.

c1의 character 중 blank의 자리에 c2의 character가 있다면 blank의 위치에 

있는 c2의 character를 넣는다.

ex) DATA: WORK(20) VALUE 'BA  B UNG-SU G',

HELP(20) VALUE '  E AYY  - NNI'.

OVERLAY WORK WITH HELP.

 

결과 : WORK = 'BAE BYUNG-SUNG'.

 
- Performance에 좋지 않기 때문에 많이 쓰지 않는 것이 좋다.

 
▶ REPLACE c1 WITH c2 INTO c3.

string c3에 있는 c1이라는 string을 c2로 변환시킨다.

 


▶SEARCH 

1. SEARCH c1 FOR c2.

- c1에서 c2라는 string을 찾는다.

- c1의 단어사이는 blanck로 구분한다.

- c2에는 '_' , '*'를 포함하여 사용할 수 있다.

- SY-SUBRC = 0 일 때 SY-EDPOS에 찾은 단어의 위치정보가 들어 있다.

 
2. SEARCH itab FOR c2.

- itab이라는 internal table에서 c2라는 string을 찾는다.

- 나머지는 위와 상동

- SY-SYBRC = 0 일 때 SY-TABIX에는 internal table의 line number가

SY-EDPOS에는 위치정보가 들어 있다.

번호 제목 글쓴이 날짜 조회 수
547 ABAP TUNNING sapjoy 2012.03.12 234716
546 New function vs Old function(obsolete) sapjoy 2014.03.31 127312
545 테이블Active시 (Warnings Occurred During Activation) 안나오게하는방법 [6] 양키 2012.03.29 99680
» 자주 사용하는 String 조작 명령어 [7] 양키(이경환) 2015.01.13 34259
543 collect 구문 [4] sapjoy 2006.12.03 27016
542 사용자 패스워드 변경 함수, 창 [11] sapjoy 2009.12.21 25672
541 R/3 용어 정의 Definitions [4] sapjoy 2007.01.23 23898
540 BAPI_PR_CREATE 구매요청 생성시에 사용하세요 [2] 노름마치 2007.12.10 23690
539 SELECT statement D.Y.Kim 2007.07.20 23644
538 문자열에 있는 값이 숫자만으로 되어있는지 문자가 포함됐는지 체크하는 함수 [3] 꿀단지 2011.10.11 19821
537 LIKE와 TYPE의 차이 [13] sapjoy 2006.12.06 19674
536 숫자입력 체크(Numeric character check) [1] 양키(이경환) 2014.01.28 19488
535 SDN -> SCN 변경되면서 Contents별로 바뀐 LINK 모음 [13] Wise 멘토 2012.07.06 19045
534 ABAP 핵심정리 [23] SARA 2007.03.14 17321
533 ALV LIST 진행시 LAYOUT 속성값 [18] kwon09 2007.04.11 17221
532 ABAP 구문 총정리 [39] file Wise 멘토 2008.11.24 17128
531 FOR ALL ENTRIES IN 구문 사용시 select 필드 선택시 주의사항. [7] 나침반친구 2007.03.13 16908
530 인터널 테이블 라인수 lines [8] sapjoy 2014.01.20 16905
529 SYST 시스템 변수 정리 [5] 아밥뽀 2014.08.23 16793
528 data [2] sapjoy 2006.12.03 16675