mindsquare.de durchsuchen

SAP BAdIs

Sie brauchen einen SAP BAdIS Berater und/oder möchten, dass wir Ihnen unser Angebot in diesem Umfeld vorstellen?

Ingo Biermann
26. Juni 2019

Die Infrastruktur von Business Add-Ins ist eine mehrstufige Systemlandschaft zur Definition und Implementierung von Business Add-Ins auf jeder Ebene der Systeminfrastruktur.

Was sind SAP BAdIs?

Ein Business Add-In (BAdI) ist ein von SAP bereitgestelltes Quellcode-Plug-In zur Erweiterung des bestehenden ABAP-Codes. Die Erweiterungstechnik bildet mit der objektorientierten Methode und den Business Add-Ins die spezifischen Anforderungen an den Geschäftsprozess ab. Diese sind kundenspezifisch und werden nicht vom Standard-Code in SAP bereitgestellt. BAdIs ermöglichen eine größere Bandbreite an Lösungen, da kundenspezifische Anforderungen innerhalb dieser Plug-Ins umsetzt werden können, ohne den ursprünglichen Quellcode des Objekts zu beeinträchtigen.

Grundkonzept von SAP BAdIs

Das Business Add-In ist die aktuelle Erweiterungstechnik auf Basis von ABAP Objects. BAdI ist ein Exit-Point in einer Quelle, der es bestimmten Branchen, Partnern und Kunden ermöglicht, zusätzliche Software an den SAP-Standard-Quellcode anzubinden, ohne das ursprüngliche Objekt zu modifizieren. Die Benutzer von Business Add-Ins können die Logik nach Bedarf anpassen oder die vorhandene Standardlogik verwenden. SAP garantiert die Aufwärtskompatibilität aller Business Add-In-Schnittstellen. Releasewechsel wirken sich weder auf Erweiterungsrufe aus der Standardsoftware noch auf die Gültigkeit von Aufrufschnittstellen aus.

E-Book BAdIs ESS MSS

E-Book BAdIs für ESS/MSS

In diesem E-Book erhalten Sie eine, nach Themenbereichen geordnete, große Auswahl an Business Add-Ins.

Verschiedene Ansichten

  • Definitionsansicht: Der Anwendungsprogrammierer kann die Exit-Punkte in der Quelle vordefinieren, an denen bestimmte Branchenkunden zusätzliche Software an den SAP-Standard-Quellcode anhängen können, ohne das ursprüngliche Objekt modifizieren zu müssen.
  • Implementierungssicht: Die Benutzer von Business Add-Ins können die benötigte Logik anpassen oder eine Standardlogik verwenden.

Benutzerdefinierte BAdIs

Benutzerdefinierter BAdIs sind sinnvoll, wenn es eine zentrale IT für einen Konzern mit dezentralen Fachabteilungen gibt. So können die Wünsche der Fachabteilungen jeweils über BAdIs implementiert werden, anstatt riesige If-then-else- oder Case-Abfragen zu generieren.

  • Zuerst definieren Sie ein Business Add-In, der Anwendungsentwickler erstellt dann eine Schnittstelle für das Add-In.
  • Die Erweiterungsverwaltung legt eine Adapterklasse an, die das Interface implementiert und damit die Schnittstelle für die Implementierung durch den Kunden, Partner usw. bereitstellt.
  • Der Programmierer/Entwickler erzeugt im Anwendungsprogramm eine Instanz der Adapterklasse und ruft zu gegebener Zeit die entsprechende Methode auf.

In dieser SAP ABAP Schulung erwerben Sie die wichtigsten Grundkenntnisse der ABAP-Entwicklung.

Standard BAdIs

