(ABAP) REFRESH, CLEAR, FREE에 대하여
* INTERNAL TABLE의 데이터를 지울 때는 REFRESH <ITAB>을 사용하고 WORK AREA를 초기화 시킬 때는 CLEAR를 사용하도록 하자.
- REFRESH <ITAB>
> INTERNAL TABLE에 있는 데이터를 삭제한다.
> INTERNAL TABLE을 만들기 위해 사용 된 메모리를 제외한 나머지 메모리를 회수한다. (새로운 ROW를 추가할 때 성
능 향상을 위해)
- CLEAR <ITAB>
> 주로 WORK AREA를 지울 때 사용하도록 하자.
> INTERNAL TABLE이 HEADER LINE이 있을 경우, HEADER LINE의 데이터만 삭제한다.
> INTERNAL TABLE이 HEADER LINE을 없을 경우, 테이블에 있는 데이터를 모두 삭제한다.
> INTERNAL TABLE을 만들기 위해 사용 된 메모리를 제외한 나머지 메모리를 회수한다. (새로운 ROW를 추가할 때 성
능 향상을 위해)
- CLEAR <ITAB>[]
> 주로 WORK AREA를 지울 때 사용하도록 하자.
> INTERNAL TABLE이 HEADER LINE이 있을 경우, 테이블에 있는 데이터는 삭제하지만 HEADER LINE의 데이터는
그대로 유지한다.
> INTERNAL TABLE을 만들기 위해 사용 된 메모리를 제외한 나머지 메모리를 회수한다. (새로운 ROW를 추가할 때 성
능 향상을 위해)
- FREE
> INTERNAL TABLE에 HEADER LINE이 있다면, 테이블 BODY 내용만 삭제하고 사용 된 메모리를 회수한다.
> INTERNAL TABLE에 HEADER LINE이 없다면, 테이블 전체를 삭제하고 사용 된 메모리를 회수한다.
> INTERNAL TABLE이 더 이상 사용되지 않을 때만 사용하도록 하자.