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 / 277 / 4 / 18 ) »
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.
2902
Views
COMMIT WORK
von retsch » 25.05.2023 07:40 • Verfasst in ABAP® für Anfänger
3
Antw.
3322
Views
Commit work im Debugger
von c oco » 12.06.2006 16:45 • Verfasst in ABAP® für Anfänger
5
Antw.
2293
Views
COMMIT WORK bei 2 BAPI
von autohandel7 » 11.11.2020 11:16 • Verfasst in ABAP® für Anfänger
2
Antw.
5483
Views
COMMIT WORK AND WAIT
von Barney » 21.01.2015 15:02 • Verfasst in ABAP® für Anfänger
0
Antw.
1474
Views
Nachrichtenfindung und COMMIT WORK
von schmitzandreas » 21.01.2008 13:25 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1737
HR-Entgeltnachweis
Gestern von ChrisB 4 / 2291

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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1737
HR-Entgeltnachweis
Gestern von ChrisB 4 / 2291

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 274
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 861
MS-Word als Editor
letzen Monat von tekko 1 / 4369