Sprache & Region
SAP Wiki

SAP BAPI

SAP BAPI (Business Application Programming Interface) ist die stabile, standardisierte Schnittstelle zur Integration von SAP-Systemen mit internen und externen Anwendungen.

Was ist SAP BAPI?

BAPIs ermöglichen einen Datenaustausch zwischen verschiedenen SAP-Systemen sowie zwischen SAP-Systemen und Drittanbieterlösungen. Grundsätzlich kann auf BAPIs von allen Plattformen aus zugegriffen werden, die das SAP-Protokoll RFC unterstützen. 

Von SAP eingeführte und freigegebene BAPIs sind langfristig stabil und zudem abwärtskompatibel. Ihre Nutzung schafft daher die Voraussetzung dafür, dass Schnittstellen und Parameter auch in Zukunft funktionieren und wartbar bleiben.

SAP BAPI verstehen und nutzen

Wie funktionieren BAPIs?

SAP BAPIs sind Funktionen, die auf Business-Objekten wie zum Beispiel „CostCenter“ oder „Material“ basieren. Sie ermöglichen es, ohne tiefgreifende Kenntnis der internen Logik gezielt auf Daten und Prozesse im SAP-System zuzugreifen. BAPIs sind RFC-fähig, das heißt, man erreicht darüber sowohl andere SAP-Systeme als auch Non-SAP-Systeme. RFCs (Remote Function Calls) ermöglichen es, von anderen SAP-Systemen sowie Drittanbietersystemen aus auf Funktionsbausteine zuzugreifen.

Sogenannte standardisierte BAPIs stehen für die meisten Business-Objekte zur Verfügung, da sie bestimmte Grundfunktionen erfüllen. Beispiele für standardisierte BAPIs sind:

  • GetList ( ): existierende Objektinstanzen anzeigen (z.B. Materialnummern, Kostenträger, Personalnummern)
  • GetDetail ( ): Detailinformationen zu einer Objektinstanz anzeigen
  • Create ( ): Anlegen einer Instanz eines Business-Objekt-Typs (z.B. einer Bestellung, Warenbewegung, Flugbuchung)
  • Change ( ): Ändern einer Objektinstanz (z.B. Bestellung, Mitarbeiterstammdaten)
  • Delete ( ): Löschen einer Objektinstanz
  • Cancel ( ): Stornierung einer Objektinstanz und Anlegen von Storno als neue Instanz (z.B. Flugbuchung canceln, Rechnung stornieren)

BAPIs nutzen

Um einen SAP BAPI aufzurufen, wird der ABAP-Befehl CALL FUNCTION verwendet. Dabei wird der Name des BAPI, gefolgt von seinen Parametern, angegeben.

Beispiel: BAPI zum Anzeigen von verfügbaren Kostenstellen:

CALL FUNCTION 'BAPI_COSTCENTER_GETLIST'

Alternativ gibt es noch weitere Möglichkeiten für den Zugriff auf BAPIs, je nachdem, von welcher Plattform aus der entsprechende Aufruf erfolgen soll. BAPIs sind explizit darauf ausgelegt, von externen Anwendungen aus über RFCs aufgerufen zu werden. Zudem besteht die Möglichkeit, über Webservices auf BAPIs zuzugreifen (z.B. über SOAP). Mit dem SAP-Java-Connector als Middleware-Komponente ist es auch möglich, BAPIs direkt aus Java-Anwendungen heraus aufzurufen. 

