메뉴 건너뛰기

SAP 한국 커뮤니티

delete 인터널 테이블

ecbase 2006.12.02 09:47 조회 수 : 11556 추천:23

DELETE - Delete from an internal table


Variants


1. DELETE itab.
2. DELETE itab INDEX idx.
3. DELETE itab FROM idx1 TO idx2.
4. DELETE itab WHERE condition.
5. DELETE ADJACENT DUPLICATES FROM itab.

Effect
Deletes one or more lines from an internal table.

Note
The deletion of lines within a LOOP ... ENDLOOP loop is performed in a sequence of loop passes.

Variant 1
DELETE itab.

Effect
The current entry of the internal table itab is
deleted in a LOOP loop.
Return code value
The is set to 0.

Note
After deleting the current entry in an internal table in a LOOP loop, the effect of further update operations on the current entry without an INDEX specification is not guaranteed and may changed in later Releases.

Variant 2
DELETE itab INDEX idx.

Effect
Deletes the idx entry from the internal table itab .

The return code value is set as follows:


SY-SUBRC = 0 The entry was deleted.
SY_SUBRC = 4 The entry does not exist.

Variant 3
DELETE itab FROM idx1 TO idx2.

Effect
Deletes the line area from index idx1 to idx2 from internal table itab . At least one of the two parameters FROM idx1 or TO idx2 should be specified. If parameter FROM is missing, the area from the start of the table to line idx2 is deleted. If parameter TO is missing, the area from line idx1 to the end of the table is deleted. Start index idx1 must be greater than 0.

The return code value is set as follows:


SY-SUBRC = 0 At least one entry was deleted.
SY_SUBRC = 4 None of the entries were deleted.

Variant 4
DELETE itab WHERE condition.

Additions



1. ... FROM idx1
2. ... TO idx2

Effect
Deletes all entries from internal table itab , which satisfies the condition condition .

The return code value is set as follows:


SY-SUBRC = 0 At least one entry was deleted.
SY_SUBRC = 4 None of the entries were deleted.

Addition 1
... FROM idx1

Effect
The line area to be investigated is restricted to the lines up to index idx1 . If the addition FROM idx1 is missing, a search is carried out from the beginning of the table.
The addition FROM must come before the WHERE condition.

Addition 2
... TO idx2

Effect
Restricts the line area to be investigated to the lines up to index idx2 . If the addition TO idx2 is missing, a search is carried out until the end of the table.
The addition TO must come before the WHERE condition.

Example
Delete all lines in a name table between lines 5 and 36, if the entry begins with one of the letters 'A' to 'C' :


DATA: BEGIN OF NAMETAB OCCURS 100,
        NAME(30) TYPE C,       END OF NAMETAB.
...
DELETE NAMETAB FROM 5 TO 36 WHERE NAME CA 'ABC'.



Variant 5
DELETE ADJACENT DUPLICATES FROM itab.

Additions


1. ... COMPARING f1 f2 ...
2. ... COMPARING ALL FIELDS

Effect
Deletes neighboring, duplicate entries from the internal table itab . If there are n duplicate entries, the first entry is retained and the other n - 1 entries are deleted.

Two lines are considered to be duplicated if their default keys match.

The return code value is set as follows:


SY-SUBRC = 0 At least one duplicate exists, at least one entry deleted.
SY_SUBRC = 4 No duplicates exist, no entry deleted.

Addition 1
... COMPARING f1 f2 ...

Effect
Two lines of the internal table itab are considered to be duplicates if the specified fields f1 , f2 , .... match.

Addition 2
... COMPARING ALL FIELDS

Effect
Two lines are considered to be duplicates if all fields of the table entries match.

Notes
The DELETE ADJACENT DUPLICATES statement is especially useful if the internal table itab is sorted by fields (whether in ascending or descending order) which were compared during duplicate determination. In this case, the deletion of neighbouring duplicates is the same as the deletion of all duplicates.
If a comparison criterion is only known at runtime, it can be specified dynamically as the content of a field name by using COMPARING ... (name) ... . If name is blank at runtime, the comparison criterion is ignored. If name contains an invalid component name, a runtime error occurs.
Comparison criteria - statistically or dynamically specified - can be further restriced by specifying the offset and/or length.

Note
Performance
Deleting a line from an internal table incurs index maintenance costs which depend on the index of the line to be deleted. The runtime depends on the line width of the table.

For example, deleting a line in the middle of an internal table with 200 entries requires about 10 msn (standardized microseconds).

Deleting a range of entries with " DELETE itab FROM idx1 TO idx2. " deleting a set of entries with " DELETE itab WHERE ... " only incur index maintenance costs once. Compared with a LOOP , which deletes line-by-line, this is much faster.
To delete neighboring, duplicate entries from an internal table, use the variant " DELETE ADJACENT DUPLICATES FROM itab. " instead of LOOP constructions.
Related INSERT itab , MODIFY itab

Index
?SAP AG 1996
번호 제목 글쓴이 날짜 조회 수
527 data [2] sapjoy 2006.12.03 16719
526 Abap Dump Top 10 [5] 양키 2013.01.14 15741
525 BAPI_GOODSMVT_CREATE 입고/출고/재고이동시에 사용하세요. [5] 노름마치 2007.12.10 15085
524 Dynamic Internal Table 생성 꿀꿀윤뚱67 2019.11.27 14848
523 <img src=b.gif>Windows 7 에서 SAP GUI ALV 반응느림 해결방법 공유 (GUI720 기준)[추천:e-abap][추천:유리선율][추천:보나] [17] 점점 2010.07.02 14779
522 텍스트파일 다운받을때 유니코드 문제 해결 [8] file 솔로몬 2007.06.28 13767
521 SAP GUI WINDOW TITLE BAR 정보 표시 설정 방법 / 색상 설정 [15] file 미소 2010.12.26 13448
520 SAP 데이터 EXCEL로 내리는 절차 [6] sapjoy 2007.06.04 13340
519 Useful SAP System Administration Transactions [2] 홍성현 2007.08.08 12752
518 사업장 변경 [J_1BBRANCH] [1] Alexhong 2012.03.07 12624
517 테이블 변경 이력 테이블 [5] sapjoy 2006.12.12 12622
516 SAP GUI 7.10 patch level 14 Download Link 입니다. [2] 방배 2009.10.13 12607
515 오라클 힌트 리스트 정리 [3] sapjoy 2012.03.08 12533
514 native sql 사용 [8] sapjoy 2006.12.28 12366
513 GUI 720에서 ALV Grid 느린 현상 [26] 벗님 2011.10.12 12363
512 SELECT 문의 종류 및 CONCATENATE의 사용 [24] file iceout 2010.08.20 11785
» delete 인터널 테이블 [7] ecbase 2006.12.02 11556
510 Batch JOB이 수행중인지 여부체크 [5] deepbluesea 2011.04.05 11393
509 클라이언트간 CTS로 데이타이관 [15] file 노름마치 2008.07.11 11074
508 ALV 엑셀 다운로드시 한글깨짐 해결 [7] sapjoy 2008.06.12 11051