Xuan Linh Do
21. September 2020

Wie Sie alle aktiven SAP-Erweiterungen übersichtlich auflisten

Im Laufe der Zeit haben sich in Ihrem System wahrscheinlich viele SAP-Erweiterungen angesammelt, die unterschiedlichste Anforderungen erfüllen können. Dabei können Sie leicht den Überblick verlieren, an welchen Stellen sich die aktiven Erweiterungen befinden. Für diese Problematik ist ein eigenes Programm notwendig. In diesem Blogbeitrag erfahren Sie, wie Sie sich mit geringem Programmieraufwand gleich eine ganze Liste aller aktiven Erweiterungen anzeigen lassen können.

SAP-Erweiterungen

Durch SAP-Erweiterungen sind SAP-Standardanwendungen um neue Funktionalitäten erweiterbar, ohne den originalen Code bearbeiten zu müssen. Oft werden User-Exits fälschlicherweise als SAP-Erweiterungen verstanden. Dabei stellen diese jedoch nur eine Technologiemöglichkeit zur Erweiterung dar. Zudem existieren neben den User-Exits noch weitere Erweiterungstechnologien wie Customer-Exits oder Enhancement Points. Eine erste Möglichkeit, wie Sie sich explizit die SAP-Erweiterungen anzeigen lassen können, bietet bereits die Transaktion SMOD:

SMOD und dessen Einschränkungen

Die Transaktion SMOD dient zum Anlegen, Auffinden und Analysieren von SAP-Erweiterungen. Für jede Erweiterung sind seine Attribute und Komponenten (also die Funktionsbaustein-Exits) einsehbar. Zum Auflisten aller existierenden Erweiterungen ist die F4-Wertehilfe auf das Feld Erweiterungen anwendbar und kann mithilfe des Repository Infosystems ausgelesen werden. Für die Information, welche Funktionsbaustein-Exits für die Erweiterungen benutzt werden, muss jedoch umständlich in jede Erweiterung gegangen werden. Zudem ist nicht ersichtlich, welche der Erweiterungen im System aktiv genutzt werden. Es ist also viel Klickarbeit erforderlich, um alle aktiven Erweiterungen ausfindig zu machen.

aktive SAP-Erweiterungen

Im Repository Infosystem können alle SAP-Erweiterungen aufgelistet werden

Benötigte Tabellen

Die Daten zum Auffinden der SAP-Erweiterungen befinden sich in den Tabellen modattr, modact und modsap. In der Tabelle modattr sind die Attribute aller Erweiterungsprojekte gespeichert. Wir möchten alle Erweiterungsprojekte auslesen, die aktiv sind. Dazu lesen wir alle Einträge aus der Tabelle aus, die im Feld Flag (technischer Name: STATUS) den Wert ‘A’ haben. Beispielsweise lassen sich Einträge mit dieser Eigenschaft im Data Browser bzw. mit der Transaktion SE16N anschauen:

Aktive SAP-Erweiterungen

Anzeige aller aktiven Erweiterungsprojekte im Data Browser (Tabelle modattr)

Uns interessieren hierbei der Name des Erweiterungsprojektes und das letzte Änderungsdatum. Der Name der SAP-Erweiterung lässt sich aus der Tabelle modact auslesen und ist im Feld member hinterlegt:

Aktive SAP-Erweiterungen

Anzeige der Erweiterungsprojekte mit den dazugehörigen Erweiterungen im Data Browser (Tabelle modattr)

Um den dazugehörigen Funktionsbaustein ausfindig zu machen, wird das Feld member der Tabelle modsap benötigt. Aus dieser werden nur die Einträge ausgelesen, die im Feld Typ Komponente (technischer Name: TYP) den Wert ‘E’ haben. Diese enthalten nämlich nur die Funktions-Exits:

Anzeige der Funktionsbausteine mit den dazugehörigen Erweiterungen im Data Browser (Tabelle modsap)