Bei Standard Business Add-Ins werden Interface und Adapterklasse von SAP vordefiniert. Jedes Business Add-In hat ein Interface und eine Adapterklasse, die das Interface implementiert. Je nach Geschäftsanforderung wird der Benutzer eine andere Schnittstelle implementieren. Die generierte Klasse (Adapterklasse) hat folgende Aufgaben:

  • Control: Ruft die Adapterklasse zur aktiven Implementierung auf
  • Filterung: Wenn das Add-In unter bestimmten Bedingungen ausgeführt werden muss, dann stellt die Adapterklasse sicher, dass nur bestimmte Implementierungen ausgeführt werden

Was sind BAdI, BAPI, User Exits und Customer Exits?

Im Grunde genommen sind es alles Programme, die es Ihnen ermöglichen, die Funktionalität eines SAP-Systems zu erweitern, um den individuellen Anforderungen des Unternehmens gerecht zu werden.

BAdI: Business Add-In

BAdIs (Business Add-Ins) sind kundenspezifische Erweiterungen des SAP-Standardsystems. Sie können sie in das System einfügen, um Benutzeranforderungen zu erfüllen, die nicht sehr häufig auftreten und in der Standardkonfiguration von SAP nicht vorhanden sein sollen.

Beispielsweise können Sie innerhalb einer bestimmten Branche eine bestimmte Anforderung in einem Geschäftsprozess haben, die durch die Standardfunktionalität von SAP nicht abgedeckt werden kann. Diese Anforderung kann durch die Erstellung eines speziellen BAdIs erfüllt werden, welches wiederum die fehlende Funktionalität implementiert. BAdI bietet ähnliche Customizingmöglichkeiten wie Customer Exit, ist aber leistungsfähiger, da BAdI keine zweistufige Infrastruktur (SAP-System und Kundenentwicklungen) wie Customer Exit annimmt.

BAPI: Programmierschnittstelle für Geschäftsanwendungen

BAPI (Business Application Programming Interface) ist eine Schnittstelle, die den Zugriff auf Daten und Prozesse innerhalb eines SAP-Systems ermöglicht. Es gibt zwei Arten von Anwendungen. Erstens können sie als API-Methoden für SAP-Business-Objekttypen definiert werden. Zweitens können sie als Schnittstellen definiert werden, die außerhalb eines SAP-Systems implementiert worden sind, aber innerhalb des SAP-Systems aufgerufen werden sollen.

Funktionen, die außerhalb des SAP-Systems implementiert worden sind, können standardisiert und als BAPIs zur Verfügung gestellt werden. Das BAPI wird häufig verwendet, um eine synchrone Kommunikationsschnittstelle zwischen zwei Parteien einzurichten. Technisch wird die Kommunikation durch den Prozess RFC (Remote Function Call) ermöglicht. Im Gegensatz zu RFC werden BAPIs von SAP bereitgestellt und sind im Business Objects Repository (BOR) standardisiert.

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

User-Exit

Der User-Exit ist ein ABAP-Formular, das von SAP-Standardprogrammen aufgerufen wird. Er wird mit einem dreistelligen Code identifiziert, der dem SAP-System mitteilt, dass ein benutzerdefinierter Codeabschnitt an einer vordefinierten Stelle eines SAP-Standardprogramms ausgeführt werden soll. Die Zeichencodes sehen aus wie SXX oder UXX, wobei XX eine zweistellige Zahl darstellt.

Wenn ein Code mit dem Buchstaben S beginnt, handelt es sich um einen von SAP ausgelieferten Standard-User-Exit. Wenn ein Code mit dem Buchstaben U beginnt, handelt es sich um einen benutzerdefinierten User-Exit, der von einem Benutzer definiert wurde.

Innerhalb eines User-Exits ist es möglich, nahezu beliebige Daten (lokal oder global) aus dem SAP-Hostprogramm zu lesen und zu ändern. User-Exits geben Ihnen daher viel Flexibilität, die allerdings zu Lasten des höheren Risikos, einen kritischen Fehler zu machen, geht, der zu einem ABAP-Dump oder Inkonsistenz in Datenbanksätzen führen würde.

Customer-Exit

