Objektorientierter Zugriff auf BAPIs 
Einsatzmöglichkeiten
Der objektorientierte Zugriff auf ein BAPI im BOR ist von zahlreichen Programmierplattformen möglich:
Entwicklungstool / Middleware |
Weitere Informationen |
BAPI ActiveX Control (Windows 95 und Windows NT) |
Das BAPI ActiveX Control von SAP ermöglicht externen Client-Anwendungen den Zugriff auf die SAP-Business-Objekte im BOR, indem die BAPIs via OLE Automation aufgerufen werden. Weitere Informationen finden Sie unter BAPI ActiveX Control. |
BAPI C++ Klassenbibliothek im SAP Assistant |
Im SAP Assistant steht eine BAPI C++ Klassenbibliothek zur Verfügung, die für jedes SAP-Business-Objekt mit seinen BAPIs eine C++-Proxy-Klasse anbietet. Weitere Informationen finden Sie unter
The C++ BAPI Proxy Classes in der Dokumentation zum SAP Assistant. |
BAPI Java Klassenbibliothek im SAP Assistant |
Im SAP Assistant steht eine dynamische BAPI Java Klassenbibliothek zur Verfügung, die den objektorientierten Zugriff auf BAPIs von Java-Plattformen ermöglicht. Für den Aufruf von BAPIs können die in Java üblichen Datentypen und Klassen anstelle der SAP-internen Datentypen und Strukturen verwendet werden. Weitere Informationen finden Sie unter
The Java BAPI Proxy Classes in der Dokumentation zum SAP Assistant. |
R/3 DCOM Component Connector (Windows NT) |
Der von Microsoft und SAP gemeinsam entwickelte R/3 DCOM Component Connector ermöglicht eine nahtlose Integration von R/3-Objekten und COM-Objekten. SAP-Business-Objekte und ihre BAPIs können transparent von COM-basierten Entwicklungstools angesprochen werden. Umgekehrt werden COM-Komponenten in der SAP-Entwicklungsumgebung zur Verfügung gestellt. Das R/3 DCOM Component Connector Software Development Kit (SDK) wird als Bestandteil des RFC SDK für Windows NT ausgeliefert. Weitere Informationen finden Sie unter
Der DCOM Connector. |
ObjectBridge |
Das Middleware-Produkt "ObjectBridge" von Visual Edge ermöglicht den automatischen Zugriff auf BAPIs von allen CORBA-2.0-fähigen Object Request Brokern (ORBs) sowie von anderen, objektorientierten Protokollen wie beispielsweise ActiveX/DCOM. Weitere Informationen erhalten Sie in der Produktdokumentation zu ObjectBridge. |
Programmierumgebung |
Weitere Informationen |
Delphi/Connect for SAP von Inprise |
Weitere Informationen erhalten Sie in der Produktdokumentation zu Delphi/Connect. |
Access Builder for SAP R/3 von IBM |
Über Access Builder for SAP R/3 werden BAPIs in IBMs Entwicklungsumgebung VisualAge for Java integriert. Access Builder for SAP R/3 ermöglicht die Entwicklung von BAPI-fähigen Java-Anwendungen, Java-Applets und JavaBeans für das R/3-System. Weitere Informationen erhalten Sie in der Produktdokumentation zu Access Builder for SAP R/3. |
Visual Studio |
Die BAPIs aus R/3-Release 3.1H und 4.0A stehen in Zukunft lokal in Microsofts Entwicklungsumgebung Visual Studio (Enterprise Edition) zur Verfügung. |
Ablauf
Der Ablauf einer Anwendung und die benötigten Einzelschritte sind von Entwicklungsplattform zu Entwicklungsplattform unterschiedlich.
Im nachstehenden Beispiel werden die im einzelnen ablaufenden Schritte anhand des BAPI ActiveX Controls illustriert. Wenn die Verbindung zum R/3-System hergestellt ist, greift die Client-Anwendung während der Laufzeit auf die SAP-Business-Objekte und ihre BAPIs zu, indem sie OLE Automation-Anforderungen an das BAPI ActiveX Control übergibt.
Die einzelnen Schritte sind wie folgt:
Set oBAPICtrl = CreateObject("SAP.BAPI.1")
Set oLogonCtrl = CreateObject("SAP.Logoncontrol.1")
Set oBAPICtrl.Connection = oLogonCtrl.NewConnection
If oBAPICtrl.Connection.Logon(frmStart.hwnd,FALSE) = FALSE then
MsgBox"R/3 Connection failed"
End
Endif
Bevor Ihre Anwendung ein BAPI eines SAP-Business-Objekts aufrufen kann, muß sie zuerst die Erstellung einer Instanz des Objekts anfordern.
Der folgende Befehl aus einem Visual Basic-Programm zeigt die Verwendung des BAPI ActiveX Control-Objekts und der Methode GetSAPObject(), mit der die Erstellung einer Instanz des Business-Objekts SalesOrder angefordert wird:
Set boOrder = oBAPICtrl.GetSAPObject("SalesOrder")
Set oOrderHeader = oBAPICtrl.DimAs(boOrder, _
"CreateFromDat1", "OrderHeaderIn")
Set otabItems = oBAPICtrl.DimAs(boOrder, _
"CreateFromDat1", "OrderItemsIn")
Set otabPartners = oBAPICtrl.DimAs(boOrder, _
"CreateFromDat1", "OrderPartners")
Anschließend müssen die Parameterobjekte mit entsprechenden Daten gefüllt werden.
Nachdem die Objektinstanz erstellt wurde, können die verfügbaren BAPIs aufgerufen werden.
Der folgende Befehl aus einem Visual Basic-Programm zeigt einen BAPI-Aufruf:
boOrder.CreateFromDat1 OrderHeaderIn:=oOrderHeader, _
OrderPartners:=otabPartners, _
OrderItemsIn:=otabItems, _
Return:=oReturn
Die folgende Abbildung zeigt den Zugriffsprozeß auf SAP-Business-Objekte und ihre BAPIs über das BAPI ActiveX Control.
Objektorientierter Aufruf mit dem BAPI ActiveX Control