Partner für SAP Entwicklungsprojekte

Checkliste: Partner für SAP Entwicklungsprojekte finden

Das sollten Sie bei der Wahl von Partnern für Ihr SAP Entwicklungsprojekt beachten.

Der Programmcode

Zunächst erstellen wir uns ein Report und deklarieren den lokalen Strukturtypen ly_s_display_results. Dieser enthält Felder für den Erweiterungsprojektnamen, den Namen der SAP-Erweiterung, den Funktionsbausteinnamen und das Änderungsdatum.

Zusätzlich erstellen wir uns die interne Tabelle lt_display_results, die auf der eben genannten Struktur aufbaut. Sie dient später dazu, die von uns benötigten Informationen anzuzeigen. Außerdem erstellen wir uns noch die zusätzliche Referenzen lr_salv und lr_columns. Diese dienen später zum Anpassen der Darstellung mit der ALV-Tabelle. Der erste Teil des Codes sieht nun folgendermaßen aus:

Deklarierung der Strukturen und Tabellen

Anschließend lesen wir mit einem Select-Befehl aus den Tabelle modattr, modact und modsap die erforderlichen Informationen heraus.

Code zum Auslesen der Erweiterungsprojekte, der Erweiterungen, der Funktionsbaustein-Exits und des Änderungsdatums

Um das Ergebnis anzuzeigen, benutzen wir eine ALV-Tabelle:

ALV-Tabelle wird genutzt, um die Ergebnisse anzuzeigen.

Fertig!

Ein Ausführen des Reports zeigt in etwa Folgendes an:

Anzeige des Reports

Ausblick

Das Ganze ist natürlich noch beliebig erweiterbar. So wäre beispielsweise als eine Erweiterung des Programm ein Selektionsbildschirm möglich, um gezielter nach Erweiterungen zu suchen. Möchten Sie noch prüfen, ob ein Funktionsbaustein-Exit implementiert ist oder nicht und auch wirklich Programmcode im dazugehörigen Include enthält, werden die Tabellen tfdir und trdir benötigt. Denn ein Include, das lediglich aus Kommentaren besteht, ist ja nicht wirklich implementiert. Im folgenden Screenshot sehen Sie ein Beispiel dafür, wie eine Weiterführung des Programms aussehen kann:

Möglichkeit, mit welchen zusätzlichen Informationen das Programm erweitert werden kann

Dabei zeigen wir hier nicht das letzte Änderungsdatum eines Erweiterungsprojektes an, weil diese für uns eher uninteressant ist. Vielmehr interessiert uns, wann die letzte Bearbeitung des Includes stattgefunden hat. Probieren Sie gerne selbst aus, wie Sie Ihr Programm erweitern können!

Wie hat die Erstellung Ihres Reports zur Auflistung aller aktiven SAP-Erweiterungen funktioniert? Haben Sie Fragen oder Anmerkungen? Dann hinterlassen Sie gerne einen Kommentar oder sprechen Sie uns an. Wir freuen uns auf den regen Austausch!

 Save as PDF


Das könnte Sie auch interessieren

Kennen Sie das Problem in Ihrem Unternehmen? Die Mitarbeiter vergessen ihr SAP-Kennwort, da sie sich schon lange nicht mehr an einem bestimmtem System angemeldet haben oder sich nach ihrem zweiwöchigen […]

weiterlesen

Wie gehe ich die Entwicklungen von SAP-Erweiterungen an? Lege ich einfach los oder schreibe ich einen Plan? Wie plane ich den Prozess? Wie helfen Prozessmodelle dabei? All diese Überlegungen wurden […]

weiterlesen

In vielen Unternehmen wurde die Softwareentwicklung in den vergangenen Jahren durch Methoden wie Scrum oder Kanban immer agiler gestaltet. Dieses agile Arbeiten findet immer mehr Einzug in größere IT-Projekte, da […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice