Code: Alles auswählen.
loop at itab2.
INSERT zzsd_aufbestand FROM TABLE itab2.
ENDLOOP.
Code: Alles auswählen.
loop at itab2.
INSERT zzsd_aufbestand FROM TABLE itab2 accepting duplicate keys.
ENDLOOP.
Dein Ansatz macht überhaupt keinen Sinn und zeigt, dass Du die Funktionsweise der Befehle nicht verstanden hast. Mit dem ACCEPTING DUPLICATE KEYS unterdrückst Du das Auftreten von Fehlermeldungen, ohne zu wissen, wo diese überhaupt herkommen. Das ist, wie wenn bei Deinem Auto die Motorkontrollleuchte rot aufleuchtet und Du das Problem löst, indem Du die Glühbirne der Kontrollleuchte lockerdrehst.Kann das zu irgendwelchen Problemen führen ?
Hallo Matze,M@atze! hat geschrieben: ↑28.11.2019 12:54Hi,
lass bitte den Loop weg wenn du mit FROM TABLE arbeitest.
Mit FROM TABLE werden alle Datensätze von itab2 auf einmal auf die DB geschrieben.
Probleme sehe ich sonst keine.
Unterschied:
Wenn ein DS bereits vorhanden ist macht ein INSERT mit ACCEPTING DUPLICATE KEYS einfach nichts,
MODIFY überschreibt den bereits vorhandenen DS (mit evtl. anderen Daten
der Nicht-Schlüsselfelder aus itab2).
Grüße
Matze
Was meinst du damit?
Dass z.B. bei Massenverarbeitung kein COMMIT nach jedem fachlichen Oberbegriff wie z.B. Kundennummer abgesetzt werden kann wenn man das will. Bei einem Programmabbruch z.B. durch zu viele geänderte Zeilen im Sperr- oder Commit-Puffer würden die sauber verarbeiteten Kunden nicht zurückgedreht.