Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Processing Internal Data →  Internal Tables →  Processing Statements for Internal Tables 

DELETE itab

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


DELETE { itab_line |
itab_lines | duplicates }. 

Effect

This statement either deletes one or more rows itab_line or itab_lines specified with a table key or a table index, or it deletes adjacent duplicate rows duplicates.

System Fields

sy-subrc Meaning
0 At least one row was deleted.
4 No rows were deleted, since no appropriate row was found when deleting using a table key or whenspecifying a logical expression, the index specified when deleting using a table index was larger than the current number of rows, or no duplicate adjacent rows were found.

The system field sy-tabix is not set.


Notes

  • When deleting rows in an internal table, costs are incurred for updating all existing table keys and table indexes. The primary key and all unique secondary keys are updated directly, whereas non-unique secondary keys are only updated if the rows to be deleted are contained within an updated part of a relevant index (lazy update). When deleting a row from a standard table using a secondary key, the primary table index in particular must be updated, and this requires a linear search.
  • There is no implicit selection of a suitable key or index. The used table key or table index is always specified uniquely. The syntax check issues a warning if there is a suitable secondary table key but this table key is not used. This warning should be removed through using the key. However, in exceptional cases, it can be bypassed using a pragma.
  • Using a special variant DELETE mesh_path, rows from the last path node of a mesh path can be deleted.

Exceptions


Catchable Exceptions

CX_SY_ITAB_DYN_LOOP

  • Cause: Error in a dynamic WHERE condition
    Runtime Error: DYN_WHERE_PARSE_ERROR


This translation does not reflect the current version of the documentation.

Continue

DELETE itab - itab_line

DELETE itab - itab_lines

DELETE itab - duplicates

Internal Tables - Deleting Rows Using the Index - Example

Internal Tables, Deleting Rows Using Keys - Example