INSERT / MODIFY auf Z-Tabelle mit/ohne Commit-Work ?

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

INSERT / MODIFY auf Z-Tabelle mit/ohne Commit-Work ?

Beitrag von gre (ForumUser / 9 / 0 / 0 ) »
Hallo zusammen,

ich habe eine Frage im Umgang mit MODIFY / INSERT.

Ich habe eine Z-Tabele erstellt, in der ich ca 90.000 Datensätze mit einer Satzlänge von ca. 100 Zeichen (20Felder) speichern will.

Da ich beim Umgang mit Datenbankveräderungen sehr vorsichtig bin möchte ich hier kurz nachfragen wie ich vorgehen sollte.

Ausgangssituation:
In einer ITAB habe ich meine Daten stehen, die nun in die Z-Tabelle geschrieben werden sollen.
Die Z-Tabelle kann leer sein, sie kann aber auch schon Daten enthalten, von denen nun einzelene Daten auch aktualisiert werden sollen anhand des Schlüssels.

Z-Tabelle ist Z1TEST
ITAB ist i_Z1TEST_export

vereinfacht sieht mein Source-Code so aus.


loop at i_Z1TEST_export.
Z1TEST = i_Z1TEST_export.
modify Z1TEST. " ( INSERT klappt auch)
endloop.


Mit kleinen Datenbeständen klappt diese vorgehensweise problemlos.

Bei großen Datenbeständen kann ich mir vorstellen, dass es problematisch wird und ein Commit work notwendig ist.
Bevor ich nun Tests mit großen Datenbeständen mache möchte ich hier im Board fragen, ob mir jemand einen Rat geben kann ob und wie ich einen Commit Work einsetze oder etwas anderes besser ist.

Ich freu mich über jede Antwort.

Gruss

gre

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von BlackMail (ForumUser / 79 / 0 / 0 ) »
Hallo.

90.000 Einträge sind überhaupt kein Problem.
Problematisch, weil laufzeitintensiv, sind DB-Zugriffe in einer Schleife. Stattdessen gibt es auch die Array-Inserts/Updates: MODIFY/UPDATE/INSERT xxx FROM TABLE itab, wobei UPDATE / INSERT vorzuziehen sind. Also nur ein Zugriff für die ganze interne Tabelle.
Noch ein Tipp: Besser keine Tabellen mit Kopfzeilen verwenden.

Gruß BlackMail.

Beitrag von gre (ForumUser / 9 / 0 / 0 ) »
@BlackMail : Danke für die rasche Antwort.

Also dann benötige ich gar kein Commit-Work für diese Datenmenge ?

Wie definiere ich ein ARRAY-Tabelle ohne Kopfzeile ?

Bisher definiere ich die Tabelle wie folgt.

data : begin of i_z1test_export occurs 1000.
include structure z1test.
Data : end of I_z1test_export.

und dann würde ich setzen :

UPDATE z1test FROM TABLE i_z1test_export.

sy-bdcnt enthält dann die Anzahl der geänderten/neuen Sätze.

Es ist bestimmt richtig, dass ein UPDATE sowohl dann eingesetzt werden kann, wenn der Schlüssel in der SAP-Tabelle schon existiert, als auch wenn der Schlüssel neu ist?

Beitrag von GastX (Specialist / 287 / 5 / 19 ) »
Hallo,

Code: Alles auswählen.

data: wa_z1test type z1test,                           "Arbeitsbereich
          it_z1test type standard table of z1test."Tabelle ohne Kopfzeile
Es ist bestimmt richtig, dass ein UPDATE sowohl dann eingesetzt werden kann, wenn der Schlüssel in der SAP-Tabelle schon existiert, als auch wenn der Schlüssel neu ist?
Nein, wenn der Schlüssel nicht existiert, gibt es Fehler. Dafür nimmt man dann MODIFY (s. F1-Hilfe auf die Befehle)

Gruss,
Frank.

Beitrag von BlackMail (ForumUser / 79 / 0 / 0 ) »
gre hat geschrieben:Also dann benötige ich gar kein Commit-Work für diese Datenmenge ?
Ganz ohne Commit geht's natürlich nicht. Wenn du einen Report programmiert hast, wird allerdings am Ende des Reports ein implizites COMMIT WORK abgesetzt.

Gruß BlackMail.

Beitrag von gre (ForumUser / 9 / 0 / 0 ) »
Dank :)

ich werde es mal so ausprobieren :)

Seite 1 von 1

Vergleichbare Themen

11
Antw.
5402
Views
COMMIT WORK
von retsch » 25.05.2023 07:40 • Verfasst in ABAP® für Anfänger
3
Antw.
4085
Views
Commit work im Debugger
von c oco » 12.06.2006 16:45 • Verfasst in ABAP® für Anfänger
0
Antw.
2170
Views
Nachrichtenfindung und COMMIT WORK
von schmitzandreas » 21.01.2008 13:25 • Verfasst in ABAP® Core
2
Antw.
6880
Views
COMMIT WORK AND WAIT
von Barney » 21.01.2015 15:02 • Verfasst in ABAP® für Anfänger
5
Antw.
5300
Views
COMMIT WORK bei 2 BAPI
von autohandel7 » 11.11.2020 11:16 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Benutzerdefinierte Felder PSP
vor 3 Tagen von Rabea1103 1 / 319
Zukunft des ABAP Entwicklers
vor einer Woche von DeathAndPain 14 / 5767
HR in der Zukunft?
vor einer Woche von DeathAndPain 6 / 7500
Analyse abhängiger Objekte zu einem ABAP-Programm
vor einer Woche von MAJOR_TOM gelöst 5 / 5512

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Benutzerdefinierte Felder PSP
vor 3 Tagen von Rabea1103 1 / 319
Zukunft des ABAP Entwicklers
vor einer Woche von DeathAndPain 14 / 5767
HR in der Zukunft?
vor einer Woche von DeathAndPain 6 / 7500
Analyse abhängiger Objekte zu einem ABAP-Programm
vor einer Woche von MAJOR_TOM gelöst 5 / 5512

Unbeantwortete Forenbeiträge

Benutzerdefinierte Felder PSP
vor 3 Tagen von Rabea1103 1 / 319
Spool vereinen OTF und PDF
vor 2 Wochen von anna2205 1 / 5081
XSLT und Loipro05 Transformation
letzen Monat von Torsten1965 1 / 11424
VOLL Artikel in einem Display Typ 12
November 2025 von ThomasM84 1 / 29885