周围的人都比较忙,一切得靠自己学,慢慢摸索。
BAPI有的是类,有的是函数。'Business application programming interface'的简称。 BAPI is 'Business application programming interface', similar to API. which are stable, standardized methods to access data in R/3 To use BAPIs to access SAP business objects you will need a good understanding of object-oriented programming. You should also have a basic knowledge of the R/3 System. BAPIs can be accessed from various programming environments, for example, Delphi/Connect from Inprise (formerly Borland), Microsoft’s Visual Studio, C++ and Java platforms. You must be familiar with the development environment used to access BAPIs. BAPIs are available from development platforms external to R/3 that support the Remote Function Call (RFC) protocol. If you are developing your application in a non-object oriented programming language, you need to have RFC programming skills to call BAPIs via RFC. In particular, you need to know how to perform RFC calls. ========== BAPI的简单实现步骤一,创建Function Module 1,在SM11,创建需要的structure 2,在SE80,建Function group 3,在SE37,创建Function Module Note:一个Function Group只能包含一个BAPI;参数传值;必须有有一个BAPIRETURN类型的EXPORT参数 二,封装 1,在SWO1,建Object Type 2,把Function Module作为一个Method加入,utilities->API Methods->Add Method 3,release Object和Module。使在BAPI Browser 中可以看到。也就是外部能够调用。 三,调用 1,如在另一系统中用ABAP调用,先在SM59中建RFC联到有BAPI的R/3,(ZGOGO) 在SE38的程序中调用,Call Function "ZBAPIXXXXX" DESTINATION ZGOGO EXPORTING ... 2,如用JAVA调用 引入包;(不一定要用IBM的) import com.sap.rfc.*; import com.sap.rfc.exception.*; import com.ibm.sap.bapi.*; import com.ibm.sap.bapi.generated.*; 建立连接;调用。。。(See CALL_BAPI.java) VBA for SAP Private Sub CommandButton1_Click() VBA2
Private Sub CommandButton1_Click()
Dim sapFunctionCtrl As Object 'Function Control (Collective object) Dim sapConnection As Object 'Connection object Dim theFunc As Object 'Function object Set sapFunctionCtrl = CreateObject("SAP.Functions") Set sapConnection = sapFunctionCtrl.Connection sapConnection.Client = "800"
sapConnection.user = "user" sapConnection.Language = "EN" If sapConnection.logon(0, False) <> True Then
MsgBox "No connection to R/3!" End If
Set theFunc = sapFunctionCtrl.Add("ZRFCPING")
If theFunc.call Then ' call the RFC FM MsgBox "RFC call is okay" End If sapFunctionCtrl.Connection.logoff Set sapConnection = Nothing Set sapFunctionCtrl = Nothing End Sub 其他还有很多,有几个demo~ |