Bitte die Finger davon lassen: Daten verändern per SE16 / SE16N.

Nein, nein, nein, … das soll man nie machen – nie. Aber doch tut man es regelmäßig: Direkte Änderungen der Werte einer Datenbanktabellen. Auch wenn es als „Todsünde“ gilt, gibt es doch immer wieder Situationen, in denen Daten auf der DB modifiziert werden müssen. Vorallem im Testsystem kann es legitim sein diese Möglichkeit zu nutzen, um zügig verschiedene Varianten durch zu testen. Aber ich habe auch Projekte erlebt, wo auf dem Produktivsystem Daten angepasst wurden. Dabei wurde dieser Schritt damit begründet, dass im System ein so krasser Fehler auftrat, dass die Belege nicht mehr zu retten waren. Als erfahrener Berater sollte man die Gefahren und die Möglichkeiten der Datenbankanpassungen kennen – übrigens alle im folgenden beschriebenen Möglichkeiten können durch die SAP-Basis trotzt SAP_ALL-Berechtigung abgeknipst werden.

Zunächst einmal will ich auf die Gefahren eingehen, die damit verbunden sind, direkt Daten auf der DB zu verändern.

# An oberster Stelle kommt der rechtliche Aspekt: Jeder, der Daten in einem produktiven SAP-System verändert, macht sich wahrscheinlich strafbar. Im Detail bedeutet dieser Schritt ja, dass man die „Bücher“ eines Unternehmens manipuliert.

# Letztlich ist eine Veränderung von Daten auch systemtechnisch sehr kritisch; vielfach kann man nicht absehen, welche Auswirkungen dieser Eingriff verursacht –> System Stillstand?!

# Auch wenn man sich nur darauf beschränkt Werte im Testsystem zu verändern, besteht die Gefahr, dass man im Testsystem ein Schiefstand erzeugt, der sich unbemerkt auf alle weiteren Tests auswirkt.

So, auch wenn ihr wahrscheinlich keine Lust habt die Daten in SAP zu verändern, will ich kurz darstellen, wie es funktioniert.

Der einfache Weg – SE16N

Der einfachste Weg zum Verändern von Daten auf der DB ist die Nutzung der SE16N; dabei sieht das Vorgehen wie folgt aus:

#1 Transaktion SE16N aufrufen

#2 Die Tabelle eingeben (links oben), deren Daten man anpassen will und Enter

#3 Jetzt ins Transaktionsfeld &SAP_EDIT eingeben und Enter

#4 Jetzt über die Selektionsfelder die Daten Sätze selektieren, die modifiziert werden sollen, und Ausführen (F8)

#5 Im folgenden Screen (Darstellung der Selektionsergebnisse) können die Daten einfach in der ALV-Liste überschrieben und gesichert werden.

Übrigens: Wenn du nach dem Schritt #3 in die Transaktionsleiste „&sap_no_check“ eingibst und Enter drückst, dann werden auf die Werteprüfungen beim Editieren unterdrückt.

Protokollierung der Änderung per SE16N

Änderung von Tabellenwerten per SE16N werden protokolliert; damit kann man nachvollziehen welcher User, wann, welche Daten, wie verändert hat. Die Protokollierung erfolgt in den Tabellen:

# SE16N_CD_DATA

# SE16N_CD_KEY

Der umständlichere Weg – SE16

Etwas umständlicher kann man die Daten in einer Tabelle auch per SE16 verändern:

#1 Transaktion SE16 starten

#2 Die Tabelle eingeben, deren Daten man anpassen will, und Enter

#3 Anschließend im Selektionsfeld die relevanten Daten selektieren und Ausführen (F8)

#4 In der folgenden Liste der Ergebnisse den Satz markieren, der zu verändern ist, und links oben auf das Brillen-Icon (Anzeigen – F7) klicken.

#5 In dieser Detailansicht muss man nun in den Debugger-Modus aktivieren: In der Transaktionsleiste „/h“ eingeben.

#6 Jetzt mit der Maus in irgendein Feld klicken und Enter

#7 Ab hier solltest du ins Coding gesprungen sein: Hier Doppelklick auf die Variable „CODE“ und den Wert von „CODE“ von „SHOW“ auf „EDIT“ verändern. Verändern kann man den „CODE“ mit dem Stift-Icon.

#8 Jetzt den Code weiter laufen lassen – F8

#9 Ab jetzt sollten die Werte des Tabelleneintrags editierbar sein; nach Veränderung der Daten einfach sichern (STRG+S).

Unterschiede der beiden Varianten SE16 und SE16N

# Mit der SE16N kann man mehrere Datensätze in einem Schritt verändern; diese Möglichkeit besteht mit der SE16-Methode nicht. Hier kann man immer nur einen Datensatz verändern.

# Die Veränderungen mit der SE16-Methode werden nicht in einer Tabelle protokolliert; hier erfolgt die Protokollierung im System-Log.

# Letztlich ist bei einigen SAP-Systemen (bspw. SCM) die Transaktion SE16N nicht verfügbar; hier muss man auf die SE16-Methode zurückgreifen.

 

 

2 Gedanken zu „Bitte die Finger davon lassen: Daten verändern per SE16 / SE16N.“

  1. Die Option &SAP_EDIT ist tatsächlich mit ERP Release 600 (SP 17 und SP 18) deaktiviert worden.

    Ein wichtiger Punkt bei der Änderung von Tabellenwerten ist noch, dass teilweise auch Bezüge an anderen Stellen vorhanden sind und so hier ggf. mehrere Tabellen angepasst werden müssen (Stichwort Einzelposten-, Summentabellen).

    Grundsätzlich würde ich aber ebenfalls, wie in der Einleitung schon beschrieben, das direkte Ändern von Tabellen die nicht zur Pflege vorgesehen sind, als kritisch ansehen .. und wenn ich mich nicht ganz irre dürfte dieser Punkt auch in Revisionsleitfaden überprüft werden…. 🙂

    Was generell die Änderung von Tabellen und Änderungsprotokolle anbelangt ist das dennoch ein spannendes Thema.

  2. &SAP_EDIT geht seit einem bestimmten Release-Stand nicht mehr.
    Die Debug-Variante funktioniert nach wie vor.
    Ebenso noch möglich ist die Ausführung des FB SE16N_INTERFACE, wenn man die Rechte dazu hat.

Bitte hinterlasse ein kurzes Feedback, Isa.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.