Beim Upgrade eines SAP-Systems müssen zuvor inaktive Objekte bereinigt werden. So kannst du diese inaktiven Objekte finden:
In SE80 gibt es im Menü eine Suchmöglichkeit nach inaktiven Objekten. Denselben Dialog erreichst du auch über SE11, SE37, SE38 oder SE24 über das Menü.
Wie entstehen inaktive Objekte
Inaktive ABAP-Objekte entstehen, wenn du ABAP-Quellcode oder Tabellen oder Datenstrukturen bearbeitest und sie nicht aktivierst.
Möglicherweise enthält das Objekt Fehler und ließ sich deshalb nicht aktivieren. Wenn dann eine andere, wichtigere Entwicklungsaufgabe dazwischenkommt, dann kann es sein, dass du so eine Altlast einfach liegen lässt. Dann verbleibt ein inaktives Objekt im System.
Wann sind inaktive Objekte ein Problem?
Solange z.B. ein ABAP-Report nicht aufgerufen wird, ist es ziemlich egal, ob du ihn aktivierst, oder nicht. Wenn er aufgerufen wird, so wird automatisch die letzte aktivierte Version verwendet. Auch das kann gutgehen.
Spätestens aber, wenn das SAP-System ein Upgrade bekommen soll, müssen die inaktiven Objekte bearbeitet werden. Eine Grundvoraussetzung für den Start eines SAP-Upgrades ist nämlich, dass die inaktiven Objekte bereinigt werden. Entweder du aktivierst oder du löschst sie.
Möglicherweise musst du auch den anderen Entwicklern auf dem System hinterherlaufen und sie dazu anhalten, ihre Entwicklung aufzuräumen. Denn für dich ist es ggf. schwierig zu sagen, ob eine Entwicklung noch benötigt wird oder wie ggf. Fehler beim Aktivieren zu behandeln sind.
Inaktive Objekte : ein Beispiel erzeugen
Damit es nachher auch inaktive Objekte zu finden gibt, werde ich schnell zwei erzeugen: einen inaktiven Report und eine inaktive Struktur. Ich habe jeweils ein solches Objekt angelegt, gespeichert, akiviert und dann nochmal geändert und gespeichert, aber nicht aktiviert.
Hier eine Struktur:
Ebenso habe ich über SE38 einen nicht aktivierten Stand eines Reports erzeugt.
Inaktive Objekte über SE80 finden
Die Transaktion SE80 ermöglicht den Einstieg in alle ABAP-Entwicklungen. Sie kann z.B. alles, was SE11, SE37 und SE38 auch können.
Für die Suche nach inaktiven Objekten gibt es einen eigenen Bereich. Er befindet sich im Bereich „Repository Browser“. Wenn du hierauf klickst, erscheint eine Combobox über die verschiedenen Suchmöglichkeiten. Einer der Einträge in der Combobox lautet „inaktive Objekte“.
Diese Liste wird nach dem eingegebenen Benutzer gefiltert. Dein Username ist voreingestellt. Wenn du über alle Benutzer suchen willst, musst du zunächst diesen Benutzernamen entfernen. Die Anzeige darf leer sein, oder du verwendest einen Stern *.
Hier also die Liste mit mehreren Einträgen:
Für jeden grundlegenden Typ erscheint ein Knoten (Tabellen, Programme, Klassen etc.).
Wichtig ist, dass diese sich nicht von selbst aufklappen. Selbst ein Doppelklick mit der Maus funktioniert nicht zuverlässig. Was die Objektliste auf jeden Fall öffnet, ist: den übergeordneten Knoten anklicken und dann auf der Tastatur „Cursor rechts“.
Die Liste unterstützt die Vorwärtsnavigation: du kannst die Entwicklungsobjekte doppelklicken und damit direkt öffnen.
Wenn du die Objekte mit der rechten Maustaste anklickst, wird sogar im Kontextmenü das Aktivieren angeboten:
Inaktive Objekte über SE11, SE37, SE38 oder SE24 finden
Es gibt noch einen weiteren Einstieg in die Suche nach inaktiven Objekten:
Transaktion SE11, Menü => Umfeld => Inaktive Objekte
Auch in den Entwicklertransaktionen SE37 (Funktionsbausteine), SE38 (Reports) oder SE24 (Klassen) findet sich dieser Menüeintrag unter „Umfeld“
Das Sprungziel all dieser Einträge ist immer dasselbe: der Dialog aus SE80 (Repository-Infosystem, Unterbereich „inaktive Objekte“, den wir oben schon gesehen haben.
Inaktive Objekte vermeiden
In meiner Firma – ein SAP-Beratungsunternehmen – haben wir mehrere SAP-Entwicklungssysteme, um Entwicklungen zu testen. Wir üben auf diesen Systemen auch die SAP-Upgrades. Das ist jedesmal wieder eine weite Reise. Irgend jemand hat bestimmt vergessen, alle seine Objekte zu aktivieren.
Es ist daher wichtig, die Entwickler immer wieder dazu anzuhalten, ihre SAP-Entwicklung aufzuräumen und keine inaktiven Objekte herumliegen zu lassen.
Mehr SAP-Tipps findest du hier.