1. String의 길이구하기
i = STRLEN( string )
2. CONCATENATE F1 F2 F3 INTO G.
- F1, F2, F3을 G에 넣는다.
- SEPARATED BY <string>
FI, F2, F3사이에 <string>을 넣는다.
ex) DATA: FIRST(2) VALUE 'BAE',
SECOND(2) VALUE 'BYUNG',
THIRD(2) VALUE 'SUNG',
NAME(20).
CONCATENATE FIRST SECOND THIRD INTO NAME SEPARATED BY SPACE.
결과 => 'BAE BYUNG SUNG'
3. SPLIT G AT <string> INTO F1 F2 F3.
- G의 내용을 <string>으로 구분하여 F1, F2, F3에 나누어 넣는다.
ex) DATA: NAME(20) VALUE ',BAE,BYUNG,SUNG',
FIRST(2),
SECOND(2),
THIRD(2),
FORTH(2),
FIFTH(2).
SPLIT NAME AT ',' INTO FIRST SECOND THIRD FORTH FIFTH.
결과 => FIRST = SPACE
SECOND = 'BAE'
THIRD = 'BYUNG'
FORTH = 'SUNG'
FIFTH = SPACE
4. SHIFT
- 변수에 들어있는 값을 이동한다. 모든 field를 type C로 간주하여 처리하기 때문에 type C, N, D외에는 사용할 때 주의하여야 한다.
- Option : CIRCULAR - 잘려나간 문자를 맨뒤에 놓는다.
RIGHT - 오른쪽으로 1칸 이동한다.
- 좌측으로 1칸 이동한다.
- SHIFT 문은 PERFORMANCE를 많이 요구하기 때문에 LOOP안에서는 사용을 하지 않는 것이 좋다.(1개의 문자를 이동하는데 5Microseconds 소요)
4-1. SHIFT c.
ex) DATA: FIRST(10) VALUE 'ABCEDFGHIJ'.
SHIFT FIRST.
결과 : FIRST = 'BCDEFGHIJ '.
4-2. SHIFT c BY n PLACES.
- 변수 c를 자리만큼 좌측으로 이동한다. 만일 c의 length보다 n이 크면 c에는
blank가 들어간다.
4-3. SHIFT c UP TO c1.
- 변수 c의 내부에 c1이라는 string을 만날 때까지 좌측으로 이동한다.
- c1이 없으면 아무변화도 일어나지 않는다.
- 이때 return value SY-SUBRC는 -4이다.
4-4. SHIFT c LEFT DELETING LEADING c1.
SHIFT c RIGHT DELETING TRAILING c1.
- string c의 첫 번째 혹은 마지막 character가 string c1에 포함되어 있다면
해당 character를 삭제하면서 이동한다.
- 첫 번째 혹은 마지막 character가 중복되어 있다면 다른 character가 나올 때
까지 이동한다.
- 같은 글자가 없다면 아무런 변화도 일어나지 않는다.
5. CONDENSE <string>.
- string 내부 단어사이의 blank를 1개씩만 남기고 없앤다.
- Option : NO-GAPS - 모든 blank를 없앤다.
- type C를 제외한 다른 field를 포함한 field string을 변환시키지 말 것. 이
상한 값이 들어갈 수 있다.
6. TRANSLATE c TO UPPER CASE.
TRANSLATE c TO LOWER CASE.
- 대소문자를 변환하는데 쓰인다.
- 10byte이상의 긴 field를 변환하는 것은 performance에 좋지 않다.
7. 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에 좋지 않기 때문에 많이 쓰지 않는 것이 좋다.
8. REPLACE c1 WITH c2 INTO c3.
- string c3에 있는 c1이라는 string을 c2로 변환시킨다.
9. SEARCH
9-1. SEARCH c1 FOR c2.
- c1에서 c2라는 string을 찾는다.
- c1의 단어사이는 blanck로 구분한다.
- c2에는 '_' , '*'를 포함하여 사용할 수 있다.
- SY-SUBRC = 0 일 때 SY-EDPOS에 찾은 단어의 위치정보가 들어 있다.
9-2. SEARCH itab FOR c2.
- itab이라는 internal table에서 c2라는 string을 찾는다.
- 나머지는 위와 상동
- SY-SYBRC = 0 일 때 SY-TABIX에는 internal table의 line number가 SY-EDPOS에는 위치정보가 들어 있다.
* e-abap님에 의해서 게시물 이동되었습니다 (2007-11-05 12:45)
i = STRLEN( string )
2. CONCATENATE F1 F2 F3 INTO G.
- F1, F2, F3을 G에 넣는다.
- SEPARATED BY <string>
FI, F2, F3사이에 <string>을 넣는다.
ex) DATA: FIRST(2) VALUE 'BAE',
SECOND(2) VALUE 'BYUNG',
THIRD(2) VALUE 'SUNG',
NAME(20).
CONCATENATE FIRST SECOND THIRD INTO NAME SEPARATED BY SPACE.
결과 => 'BAE BYUNG SUNG'
3. SPLIT G AT <string> INTO F1 F2 F3.
- G의 내용을 <string>으로 구분하여 F1, F2, F3에 나누어 넣는다.
ex) DATA: NAME(20) VALUE ',BAE,BYUNG,SUNG',
FIRST(2),
SECOND(2),
THIRD(2),
FORTH(2),
FIFTH(2).
SPLIT NAME AT ',' INTO FIRST SECOND THIRD FORTH FIFTH.
결과 => FIRST = SPACE
SECOND = 'BAE'
THIRD = 'BYUNG'
FORTH = 'SUNG'
FIFTH = SPACE
4. SHIFT
- 변수에 들어있는 값을 이동한다. 모든 field를 type C로 간주하여 처리하기 때문에 type C, N, D외에는 사용할 때 주의하여야 한다.
- Option : CIRCULAR - 잘려나간 문자를 맨뒤에 놓는다.
RIGHT - 오른쪽으로 1칸 이동한다.
- 좌측으로 1칸 이동한다.
- SHIFT 문은 PERFORMANCE를 많이 요구하기 때문에 LOOP안에서는 사용을 하지 않는 것이 좋다.(1개의 문자를 이동하는데 5Microseconds 소요)
4-1. SHIFT c.
ex) DATA: FIRST(10) VALUE 'ABCEDFGHIJ'.
SHIFT FIRST.
결과 : FIRST = 'BCDEFGHIJ '.
4-2. SHIFT c BY n PLACES.
- 변수 c를 자리만큼 좌측으로 이동한다. 만일 c의 length보다 n이 크면 c에는
blank가 들어간다.
4-3. SHIFT c UP TO c1.
- 변수 c의 내부에 c1이라는 string을 만날 때까지 좌측으로 이동한다.
- c1이 없으면 아무변화도 일어나지 않는다.
- 이때 return value SY-SUBRC는 -4이다.
4-4. SHIFT c LEFT DELETING LEADING c1.
SHIFT c RIGHT DELETING TRAILING c1.
- string c의 첫 번째 혹은 마지막 character가 string c1에 포함되어 있다면
해당 character를 삭제하면서 이동한다.
- 첫 번째 혹은 마지막 character가 중복되어 있다면 다른 character가 나올 때
까지 이동한다.
- 같은 글자가 없다면 아무런 변화도 일어나지 않는다.
5. CONDENSE <string>.
- string 내부 단어사이의 blank를 1개씩만 남기고 없앤다.
- Option : NO-GAPS - 모든 blank를 없앤다.
- type C를 제외한 다른 field를 포함한 field string을 변환시키지 말 것. 이
상한 값이 들어갈 수 있다.
6. TRANSLATE c TO UPPER CASE.
TRANSLATE c TO LOWER CASE.
- 대소문자를 변환하는데 쓰인다.
- 10byte이상의 긴 field를 변환하는 것은 performance에 좋지 않다.
7. 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에 좋지 않기 때문에 많이 쓰지 않는 것이 좋다.
8. REPLACE c1 WITH c2 INTO c3.
- string c3에 있는 c1이라는 string을 c2로 변환시킨다.
9. SEARCH
9-1. SEARCH c1 FOR c2.
- c1에서 c2라는 string을 찾는다.
- c1의 단어사이는 blanck로 구분한다.
- c2에는 '_' , '*'를 포함하여 사용할 수 있다.
- SY-SUBRC = 0 일 때 SY-EDPOS에 찾은 단어의 위치정보가 들어 있다.
9-2. SEARCH itab FOR c2.
- itab이라는 internal table에서 c2라는 string을 찾는다.
- 나머지는 위와 상동
- SY-SYBRC = 0 일 때 SY-TABIX에는 internal table의 line number가 SY-EDPOS에는 위치정보가 들어 있다.
* e-abap님에 의해서 게시물 이동되었습니다 (2007-11-05 12:45)
댓글 3
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
22 | SAP Function 모음 [21] | CO01 | 2007.11.08 | 4859 |
21 | R/3 접속자에게 메세지 보내기 [12] | sapjoy | 2006.12.06 | 6198 |
20 | 숫자 왼쪽의 0 없애기 [8] | ecbase | 2006.12.02 | 15317 |
19 | 도메인 고정 값 read [2] | sapjoy | 2007.02.11 | 5383 |
18 | 유용한 날짜 펑션들....(펌) [17] | 하늘사랑 | 2007.07.04 | 16790 |
17 | POPUP 함수(팝업) [11] | sapjoy | 2007.05.17 | 8812 |
16 | IP를 가져오는 클래스 메소드 및 함수 [6] | sapjoy | 2007.04.04 | 4946 |
15 | 현재 떠있는 화면에서 특정 필드의 값을 읽어오는 함수. [7] | 나침반친구 | 2007.03.13 | 4519 |
14 | IP를 가져오는 함수 [3] | sapjoy | 2007.03.09 | 4257 |
13 | 백그라운드 작업 관련 함수(batch job) [3] | sapjoy | 2007.03.02 | 6705 |
12 | background 관련 함수 [1] | sapjoy | 2006.12.29 | 4657 |
» | STRING 관련 함수 [3] | sapjoy | 2006.12.29 | 6805 |
10 | (-)부호를 앞으로 바꿔주는 함수입니다 [13] | ecbase | 2006.12.02 | 4849 |
9 | function 날짜 정합성 점검 [5] | senk | 2007.04.21 | 5845 |
8 | SEARCH HELP FUNCTION 이용한 예제 [2] | 이종원 | 2007.04.06 | 5344 |
7 | FUNCTION 모음 [3] | 명신용 | 2007.04.03 | 6212 |
6 | BAPI Function 검색 사이트 [10] | 홍성현 | 2007.08.08 | 5797 |
5 | function 모음입니다. [5] | 양파링 | 2007.11.02 | 7914 |
4 | Calling RFC Function Modules in ABAP [12] | SARA | 2007.04.26 | 6114 |
3 | Function 자료 [13] | 밥퍼 | 2007.04.25 | 4773 |