Ansicht
Dokumentation

ABAPMODIFY_DBTAB - MODIFY DBTAB

ABAPMODIFY_DBTAB - MODIFY DBTAB

General Material Data   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

MODIFY dbtab

Kurzreferenz



MODIFY target $[ connection$] FROM source $[MAPPING FROM ENTITY$].

Wirkung

Die -Anweisung MODIFY fügt entweder eine oder mehrere in source angegebene Zeilen in der in target angegebenen DDIC-Datenbanktabelle oder Tabellen-View ein oder überschreibt bereits vorhandene Zeilen. Mit dem Zusatz connection kann eine Sekundärverbindung angegeben werden.

Mit dem Zusatz MAPPING FROM ENTITY werden mit abgeleiteten BDEF-Typen typisierte Strukturen und interne Tabellen behandelt. Weitere Information ist im Thema ABAP-SQL-Anweisungen mit MAPPING FROM ENTITY enthalten.

Systemfelder

Die Anweisung MODIFY setzt die Werte der Systemfelder sy-subrc und sy-dbcnt.

sy-subrc Bedeutung
0 Bei Angabe eines Arbeitsbereichs in source wurde die angegebene Zeile eingefügt oder geändert. Bei Angabe einer internen Tabelle in source wurden alle angegebenen Zeilen eingefügt oder geändert oder die interne Tabelle ist leer.
2 Bei Angabe einer LOB-Handle-Struktur mit einer Komponente für Schreibströme wurden die nicht-LOB-Handle-Komponenten noch nicht in die Datenbank geschrieben, sondern werden spätestens beim Schließen des Stroms übermittelt. Das Auftreten dieses Zustands hängt vom Datenbanksystem ab. Siehe LOB-Handles.
4 Bei Angabe eines Arbeitsbereichs oder einer Subquery in source wurde keine Zeile bearbeitet oder bei Angabe einer internen Tabelle in source wurden nicht alle angegebenen Zeilen bearbeitet, da bereits eine Zeile mit einem gleichen eindeutigen Sekundärindex in der Datenbanktabelle vorhanden ist.

Die Anweisung MODIFY setzt sy-dbcnt auf die Anzahl der bearbeiteten Zeilen. Wenn dabei ein Überlauf eintritt, weil die Anzahl der Zeilen größer als 2.147.483.647 ist, wird sy-dbcnt auf -1 gesetzt. Wenn sy-subrc 2 ist, wird sy-dbcnt ebenfalls auf den Wert -1 (für undefiniert) gesetzt.

Hinweise

  • Die Änderungen werden beim nächsten Datenbank-Commit endgültig in die Datenbank übernommen. Bis dahin können sie durch einen Datenbank-Rollback wieder rückgängig gemacht werden. Die aktuelle Isolationsebene legt fest, ob die geänderten Daten bereits vor oder nur nach dem Datenbank-Commit in anderen Datenbank-LUWs gelesen werden können.
  • Die Anweisung MODIFY setzt bis zum nächsten Datenbank-Commit bzw. -Rollback eine Datenbanksperre in Form einer Schreibsperre, wodurch es bei falscher Verwendung zu einem Deadlock kommen kann.
  • Die Anzahl von Zeilen, die innerhalb einer Datenbank-LUW in die Tabellen einer Datenbank eingefügt oder geändert werden kann ist datenbankspezifisch dadurch beschränkt, dass ein Datenbanksystem nur eine begrenzte Menge von Daten im Rollback-Bereich und von Sperren verwalten kann.
  • Zu einer Anweisung MODIFY dbtab FROM wa gibt es eine syntaktisch gleiche Anweisung MODIFY itab FROM wa. Wenn eine interne Tabelle den gleichen Namen wie eine DDIC-Datenbanktabelle hat, greift eine solche Anweisung auf die interne Tabelle zu.

Beispiel

Die erste MODIFY-Anweisung fügt eine Zeile in eine leere Tabelle ein. Die zweite MODIFY-Anweisung modifiziert die Werte der Nicht-Schlüsselfelder dieser Zeile und fügt zwei weitere Zeilen ein.






ROGBILLS - Synchronize billing plans   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7063 Date: 20240523 Time: 135524     sap01-206 ( 118 ms )