Business Add-Ins (BAdIs) suchen und finden: Ein Beispiel
Häufig steht ein Entwickler vor der Aufgabe, bestimmte Anpassungen für die Verarbeitung einer Transaktion vorzunehmen. Schnell ist meistens klar, dass dafür ein Business Add-In (BAdI) genutzt werden kann. Aber was ist, wenn gerade kein BAdI bekannt ist und der SAP-Guru des Unternehmens, der alle BAdIs auswendig kennt, nicht verfügbar ist? Genau dann hilft dieser kleine Trick, mit dem BAdIs einer Transaktion ganz einfach gefunden werden können.
Das Wichtigste im Überblick
- Klasse CL_EXITHANDLER in der SE24 aufrufen
- Methode GET_INSTANCE auswählen
- Breakpoint bei der CASE-Anweisung setzen
- Gewünschte Transaktion aufrufen
- Im Debugger das Feld EXIT_NAME bei den Variablen aufnehmen
- BAdI-Namen merken und in der SE18 die Definition ansehen
- Implementierung des BAdIs über SE19
Sie benötigen unkomplizierte Unterstützung im Bereich ABAP Core Data Services? Wir haben den passenden ABAP CDS Entwickler für Sie.
Die Klasse der BAdIs
Die Klasse CL_EXITHANDLER ist eine Klasse für Exit-Techniken, also auch BAdIs, welche die Funktionsbaustein-Exits abgelöst haben. Immer wenn ein BAdI durchlaufen wird, wird diese Klasse aufgerufen. Daher ist hier eine gute Einstiegsmöglichkeit, um BAdIs zu finden.
Die Klasse enthält die Methode GET_INSTANCE, die eine Referenz auf eine generierte EXIT-Klasse zurückgibt. Genau diese Stelle hilft bei unserem Problem weiter. Wenn wir in dieser Methode z. B. bei der CASE-Anweisung einen Breakpoint setzen, öffnet sich der Debugger immer, wenn gerade ein BAdI durchlaufen werden soll.
Wenn sich der Debugger öffnet, muss die Variable EXIT_NAME bei den Variablen hinzugefügt werden. Diese enthält den Namen des aktuellen BAdIs. Mittels F8 kann man so alle BAdIs einer Transaktion finden.

Name des aktuellen BAdIs
Definition und Implementierung
Die Definition der BAdIs kann anhand der Bezeichnung aus dem Datenfeld EXIT_NAME dann in der Transaktion SE18 betrachtet werden. Sollte es das gewünschte BAdI sein, so erfolgt die Implementierung über die Transaktion SE19.

Fazit
Wie Sie sehen, ist diese Methode ein einfacher Trick, um BAdIs zu finden. Sie können die Transaktion ganz normal verwenden und sehen dann, ob an einer gewünschten Stelle ein BAdI existiert, den Sie verwenden können.
Websession: Business Add-Ins

War dieser Trick hilfreich für Sie oder haben Sie noch weitere Fragen zum Thema Business Add-in? Kommen Sie gerne auf uns zu und wir besprechen Ihre Fragen unverbindlich.
Dieser Artikel erschien bereits im Februar 2015. Der Artikel wurde am 03.02.2026 erneut geprüft und mit leichten Anpassungen aktualisiert.
FAQ
Wann ist dieser Ansatz zur BAdI-Suche besonders sinnvoll?
Die Methode eignet sich vor allem dann, wenn zu einer Transaktion kein bekanntes BAdI dokumentiert ist und keine interne Übersicht oder Expertise kurzfristig verfügbar ist.
Warum ist die Klasse CL_EXITHANDLER ein geeigneter Einstiegspunkt?
CL_EXITHANDLER wird immer dann durchlaufen, wenn ein BAdI ausgeführt wird. Ein Breakpoint in der Methode GET_INSTANCE ermöglicht es daher, zur Laufzeit alle relevanten BAdIs einer Transaktion zu identifizieren.
Wie geht man nach dem Ermitteln des BAdI-Namens weiter vor?
Der im Debugger ermittelte BAdI-Name (EXIT_NAME) wird in der Transaktion SE18 zur Einsicht der Definition verwendet; die Implementierung erfolgt anschließend über SE19.






