Show TOC Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Erweiterungsspots und Erweiterungsimplementierungen  Dokument im Navigationsbaum lokalisieren

...

      Verwendung von Implementierungen, die als Container dienen

In der folgenden Abbildung sehen Sie auf der rechten Seite (einfache) Erweiterungsimplementierungen, die den BAdI-Implementierungen als Container dienen.

Diese Grafik wird im zugehörigen Text erklärt

      Verwendung von Paketen

Die zu einer BAdI-Implementierung gehörende (einfache) Implementierung bestimmt die Paketzuordnung dieses BAdIs.

Die Abbildung zeigt das folgende Szenario: BAdI-Implementierungen in der gleichen (einfachen) Erweiterungsimplementierung gehören zu dem gleichen Paket, wohingegen BAdI-Implementierungen in anderen (einfachen) Erweiterungsimplementierungen zu anderen Paketen gehören.

Diese Grafik wird im zugehörigen Text erklärt

      Verwendung von Containern

Die Schalter, mit denen Sie die BAdI-Implementierungen umschalten können, sind Paketen zugeordnet. Dies bedeutet, dass Sie BAdI-Implementierungen, die unterschiedlich umgeschaltet werden müssen, in unterschiedliche (einfache) Erweiterungsimplementierungen einordnen müssen. Ein Grund, warum Sie auf der Implementierungsseite Container haben ist, dass Sie eine Einheit benötigen, die solche Implementierungen, die gemeinsam umgeschaltet werden sollten, umfasst.

Natürlich ist dies nicht das einzige Prinzip, nach dem (einfache) Erweiterungsimplementierungen entworfen werden können. Weitere Prinzipe sind das Bauen von leicht zu bearbeitenden (einfachen) Erweiterungsimplementierungen, sowie die Berücksichtigung von projektbezogenen oder anderen organisatorischen Fragen.

Diese Grafik wird im zugehörigen Text erklärt

      Die folgende Abbildung zeigt ein Szenario, das nicht vereinfacht wurde. Die beiden gelben Linien zeigen einen ungewöhnlichen Fall. Viele Implementierungen eines BAdIs können sich in einer (einfachen) Erweiterungsimplementierung befinden. Dies ist sinnvoll, wenn Sie als Implementierungen verschiedene Klassen benötigen, die zusammen geschaltet werden können. Sie können Ihr BAdI so definieren, dass es mehrere Instanzen haben kann.

Wenn Sie mehrere Filterwerte mit unterschiedlichen Implementierungen abdecken und dabei die gleiche Klasse verwenden möchten, ist es besser, nur eine Implementierung zu nehmen und für diese Implementierung eine Disjunktion der Filterwerte zu verwenden.

Meistens haben Sie nur eine BAdI-Implementierung in einer (einfachen) Erweiterungsimplementierung, wenn Sie die Implementierung separat umschalten möchten. Denken Sie an die Fälle, in denen ein BAdI genau eine Implementierung haben darf (Single-Use-BAdI).

Diese Grafik wird im zugehörigen Text erklärt

      In der nachfolgenden Abbildung gehört eine (einfache) Erweiterungsimplementierung als einzige zu einem bestimmten (einfachen) Erweiterungsspot. Eine (einfache) Erweiterungsimplementierung darf keine BAdI-Implementierungen enthalten, die einem anderen (einfachen) Erweiterungsspot zugeordnet sind.

Diese Grafik wird im zugehörigen Text erklärt

      Beispiel aus der Praxis

In der Programmierpraxis können die Einheiten auf der Definitionsseite auf die entsprechenden Teile einer Anwendung zugeschnitten sein. Die Implementierungsseite enthält Einheiten, die entsprechend einer Branchenlösung entworfen wurden: IS_OIL. Die kleineren Einheiten spiegeln die Organisation auf der Definitionsseite.

Hinter den Containern steht die Idee, die Organisation zu unterstützen, damit später in einer überzeugenden, geschachtelten Struktur nach Erweiterungsmöglichkeiten gesucht werden kann. Die Vorteile einer solchen Struktur können Sie jedoch nur unter einer Bedingung nutzen: die Container müssen aussagefähig benannt und sorgfältig dokumentiert werden.

Sie können dann den Enhancement Browser (Transaktion SPAU_ENH) in SE80 benutzen, um den Geschäftsteil zu erweitern und nach BAdIs zu suchen, die Sie für Ihre Zwecke erweitern möchten.

Diese Grafik wird im zugehörigen Text erklärt

 

 

Ende des Inhaltsbereichs