Der Customer-Exit ist eine ABAP-Funktion, die von SAP-Standardprogrammen aufgerufen wird. Der Customer-Exit dient dem gleichen Zweck wie der User-Exit: Er ermöglicht den Benutzern ihre eigene Funktionalität zu den SAP-Standardtransaktionen hinzuzufügen.

Es gibt verschiedene Arten von Customer-Exits: Menü-Exits, Screen-Exits, Funktionsbaustein-Exits, Field-Exits. Im Gegensatz zu User-Exits sind Customer-Exits restriktiver in Bezug auf die Möglichkeiten. Sie können innerhalb eines Customer-Exits nur auf die Parameter zugreifen, die bei Schlüsselwörtern Import, Export, Änderung, Tabellen angegeben sind, um diese zu manipulieren. Gleichzeitig ist es viel sicherer, Customer Exits als User Exits zu verwenden, da das Risiko, etwas zu brechen oder inkonsistente Datenbankeinträge zu erzeugen, gering ist.

Neuimplementierung der BAdI-Technologie

Das neue BAdI-Konzept nutzt die gewonnenen Erfahrungen von SAP, Kunden verschiedene Möglichkeiten zur Erweiterung des SAP-Standards anzubieten. Im Vergleich zu den klassischen BAdIs bringen die neuen einige wichtige Verbesserungen, wie erhöhte Performance mit sich. Die neuen BAdIs sind in den Kernel integriert und schaltbar. Dabei verfolgt die Neuimplementierung der BAdIs zwei primäre Ziele:

Die Performance von SAP BAdIs konnte durch die Integration in die Programmiersprache ABAO über die neuen Sprachelemente GET BADI und CALL BADI erheblich verbessert werden.

Bei der Umsetzung von vorgedachten Erweiterungsoptionen, bieten die neuen BAdIs durch eine neue Eigenschaften wie Kontexte und Filter wesentlich mehr Flexibilität.

Die neuen ABAP-Sprachelemente und ihre Zusätze gewährleisten, dass diese zusätzlichen Optionen auf einfache Weise in ABAP-Programmen nutzbar sind.

Ingo Biermann

Websession: SAP BAdIs

BAdIs sind kundenspezifische Erweiterungen des SAP-Standardsystems. Sie haben Fragen zu der Einfügung in das System? In unserer kostenlosen Websession helfen wir Ihnen gerne weiter. Vereinbaren Sie einen kostenlosen Termin.

Probleme die von SAP BAdIs gelöst werden können

Standardsoftware – Der Kunde möchte spezifische Änderungen, aber die Modifikation führen zu Problemen. Eine Lösung für das Problem ist ein BAdI. Dies ist eine Erweiterungsart mit genau definiertem Interface. Diese Lösung wird verwendet, da BAdIs weniger störanfällig als Quelltext-Plug-Ins sind.

Unterschiedliche Länder- und Branchenlösungen erfordern spezielle Lösungen für ein spezielles Problem. Dabei kann eine BAdI-Definition im Core angelegt werden, um das Problem zu lösen. So kann der Benutzer in den verschiedenen Ländern eigene Implementierungen hinzufügen.

Sie möchten Teile des Quelltextes hinzufügen und später dynamisch auswählen. Die Lösung: Ein internes BAdI anlegen und die verschiedenen Teile in verschiedene Implementierungen hinzufügen. Dabei ist zu beachten, dass die BAdIs und ihre Implementierungen zu unterschiedlichen Softwareschichten gehören können.

Als SAP-Entwickler haben Sie ein Programm im SAP-Standard und Sie möchten den Kunden die Möglichkeit geben, selbst spezifische Codes hinzuzufügen. BAdI-Aufrufe in die Standardsoftware mit einzubeziehen kann hier die Lösung sein. Dementsprechend kann der Kunde die Implementierung dieser Objekte später hinzufügen.

