SE16 austricksen

In der SE16 können eigentlich keine Einträge geändert werden, wenn ein Pflegedialog für die Tabelle existiert oder die Tabellenklasse ein ändern nicht zulässt. Mit Debugging-BErechtigung geht das aber doch!

Wenn Sie die Berechtigung zum Debuggen und Feldinhalte ändern haben, dann können Sie relativ einfach Tabelleneinträge ändern.

Starten Sie die Tabellenanzeige mit SE16, geben Ihre Selektionskriterien ein und führen die Suche aus. In der Übersicht markieren Sie die Einträge, die Sie ändern möchten.

Geben Sie nun in der OK-Code-Zeile “/h” ein, drücken Sie <Enter>  und machen dann einen Doppelklick auf einen markierten Eintrag.

Sie gelangen in den Debug-Modus. Drücken Sie hier einmal F7 für die Funktion “Return”, geben dann in der Feldzeile die Variable “CODE” ein. Der Inhalt ist bisher “SHOW”. Ändern Sie ihn in “EDIT” und führen das Programm mit F8 weiter aus.

Sie können nun die markierten Einträge nach belieben ändern.

Einziger Wermutstropfen: Die Fremdschlüsselprüfung ist aktiv. Sie können also nur Einträge in die Felder schreiben, die durch eine eventuell aktivierte Fremdschlüsselprüfung aktivert sind.

Nachtrag

In neueren Releases muss folgendermaßen vorgegangen werden:

Um den Edit Mode der SE16 herbei zu führen muss im Unterprogramm  SET_STATUS_VAL ein Breakpoint gesetzt werden: in Zeile 34 – if code = ‘SHOW’

Hier kann dann wie gehabt der CODE auf EDIT oder INSR gesetzt werden.

Einträge editieren mit SE16n

Bild_2014_06_25_130602

Das Ändern von Einträgen mit der SE16N ist ebenfalls sehr einfach: Geben Sie einfach, nachdem Sie die zu ändernde Tabelle eingetragen haben, den Funktionscode

&SAP_EDIT

in die OK-Code-Zeile ein. Es wird dann die Meldung “SAP-Editierfunktion wurde aktiviert” ausgegeben und Sie können die Einträge berabeiten.

Auch in der SE16N ist die Fremdschlüsselprüfung aktiv. Diese kann aber ausgeschaltet werden: Im Selektionsbild der SE16N geben Sie den Funktionscode

&SAP_NO_CHECK

ein. Dann ist die Fremdschlüsselprüfung deaktiviert. Diese Funktion ist natürlich mit Vorsicht zu genießen, denn in der Regel haben Fremdschlüsselprüfungen ihren Sinn!!

Protokoll

Die Änderungen, die mit der Transaktion SE16N gemacht werden, werden protokolliert. Diese Änderungen können mit dem Programm RKSE16N_CD
ausgewertet werden.

Hinweis 1420281

In diesem Hinweis ist beschrieben, wie die Editierfunktionalität &sap_edit wieder abgeschaltet werden kann. Ab Release 6.00 wird diese Änderung mit Support Packages 17 & 18 ausgeliefert. Eine Nutzung der funktion &sap_edit ist dann nicht mehr möglich.

Um trotzdem eine Tabellen ändern zu können, kann man sich – Feldänderungen im Debugging erlaubt vorausgesetzt – wie folgt behelfen:

  1. Aufruf der Transaktion SE16N
  2. Eingabe des Tabellennamens
  3. Einschränkung der Werte im Selektionsbild
  4. /h in OK-Codezeile eingeben (Debugging aktiveren) und Enter drücken
  5. Selektion ausführen (Funktionstaste F8)
  6. Im Debugger die Felder gd-edit und gd-sapedit auf X ändern (Siehe Screenshot)
  7. F8 drücken um fortzufahren

Bild_2014_06_25_130639

Funktionsbaustein SE16N_INTERFACE

Noch einfacher lässt sich die Transaktion SE16n “austricksen”, indem du gleich den zu Grunde liegenden Funktionsbaustein SE16N_INTERFACE in der SE37 im Testmodus aufrufst.

Hier kannst du die beiden Parameter I_EDIT und I_SAPEDIT direkt mit einem X vorbelegen.

Nachteil bei dieser Variante: Es wird sofort die Ergebnisliste ausgegeben, du kannst also keine Vorselektion machen. Das heißt, machen kannst du sie schon, jedoch nur einigermaßen umständlich über den Parameter IT_AND_SELFIELDS.

Enno Wulff
Letzte Artikel von Enno Wulff (Alle anzeigen)