- COMMIT WORK wird am Programmende automatisch ausgeführt
- Aktionen können mit ROLLBACK rückgängig gemacht werden
Variante 1 (einzelner Datensatz)
* Datensatz
DATA(lv_struct) = VALUE zxyz( col1 = 'Value1' col1 = 'Value2' ).
INSERT INTO zxyz VALUES @lv_struct.
IF sy-subrc = 0.
WRITE : / 'Hinzufügen erfolgreich.'.
ELSE.
WRITE : / 'Datensatz konnte nicht hinzugefügt werden.'.
ENDIF.
Variante 2 (mehrere Datensätze aus einer itab)
* itab mit Datensätzen
DATA(itab) = VALUE zxyz_tab(
( col1 = 'Value1' col1 = 'Value2' )
( col1 = 'Value3' col1 = 'Value4' )
).
* Wenn der Zusatz ACCEPTING DUPLICATE KEYS angegeben ist, werden alle Zeilen eingefügt, für die dies möglich ist.
* Die restlichen Zeilen werden verworfen und sy-subrc wird auf 4 gesetzt.
INSERT zxyz FROM TABLE itab ACCEPTING DUPLICATE KEYS.
IF sy-subrc = 0.
WRITE : / 'Hinzufügen erfolgreich.'.
ELSE.
WRITE : / 'Nicht alle Zeilen der Tabelle itab wurden hinzugefügt.'.
ENDIF.
* sy-dbcnt = Anzahl der eingefügten Zeilen
WRITE: / 'Hinzugefügte Datensätze:', sy-dbcnt.