Sie haben ein Programm, das spezifische Implementierungen für verschiedene Länder erfordert. Die Lösung: BAdI-Implementierungen, welche länderspezifische Teile enthalten. Diese Implementierungen können dann für die entsprechenden Länder überschrieben werden. Dabei wird das Originalprogramm, das die BAdI-Aufrufe enthält, nicht geändert.

Sie möchten ein Registry programmieren. Als Lösung können Sie die BAdI-Infrastruktur benutzen, um ein leistungsfähiges Registry zu bauen. In diesem Fall wird der Filter als Selektionskriterium für das Registry benutzt.

FAQ

Was sind BAdIs?

BAdIs (Business Add-Ins) sind von SAP bereitgestellte Quellcode-Plug-Ins zur Erweiterung des bestehenden ABAP-Codes. Diese Erweiterungen bilden die kundenspezifischen Anforderungen an den Geschäftsprozess ab. Sie können innerhalb des Plug-Ins umgesetzt werden, ohne den ursprünglichen Quellcode des Objekts zu beeinträchtigen.

Wie funktionieren BAdIs?

BAdIs sind Exit-Points in einer Quelle und bieten die Möglichkeit, zusätzliche Software an SAP-Standard-Quellcode anzubinden. Dabei wird das ursprüngliche Objekt nicht verändert. Diese Logik kann vom Nutzer nach Bedarf angepasst werden, bzw. kann auch die vorhandene Standardlogik wiederhergestellt werden.

Welchen Nutzen haben BAdIs?

BAdIs eignen sich besonders, wenn spezifische Änderungen gewünscht sind, die Modifikationen aber zu Problemen führen. Durch die geringe Störanfälligkeit sind sie die optimale Lösung. Außerdem bieten sie länderspezifische Implementierungen, welche genutzt werden können, ohne das Originalprogramm zu verändern.

Welche Arten von BAdIs gibt es?

Man unterscheidet zwischen Standard-BAdIs und benutzerdefinierten BAdIs. Bei ersteren werden Interface und Adapterklasse von SAP vordefiniert. Benutzerdefinierte BAdIs eignen sich dagegen vor allem bei Unternehmen mit zentraler IT für dezentrale Fachabteilungen. Die jeweiligen Wünsche der Fachabteilungen können dann über BAdIs implementiert werden.

 

Verwandte Know-Hows

Die SAP Usability hat seit Langem ein extrem schlechtes Image in Bezug auf User Experience. SAP gilt als hässlich. Gleichzeitig haben sich die Erwartungen der Anwender in Bezug auf Design […]
SAP HANA XSA (HANA XS Advanced) ist ein neuer Applikationsserver für die native Entwicklung von HANA Anwendungen und wird mit dem SP 11 ausgeliefert.
Dynamische Programme – kurz Dynpros – sind grafische Oberflächen im SAP-System, die eine Interaktion zwischen dem User und dem SAP Backend ermöglichen. Programmiersprachen für Dynpros sind unter anderem Web Dynpro […]

Passende Angebote zum Thema

Sie wollen ein Update in Ihrem Java oder ABAP Umfeld durchführen, haben hier aber noch nicht so viel Erfahrung gesammelt? Unsere erfahrenen Berater unterstützen Sie bei Ihrem Update, sodass ein […]
Ein wichtiger Schritt in Richtung des neuen SAP Frameworks for Digital Business ist die in-memory Datenbank SAP HANA. Für bestehende SAP Kunden ist vor allem wichtig: Wie schaffe ich das […]
Der Umstieg auf SAP S/4HANA ist mit großen Chancen verbunden. Gleichzeitig sind die Transitionsprojekte besondere Herausforderungen bezüglich Laufzeit, Risiken, Vielzahl der Beteiligten & der potenziellen Auswirkungen auf das Unternehmen.
Kontakt aufnehmen
Ansprechpartner
Laura Feldkamp mindsquare Kundenservice
Laura Feldkamp Kundenservice