Enhancement Framework

Aus SAP-Wiki
(Weitergeleitet von Enhancement Points)
Zur Navigation springenZur Suche springen

Siehe Kategorie: User-Exit.

Siehe User-Erweiterungen (User-Exits).

Das Enhancement Framework ermöglicht die modifikationsfreie Änderung von Standard-SAP-Software. Die Erweiterungstechnologie wurde erst 2005 eingeführt.

Mit dieser neuen Technologie können globale Klassen, Funktionsbausteine, Web-Dynpro-ABAP-Komponenten und alle Quelltextobjekte mit Hilfe systemseitig bereitgestellter impliziter Erweiterungsoptionen erweitert werden.

Das neue Enhancement Framework soll die vorhandenen Erweiterungs- und Modifikationskonzepte teilweise integrieren, teilweise ersetzen und verbessern, sowie neue Konzepte bieten, die auch z. B. Bei Web-Dynpros funktionieren.

Systemänderbarkeit

Die Systemänderbarkeit steuert, ob die Objekte des Repository und des mandantenunabhängigen Customizing änderbar sind oder nicht.

  • SE01 --> Springen --> Transport Organizer Tools --> Administration --> Systemänderbarkeit setzen

Grundbegriffe / Konzept des Enhancement Frameworks

Die grundlegenden Konzepte des Enhancement Framework sind:

  • Erweiterungsoptionen: Stellen in Repository-Objekten, an denen Erweiterungen vorgenommen werden können. Erweiterungsoptionen können explizit und implizit sein.

Implizite und Explizite Erweiterungspunkte

Die Erweiterungspunkte können unterteilt werden in

  • Implizite Erweiterungsoptionen werden vom Framework bereitgestellt und existieren ohne die besondere Vorbereitung seitens eines Entwicklers; sie müssen nicht zu einem Container (Erweiterungsspot) gehören. Es sind dies z. B. Anfang und Ende von Methoden, Form-Routinen, Funktionsbausteinen und Includes.
  • Explizite Erweiterungsoptionen müssen ausdrücklich in den Quelltext eingefügt werden. Sie werden in einem Ausgangssystem angelegt und müssen den Entwicklern in den Zielsystemen über Erweiterungsspots bekannt gemacht werden.

Anzeige / Änderbarkeit Enhancement-Points

Hier werden die Enhancements an einem Funktionsbaustein gezeigt. Es ist aber nach dem gleichen Prinzip auch bei Programmen möglich.

Enhancement-Points anzeigen

Enhancement-Points1.gif

Um die Enhancements anzeigen zu können:

Enhancement-Points2.gif

Enhancement-Points3.gif

Enhancement-Points4.gif

Enhancement-Points ändern/Implementierung anlegen / ändern

Enhancement-Points anlegen. Bei allen Stellen in Gelb können Implementierungen angelegt werden.

In diesem Fall gibt es schon eine Erweiterung und daher klickt man auf "Change" (ändern). Ansonsten bei einer noch nicht vorhanden Erweiterung würde man "Create" (Anlegen) wählen.

Enhancement-Points5.gif

Enhancement-Points modifizieren. Alle Stellen in Gelb können modifiziert werden.

Enhancement-Points6.gif

Auf einen gelben Enhancement den Cursor setzen, um ihn verändern zu können.

Enhancement-Points7.gif

Alle Implementierungen des Enhancement-Points werden angezeigt

Enhancement-Points8.gif

Auswahl einer Enhancement Implementation und ENTER drücken. Alternativ kann auch eine neue Erweiterungsimplementierung angelegt werden.

Enhancement-Points8b.gif

Jetzt ist die Implementation wieder änderbar.

Enhancement-Points9.gif

Sichtbarkeit Enhancements und Debugging

  • Wird der Standardcode außerhalb der Enhancements debuggt, ist das Coding des Enhancements zunächst nicht zu sehen im Debugger. Beim Einzelschritt wird das Enhancement auch nicht angezeigt.
  • Man muss einen (dynamischen) Breakpoint in das Enhancement setzen und den Prozeß dann ausführen. Dann wird das Enhancement im Debugger angezeigt und kann auch schrittweise debuggt werden.

Enhancement.JPG

Suchfunktion nach Coding im Quelltext

  • Weiß man das Hauptprogramm vom Enhancement, weiß man meist auch an welcher Stelle das Enhancement ist. Manchmal ist das Hauptprogramm (z. B. Saldenbestätigung Debitor -> Programm = SAPF130D) jedoch sehr groß, dass es nicht so schnell manuell zu finden ist.

SAPF130D 3.JPG


  • Eine Suche mit der normalen Suchfunktion SAPF130D 4.JPG findet leider das Enhancement nicht.

SAPF130D 5.JPG


SAPF130D 6.JPG


  • Die Suche über strg+f über den reinen Quelltext im Programm (ohne Includes) findet den Quelltext.

SAPF130D 7.JPG

SAPF130D 8.JPG

Transaktion SE20

  • Mit der Transaktion SE20 gibt es einen zentralen Einstieg in die Enhancements
  • Hier gibt es einen Überblick über alle implementierten Erweiterungen. Sie können hier angelegt, geändert, gelöscht und dokumentiert werden

Web-Links

Literatur