메뉴 건너뛰기

SAP 한국 커뮤니티



ABAP [Internal Table] 명령어 정리표

문바이 2011.05.13 13:23 조회 수 : 54234 추천:12

 

코딩시 주로 사용되는 명령어를 정리해 보았습니다

명령어

Sample code

설명

CLEAR itab.

CLEAR itab.  (with header line)
CLEAR
itab[]. (with header line)
CLEAR itab.  (without header line)

itab의 Header Line 만을 제거한다.
itab의 Body 만을 제거한다.
itab의 body를 제거한다.

REFRESH itab.
FREE itab.

REFRESH itab.
FREE itab.

itab의 body의 내용을 제거한다.
itab의 body의 내용이 제거된 후 . 해당공간의 메모리를 회수한다.

DESCRIBE TABLE~~

DESCRIBE TABLE itab LINES lv_lin OCCURS lv_ini KIND lv_knd.

lv_lin = itab.RowCount.  lv_ini = inital Size
lv_knd = [sTandard , Hashed , Sorted ]

SORT itab.
SORT itab

DESCENDING BY land

weight ASCENDING.

SORT itab.
SORT itab DESCENDING BY land weight ASCENDING.

itab. [itab]의 기본키로 정렬을 수행한다.
itab의 land[내림차순]후, weight[오름차순] 정렬을 수행한다

if itab1 eq itab2.  [=]
if itab1 gt itab2.   [>]

if itab1 eq itab2.
endif.

itab1[Rowcount] , itab2[Rowcount]를 비교한다.

MOVE itab[] TO itab[]

[데이타]를 이동할때.
MOVE itab1[] TO
itab2[]  (with header line)
MOVE itab1 TO itab2 (without header line)

itab1과 itab2는 모두 동일한 Structure로 구성되어야 한다.
[] (대괄호)는 Header line의 경우 [body]를 의미한다.
itab1에서 itab2로 데이타를 이동한다.

MOVE-CORRESPONDING
wa[] INTO wa[]

[데이타]를 이동할때.
MOVE-CORRESPONDING wa1 TO wa2.

wa1 wa2는 다른 배열의 구조체여도 상관없다.
이 명령어와 Loop at을 사용하면 itab의 내용을 쉽게 옴길수 있다.
[이 명령은 without header line 인 경우 활용하면 좋다.]

INSERT

INSERT TABLE itab.
INSERT wa INTO TABLE itab.
INSERT wa INTO itab INDEX
1.
INSERT INITIAL LINE INTO itab INDEX
5.
INSERT LINES OF itab1 FROM 1 TO 5 INTO TABLE itab2.

itab의 header line의 내용을 가장마지막에 추가한다.
wa를 itab의 가장마지막줄에 추가한다. [공통]
wa를 itab의 index 1번에 삽입한다. [공통]
itab에 각컬럼별 기초값[Default Value]로 index5에 삽입한다. [공통]
itab1의 (1~5번)내용을 itab2에 추가한다.

APPEND

APPEND itab.
APPEND wa TO itab.
APPEND wa TO itab SORTED BY col2.

itab의 header line의 내용을 가장마지막에 추가한다.
wa를 itab의 가장마지막줄에 추가한다. [공통]
wa를 itab의 마지막에 삽입후, col2로 [내림차순] 정렬을 수행한다

COLLECT

COLLECT wa INTO itab.

itab의 구성원중 숫자형(i,f,p)을 제외한 것을 키값으로 간주,
추가 또는 합삽해주는 연산이다.

MODIFY

MODIFY TABLE itab FROM wa.

itab 의 내용중 wa와 키값이 일치하는 첫번째 항목에 대해서 수정하라

MODIFY itab FROM wa TRANSPORTING col2
WHERE (
col2 > 30 ).

itab-col2 의 내용을 wa-col2로 변경.( col2 > 30 을 만족하는 항목에대해서)

MODIFY itab FROM wa INDEX 1.

itab 의 내용을 wa로 변경.(INDEX = 1 인 항목만)

DELETE

DELETE TABLE itab FROM wa.

itab 의 내용중 wa와 키값이 일치하는 첫번째 항목에 대해서 삭제하라

DELETE itab
WHERE (
col2 > 30 OR col1 < 10 ).

itab 의 내용을 삭제( col2 > 30  or col1< 10 을 만족하는 항목에대해서)

DELETE itab INDEX : 1,2,3.

itab 의 내용중 INDEX (1,2,3) 인 항목만 삭제.

READ

READ TABLE itab FROM wa INTO wa.

itab 의 내용중 wa와 키값이 일치하는 첫번째 항목에 대해서 읽어와라

READ TABLE itab WITH TABLE KEY col1 = 1
INTO
wa [BINARY SEARCH].

itab의 키값을 [eq]관계로 만족하는 단하나의 wa를 얻고자 할때사용.

READ TABLE itab INTO wa INDEX 5.

itab 의 내용중 INDEX (5) 인 항목만 얻고자 할때