Mit der Transaktion BAPI kann der BAPI Explorer aufgerufen werden. Der Explorer zeigt in einer Baumdarstellung alle Business-Objekttypen bzw. Interfacetypen an, für die BAPIs verfügbar sind. Je nach Bedarf können Nutzer zwischen einer alphabetischen und einer hierarchischen Ansicht wählen. In der Baumansicht sind zudem alle Methoden zu einem bestimmten Business-Objekttypen aufgelistet. Der Explorer zeigt Details bzw. die Dokumentation für das jeweils in der Baumanzeige ausgewählte Objekt an. Aus der Detailansicht im BAPI Explorer heraus erreichen Nutzer direkt den Function Builder (Transaktion SE37) für den jeweiligen Funktionsbaustein (Klick auf den Namen des Funktionsbausteins im Reiter „Details“). Im Function Builder finden Nutzer unter anderem folgende Informationen zu dem Funktionsmodul:

  • Remote-Verfügbarkeit
  • Freigabestatus
  • Import- und Export-Parameter
  • Ausnahmen
  • Quellcode (Codingansicht)

Die Dokumentation im Bereich „Function Module Documentation“ sollte gepflegt sein, um Probleme bei der Nutzung zu vermeiden, z.B. im Hinblick auf die genaue Funktionalität des Bausteins und der zu erfüllenden Anforderungen.

So funktioniert eine SAP BAPI Schnittstelle

Damit ein Anwendungsprogramm eine BAPI-Methode verwenden kann, benötigt es neben dem Namen des BAPIs bestimmte Informationen über die Schnittstelle des BAPIs, d.h. die im Function Builder einsehbaren Import- und Exportparameter. 

Parameter-TypBedeutung
ImportEingabedaten vom System/Anwender
ExportRückgabewerte an die Anwendung
TableTabellenstruktur zum Datenaustausch (sollte im SAP S/4HANA Kontext nicht mehr verwendet werden)
_X-StrukturGibt an, welche Felder tatsächlich geändert werden sollen

SAP BAPI Transaktion – Ihre Werkzeuge im SAP-System

Wichtige Transaktionen zum Anzeigen & Testen von BAPIs im Überblick:

TransaktionZweck
BAPIEinstieg in freigegebene BAPIs (BAPI Explorer)
SE80Aufrufen des Objektnavigators (standardmäßig Start des Repository-Browsers): Hier können Funktionsbausteine geprüft und aktiviert werden
SE37Transaktion für den Function Builder
SWO1Business-Objekte analysieren

Anwendungsbeispiele für SAP BAPIs

Einkaufswagen-Icon vor blauem Hintergrund

Anbindung eines Einkaufssystems oder Bestellportals: Erstellung und ggf. Anpassung von Bestellungen in SAP (BAPI_PO_CREATE1, BAPI_PO_CHANGE)

Klemmbrett-Icon vor blauem Hintergrund

Anbindung eines Vertriebsmanagementsystems oder einer E-Commerce-Plattform: Rechnungserstellung und -dokumentation im SAP-System im Anschluss an die Lieferung (BAPI_BILLINGDOC_CREATE)

Lagerhalle-Icon vor blauem Hintergrund

Anbindung eines Lagerverwaltungssystems: Buchung von Warenbewegungen im SAP-System (BAPI_GOODSMVT_CREATE)

Nutzer-Icon vor blauem Hintergrund

Anbindung eines Mitarbeiter-Self-Service-Portals (ESS) oder HR-Managementsystems: Aktualisierung von Personalstammdaten in SAP (BAPI_EMPLOYEE_CHANGE)

FAQ – Häufige Fragen zu SAP BAPI

Was ist SAP BAPI?

Eine standardisierte Schnittstelle, die den Zugriff auf SAP-Business-Objekte und deren Funktion ermöglicht, sowohl von verschiedenen SAP-Systemen als auch von Fremdanbietersystemen aus.

Was sind die Haupt-Vorteile von BAPIs?

BAPIs bieten eine standardisierte, langfristig stabile Methode, um auch von externen Systemen aus auf SAP-Daten und -Funktionen zuzugreifen.

Starten Sie noch heute in Ihre digitale Zukunft!

Nutzen Sie unser Fachwissen.
Lassen Sie sich TOP beraten.

Jetzt Kontakt aufnehmen
Handschlag Icon