Ansicht
Dokumentation

ABAPINSERT_ITAB - INSERT ITAB

ABAPINSERT_ITAB - INSERT ITAB

BAL_S_LOG - Application Log: Log header data   Vendor Master (General Section)  
This documentation is copyright by SAP AG.
SAP E-Book

INSERT itab

Short Reference



INSERT line_spec INTO itab_position $[result$].

Effect

This statement adds one or more lines line_spec at a position itab_position in an internal table. The position can be specified using the primary table key or a table index. result can be used when appending a single line to set a reference to the appended line in the form of a field symbol or a data reference.

When the line is inserted, all existing unique table keys are checked. These can be a unique primary table key and multiple unique secondary table keys. The system handles any duplicates of the different keys according to the following hierarchy:

  1. If attempting to insert a single line using a primary key would produce duplicates with respect to the unique primary key, no line is inserted and sy-subrc is set to 4.
  2. If attempting to insert a single line using the key or the index would result in duplicates with respect to a unique secondary key, a catchable exception of the class CX_SY_ITAB_DUPLICATE_KEY is raised.
  3. If attempting to insert a single line using an index or multiple lines as a block would result in duplicates with respect to a unique primary or secondary key, a runtime error occurs.

System Fields

sy-subrc Meaning
0 One or more lines were inserted.
4 No line was inserted because either a line with the same unique key already existed when inserting single lines using the primary key or the specified index was greater than the current number of lines plus 1 when inserting the lines using the table index.

The system field sy-tabix is not set.

Notes

  • The administration of an unique secondary table key is updated immediately (direct update) and the administration of a non-unique secondary table key is updated at the next explicit use of the secondary table key (lazy update). Runtime costs for creating or updating a non-unique secondary table key are not incurred therefore until it is used for the first time (see the executable example).

Example

Insertion of single lines into a standard table int_tab using the table index and insertion of references to these lines in a hashed table ref_tab using the table key. The output in the LOOP loops produces the numbers 10 to 1 for int_tab and the numbers 1 to 10 for ref_tab.

Exceptions

Catchable Exceptions

CX_SY_ITAB_DUPLICATE_KEY

  • Cause: Duplicate key values in unique secondary key
    Runtime Error: ITAB_DUPLICATE_KEY

Non-Catchable Exceptions

  • Cause: When inserting a set of lines, entries with an identical key were produced (the target table is defined by UNIQUE).
    Runtime Error: ITAB_DUPLICATE_KEY
  • Cause: Sort order violated when using an INSERT with index in a sorted table.
    Runtime Error: ITAB_ILLEGAL_SORT_ORDER
  • Cause: Invalid index value (= 0) when FROM, TO, or INDEX specified
    Runtime Error: TABLE_INVALID_INDEX






General Data in Customer Master   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
This documentation is copyright by SAP AG.

Length: 6160 Date: 20240419 Time: 070625     sap01-206 ( 69 ms )