Pioneering the next step.
SAP Gold Partner

SAP-Wiki

BAPI – Business Application Programming Interface

Eine BAPI, Business Application Programming Interface, ist eine standardisierte, im Business Object Repository dokumentierte Methode, um auf ein SAP-Geschäftsobjekt wie Kunde, Materialstamm oder Verkaufsbeleg zuzugreifen. Technisch ist jede BAPI ein RFC-fähiger Funktionsbaustein mit stabiler, releaseübergreifender Schnittstelle. Sie prüft Daten mit derselben Businesslogik wie die manuelle Transaktion und schreibt erst nach explizitem Commit dauerhaft.
Definition

Was ist BAPI?

Entwickelt wurde die BAPI, um SAP-Geschäftsobjekte wie Kunden, Materialstämme oder Verkaufsbelege über eine veröffentlichte, dokumentierte Schnittstelle zugänglich zu machen, statt direkt und ungeschützt auf interne Tabellen zuzugreifen. Als Teil des Business Object Repository beschreibt SAP für jede BAPI Parameter, Rückgabewerte und Verhalten verbindlich. Diese Dokumentation macht die BAPI zur ersten Wahl, sobald Daten kontrolliert in ein SAP-System geschrieben oder gelesen werden sollen.

Relevant ist die BAPI für Entwickler und Integrationsprojekte, die Daten konsistent und mit vollständiger Prüflogik in SAP verarbeiten wollen, etwa bei der Anbindung von Fremdsystemen, Middleware oder Eigenentwicklungen auf der SAP BTP. Wo ein Standardprozess wie eine Auftragsanlage oder Materialpflege automatisiert werden soll, ist die passende BAPI meist der erste Blick vor jeder Eigenprogrammierung.

Im Ablauf ruft ein Programm die BAPI auf, prüft die zurückgelieferte Return-Tabelle auf Fehler oder Warnungen und schließt den Vorgang mit BAPI_TRANSACTION_COMMIT ab. Eine verbreitete Stolperstelle: Wird der Commit vergessen, bleibt die Änderung ungesichert und geht beim nächsten Rollback verloren. Ebenso häufig übersehen wird die Prüfung der Rückgabewerte, die stille Fehler sonst unbemerkt lässt.

Funktionen

Wie funktioniert BAPI?

Eine BAPI ist ein RFC-fähiger Funktionsbaustein mit einer im Business Object Repository dokumentierten, festgelegten Schnittstelle. Beim Aufruf durchläuft sie dieselbe Businesslogik wie eine manuelle Eingabe in der zugehörigen Transaktion, inklusive Pflichtfeldprüfung und Berechtigungskontrolle. Anders als ein einfacher Tabellenzugriff schreibt sie Änderungen erst nach einem expliziten Commit dauerhaft in die Datenbank, was Zwischenstände absichert.

Als Transportweg nutzt die BAPI RFC, aufgerufen von externen Systemen, von der Integration Suite auf SAP BTP oder von klassischer Middleware. Die Rückgabestruktur liefert Erfolgsmeldungen, Warnungen oder Fehler in strukturierter Form zurück, sodass aufrufende Programme den Verlauf einer Verarbeitung zuverlässig auswerten können.

Vorteile
Releaseübergreifend stabil

Eine einmal genutzte BAPI funktioniert meist auch nach einem Upgrade unverändert weiter, ein Vorteil gegenüber Tabellenzugriffen.

Geprüfte Businesslogik

Dieselben Prüfungen wie in der manuellen Transaktion greifen automatisch, Pflichtfelder und Berechtigungen lassen sich nicht umgehen.

Offiziell dokumentiert

Parameter und Rückgabewerte stehen im Business Object Repository fest, keine Vermutungen über interne Tabellenstrukturen nötig.

Breit einsetzbar

Von klassischer RFC-Anbindung bis zur Integration Suite auf SAP BTP lässt sich dieselbe Schnittstelle nutzen.

Grenzen
Nicht jedes Objekt hat eine BAPI

Für Randfunktionen fehlt oft eine standardisierte Schnittstelle, dann bleiben nur BAdI, Extensibility oder Eigenentwicklung.

Commit leicht vergessen

Wer BAPI_TRANSACTION_COMMIT auslässt, verliert die Änderung beim nächsten Rollback, ein häufiger Anfängerfehler.

Kein Ersatz für cloud-native APIs

In Clean-Core-Architekturen und für externe Web-Anwendungen sind OData- oder REST-Schnittstellen meist die passendere Wahl.

FAQ

Häufige Fragen zu BAPI – Business Application Programming Interface

Was unterscheidet eine BAPI von einem normalen RFC-Baustein?
Eine BAPI ist im Business Object Repository dokumentiert, prüft Daten mit vollständiger Businesslogik und bleibt releaseübergreifend stabil. Ein beliebiger RFC-Baustein hat diese Garantien nicht und kann sich jederzeit ändern.
Warum ist eine BAPI stabiler als ein direkter Tabellenzugriff?
Weil sie dieselbe Prüflogik wie die manuelle Transaktion durchläuft und offiziell dokumentiert ist. Ein Tabellenzugriff umgeht diese Prüfungen und bricht leicht bei internen Strukturänderungen.
Was passiert, wenn ich BAPI_TRANSACTION_COMMIT vergesse?
Die Änderung bleibt ungesichert und geht beim nächsten Rollback verloren, obwohl der Aufruf selbst fehlerfrei durchgelaufen ist. Das ist eine der häufigsten Fehlerquellen bei BAPI-Aufrufen.
Gibt es für jedes SAP-Objekt eine BAPI?
Nein. Für viele Standardprozesse existiert eine passende BAPI, für Randfunktionen oder sehr spezifische Anpassungen aber oft nicht. Dann greifen Entwickler auf BAdIs oder Extensibility-Konzepte zurück.
Sind BAPIs mit dem Clean-Core-Ansatz von SAP S/4HANA vereinbar?
Ja, BAPIs gelten als stabiler, freigegebener Zugriffsweg und passen gut zum Clean-Core-Gedanken. Für neue, cloud-native Integrationen setzt SAP daneben zunehmend auf OData- und REST-Schnittstellen.

Ihr Kontakt

Gabriele Görtz, Head of Sales & Growth
Gabriele Görtz
Head of Sales & Growth

Sprechen Sie mit uns.

Ein Erstgespräch dauert 30 Minuten. Sie können auch direkt mit einem konkreten Thema kommen. Rufen Sie an oder schreiben Sie uns.
Willkommen bei der CPRO Gruppe

Ihr bisheriger Anbieter ist jetzt CPRO. Sie wurden automatisch auf unsere neue Website weitergeleitet. Für Sie ändert sich nur der Markenauftritt: Ihre Verträge behalten ihre Gültigkeit, Ihre Ansprechpartner und die Gesellschaft als Ihr Vertragspartner bleiben unverändert. Wir freuen uns, Sie hier begrüßen zu dürfen!