zoukankan      html  css  js  c++  java
  • 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~
  • 相关阅读:
    联想 Vibe Shot(Z90-3) 免recovery 获取ROOT权限 救砖 VIBEUI V3.1_1625
    联想 Z5S(L78071)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.370
    联想 Z5(L78011) 免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.254
    联想 S5 Pro(L78041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.123
    第二阶段 冲刺八
    第二阶段 冲刺七
    第二阶段 冲刺六
    第二阶段 冲刺五
    代码大全阅读笔记03
    学习进度十二
  • 原文地址:https://www.cnblogs.com/elegantok/p/1410364.html
Copyright © 2011-2022 走看看