Ingo Biermann
15. Februar 2015

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 und somit der erste Ansprechpartner ist, ausgerechnet jetzt Urlaub macht, obwohl er gefühlt in den letzten 5 Jahren 24 Stunden pro Tag gearbeitet hat. Genau dann hilft dieser kleine Trick, mit dem BAdIs einer Transaktion ganz einfach gefunden werden können.

Unser E-Book zu den ABAP Entwicklungsrichtlinien

E-Book: ABAP Entwicklungsrichtlinien

Richtlinien zur Programmierung und Praxistipps zum Thema ABAP-Entwicklung.

Die Klasse der BAdIs

Die Klasse CL_EXITHANDLER ist eine Klasse für Exit-Techniken, also auch BAdIs (die ja schließlich 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”, welche 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 Name des aktuellen BAdIs. Mittels F8 kann man so alle BAdIs einer Transaktion finden.

Name des aktuellen BAdIs

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 der gewünschte BAdI sein, so erfolgt die Implementierung über die Transaktion SE19.

Alle Schritte hier noch einmal kurz Zusammengefasst:

  • Klasse CL_EXITHANDLER in der SE24 aufrufen
  • Methode GET_INSTANCE auswählen
  • Break-Point 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

Wie Sie sehen, ist das 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. War dieser Trick hilfreich für Sie? Ich freue mich auf Ihre Kommentare.

Bei diesem Webinar zum Thema „SAP Best Practice Tools – Erleichtern Sie Ihren Arbeitsalltag“ dreht sich alles rund um hilfreiche Tools im SAP-Bereich.

Ingo Biermann

Ingo Biermann

Als Management- und Technologieberater unterstütze ich seit mehr als 15 Jahren große und mittelständische Unternehmen in Fragen der IT-Strategie und bin unterwegs in unterschiedlichen SAP-Themen wie SAP S/4HANA, User Experience und SAP Entwicklung.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Was bedeutet eigentlich der Wechsel auf HANA für die ABAP-Entwicklung? S/4HANA löst immer mehr die alte SAP Business Suite ab. Der Support dieser läuft nur noch bis 2027. Damit steht […]

weiterlesen

In SAP das eigene Passwort rund um die Uhr zurücksetzen können? Was so einfach im SAP Standard nicht möglich ist, haben wir mit unserem Password Self-Service (PSS) Tool realisiert und bereits […]

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

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