Ok da ich gestern etwas in Eile war noch einmal die genauere Beschreibung des Problems.
Via ABAP-Programm soll in einer Tabelle ein bestimmter Eintrag geändert werden. Dies kann natürlich auch zu unerwünschten Ergebnissen führen. Das ändern der Tabelle stellt dabei nicht das Problem dar, sondern der Auftrag vom Chef lautet, dass vor dieser Änderung eine Datei erstellt werden soll, die den aktuellen Stand der Tabelle vor der Änderung enthalten soll, um sie bei evt. Fehlern wieder einzuspielen. Diese Erstellung der Datei soll automatisch geschehen.
Stand: mit OPEN DATASET wurde eine Datei angelegt, in der mir auch gelungen ist schon Daten einer Tabelle zu importieren (5 Felder-Testtabelle).
Bei den richtigen Tabellen (mehr als 20 Felder) - schlägt der Transfer der Daten fehl. Wie kann man dieses Elegant lösen OHNE jedes Feld per Hand einzugeben, ungefähr 150 Felder .
vorsicht, denke auch an die Prüftabellen, du kannst nicht einfach nur die Tabellen ändern, evtl hängen da nochmal Tabellen dran die auf Konsistenz prüfen.
Je nach Häufigkeit dieser Tabellenänderungen und abhängig davon, für wieviele Tabellen euer Programm das machen soll...:
Wenn es immer wieder zu Tabellenänderungen an ein derselben Tabelle handelt, würde ich die Daten nicht unbedingt in eine Datei sondern in eine eigene Tabelle schieben.
Entweder definiert man diese mit gleicher Struktur wie die Originaltabelle oder man hängt noch zusätzlich Datums- und Statusfelder an und bastelt sich noch eine eigene Historisierung.
Um was für eine Art von Tabelle(n) handelt es sich denn?
Also es sind Jobtabellen einer Datenbank. In diesen werden Jobnamen, Informationen etc. abgelegt und sind einem User zugeordnet. Wenn dieser User nun nicht mehr existiert, scheidet aus dem Unternehmen aus oder ähnliches, bekommt ein anderer User diesen Job. Dieser Username soll via ABAP-Programm geändert werden. Um die Konsistens zu gewährleisten, sind mehrere Tabellen betroffen.
Diese Änderung ist dabei nicht das Problem und das habe ich auch schon gelöst. Das Problem ist, den Tabelleninhalt vorher in einer Datei zu sichern!