SAP 集成技术容许开发人员将与 OLE 兼容的桌面应用程序(例如 Microsoft Office、Lotus SmartSuite 或 Visio)集成到 SAP 零碎中。

通信和数据传输工作原理如下:

SAP GUI( Presentation 服务器)和 SAP 应用程序服务器之间的通信在 4.0 版中失去了扩大。这使得在 SAP GUI(管制框架)中蕴含 ActiveX 控件成为可能。

以 Office Excel 为例,在 Options -> Customize Ribbon 里将 Developer 标签配置进去:

Desktop Office 集成将此接口用于非凡控件(SAP Document Container Control 和 SAP Data Provider),它们是 SAP 零碎和 Desktop Office 应用程序之间的通信通道。

SAP Document Container Control 应用办法和属性与应用 OLE2 接口的桌面应用程序进行通信。

SAP Data Provider 是不同格局数据的容器和转换器。开发人员导入应用程序的数据将转换为基于 Internet 规范 MIME 的可读格局。 SAP 数据提供者缓冲在 SAP 零碎中治理的文档数据。它还缓冲 SAP 数据,这些数据能够应用 R/3 链接插入到文档中。

而后在 Developer 标签页里就能够插入 ActiveX 控件了,比方 button:

这些按钮下面能够编写简略的 VBScript:

Private Sub CommandButton1_Click()Set R3 = CreateObject("SAP.Functions")    Set myConnction = R3.Connection    myConnction.ApplicationServer = "ag3"    myConnction.SystemNumber = 54    myConnction.Client = "001"    myConnction.user = "WANGJER"    myConnction.Password = "your password"        If myConnction.Logon(0, True) <> True Then      MsgBox "Logon failed"      Exit Sub    End If        Dim callFunctionModule As Object            Set callFunctionModule = R3.Add("TH_USER_LIST")    callFunctionModule.Call    If callFunctionModule.Exception <> "" Then        MsgBox callFunctionModule.Exception    End If    If callFunctionModule.Call = True Then        Dim result As Object        Set result = callFunctionModule.tables("USRLIST")        Dim aSheet As Worksheet        Dim sheetCol As New Collection        sheetCol.Add ActiveWorkbook.Sheets(1)        For Each aSheet In sheetCol            Dim i As Integer            i = 1            For Each user In result.Rows                                Client = user(2)                UserName = user(3)                Terminal = user(5)                IP = user(16)                aSheet.Cells(i, 1) = Client                aSheet.Cells(i, 2) = UserName                aSheet.Cells(i, 3) = Terminal                aSheet.Cells(i, 4) = IP                                i = i + 1            Next        Next    Else        MsgBox " Call Failed! error: "    End If'log off    myConnction.logoffEnd Sub

这两个控件都有一个到 SAP 零碎的接口。 SAP Data Provider 的接口是应用功能模块实现的。桌面办公室集成的 ABAP 类和接口提供了到 SAP 文档容器控件的接口。