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
von Visual Edge

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
(Enterprise Edition)
von Microsoft

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