Die 3 wichtigsten BAPIs im SAP SD
Wird in einem Unternehmen der Vertriebsprozess angepasst, so kann es notwendig sein, Objekte wie zum Beispiel Kundenanfragen, Angebote, Aufträge, Verkaufsbelege und Kundenkontrakte mit Hilfe eigener Programme zur Laufzeit zu generieren, anzupassen oder zu löschen. Die SAP bringt für solche Anwendungsfälle bereits vorgefertigte BAPIs mit.
Die Abkürzung BAPI steht für Business Application Programming Interface. Diese ermöglichen den Zugriff auf Business-Objekte, wie zum Beispiel den besagten Kundenangeboten oder Aufträgen. In SAP sind die Daten und die Funktionalität direkt an das Business Object gebunden. Über die BAPIs lässt sich auf diese Informationen vereinfacht zugreifen.
In diesem Beitrag möchte ich Ihnen eine grobe Übersicht über relevante BAPIs im SAP SD (Sales & Distribution) als Business-Komponente für den Vertrieb, mitgeben. Speziell geht es um die Business Objekte Kundenanfrage, Angebot und Auftrag.
Kundenaufträge
In Bezug zum Kundenauftrag gibt es einige BAPIs mit verschiedensten Funktionalitäten. Die erste Funktionalität des Business Objektes ist das Erstellen. Hierfür stellt SAP dem Entwickler gleich drei verschiedene BAPIs zur Verfügung:
- BAPI_SALESORDER_CREATEFROMDATA (Obsolet)
- BAPI_SALESORDER_CREATEFROMDAT1
- BAPI_SALESORDER_CREATEFROMDAT2
Der BAPI BAPI_SALESORDER_CREATEFROMDATA sollte aufgrund des Status Obsolet nicht mehr verwendet werden. SAP-seitig findet hier keine Wartung mehr statt.
Anstelle des BAPI_SALESORDER_CREATEFROMDATA gibt es den BAPI_SALESORDER_CREATEFROMDAT1. Dieser Funktionsbaustein ermöglicht das Erzeugen eines Kundenauftrags. Es lassen sich Informationen zum Auftrag wie zum Beispiel Kopf- und Positionsdaten, Daten zu Partnern und Konfigurationsdaten mitgeben. Der BAPI erzeugt automatisch einen Auftrag mit den mitgegebenen Informationen.
Möchte der Entwickler, dass ein Auftrag simuliert, also generiert, aber nicht im System verbucht wird, kann dieser den BAPI_SALESORDER_SIMULATE verwenden. Der Aufbau ist identisch zum BAPI_SALESORDER_CREATEFROMDAT1.
Neben der Simulation gibt es auch die Möglichkeit, mit Hilfe von BAPI_SALESORDER_GETLIST eine Liste mit allen Kundenaufträgen zu einem Kunden und Verkaufsorganisation zu erhalten. Alternativ lässt sich noch ein Datumsintervall als Suchkriterium definieren.
Der BAPI_SALESORDER_CREATEFROMDAT2 bietet eine leicht abgeänderte Möglichkeit, einen Auftrag zu erzeugen. Der größte Unterschied ist auf technischer Seite – so lässt sich dynamisch die Eigenschaft mitgeben, welche Informationen auf Kopf- und/oder Positionsdaten für die Erzeugung verwendet werden sollen und welche ignoriert werden.
Neben dem Vorteil der gestiegenen Flexibilität wurde auch die Handhabung BAPI übergreifend vereinheitlicht. So ist die Verwendung des BAPI für die Änderung und Anpassung eines Kundenauftrags BAPI_SALESORDER_CHANGE nahezu identisch zum BAPI_SALESORDER_CREATEFROMDAT2. Es wurde lediglich die Möglichkeit der Simulation hinzugefügt und kleine Anpassungen an den entgegengenommenen Parametern vorgenommen.
Kundenangebot
Die Anzahl an BAPIs für die Arbeit mit Kundenangeboten ist deutlich überschaubarer als es bei den Kundenaufträgen der Fall ist. Es existieren nur zwei verschiedene BAPIs:
- BAPI_QUOTATION_CREATEFROMDATA2
- BAPI_CUSTOMERQUOTATION_CHANGE
Identisch zum Kundenauftrag erzeugt BAPI_QUOTATION_CREATEFROMDATA2 ein neues Angebot. Die Verwendung erfolgt auch gleich zum Auftrag. Der Entwickler hat hierbei ebenfalls die Möglichkeit, die Änderung oder Erzeugung zu simulieren und somit nicht vollständig auszuführen.
Kundenanfrage
Der Aufbau und die Verwendung der BAPIs der Kundenanfrage sind vollkommen gleich zu den des Kundenangebots. Auch hier gibt es zwei verschiedene BAPIs:
- BAPI_INQUIRY_CREATEFROMDATA2
- BAPI_CUSTOMERINQUIRY_CHANGE
Weitere Business-Objekte
Neben den drei oben genannten Objekten existieren noch weitere in der Business-Komponente Vertrieb. Zu nennen wären noch die Kunden-Material-Info, Zahlungskarte und der Geschäftspartnerkontrakt. Jedes dieser Business-Objekte hat auch BAPIs mit entsprechenden Funktionalitäten. Kontaktieren Sie mich gerne, wenn Sie zu dem Thema BAPIs weitere Fragen haben.