• SAP BAPI的一些初级资料


    SAP BAPI的一些初级资料
     
    周围的人都比较忙,一切得靠自己学,慢慢摸索。

    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()
    Set oFunction = CreateObject("SAP.LogonControl.1")
    Set oConnection = oFunction.NewConnection
    oConnection.Client = "500"
    oConnection.Language = "EN"
    oConnection.User = "user"
    oConnection.Password = "pasword"
    oConnection.ApplicationServer = "sap1.yok.com.cn"
    oConnection.SystemNumber = "01"
    result = oConnection.Logon(0, True)
    Set ofun = CreateObject("SAP.FUNCTIONS")
    Set ofun.Connection = oConnection
    Set func = ofun.Add("RFC_READ_TABLE")
    func.Exports("QUERY_TABLE") = "MARA"
    If func.Call = True Then
    Set oline = func.tables.Item("DATA")
    Row = oline.rowcount
    i = 1
    Do While i <= Row
       Cells(i, 1) = Mid(Trim(oline.Value(i, 1)), 4, 22)
         i = i + 1
       Loop
       Else
       MsgBox "FAIL"
    End If
    End Sub

    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~
  • 相关阅读:
    Python深入03 对象的属性
    利用Webkit抓取动态网页和链接
    分享:OCILIB 3.11.0 发布,跨平台 Oracle 驱动
    Knockoutjs实战开发:控制子绑定(control descendant bindings)
    利用InjectedBundle定制自己的Webkit(二)
    使用solrj和EasyNet.Solr进行原子更新
    Chaos网络库(二) Buffer的设计
    分享:djangohaystack+solr实现搜索
    Moon.ORM 4.4 隆重发布,在性能和使用便捷上一挑群雄(mysoft,cyq,pdf)
    数据结构利器之私房STL(中)
  • 原文地址:https://www.cnblogs.com/elegantok/p/1410364.html
Copyright © 2020-2023  润新知