SAP ABAP 系统同微软 Office 套件进行 Desktop Integration 的工作原理
2023-09-14 09:02:43 时间
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.logoff
End Sub
这两个控件都有一个到 SAP 系统的接口。 SAP Data Provider 的接口是使用功能模块实现的。桌面办公室集成的 ABAP 类和接口提供了到 SAP 文档容器控件的接口。
相关文章
- SAP UI5 应用中的 sap.ui.require 使用场景
- 关于 SAP UI5 所有控件的共同祖先 - sap.ui.base.ManagedObject
- 调用 sap.ui.base.ManagedObject 的构造函数时,如何传递绑定路径进去
- 在 SAP Fiori Launchpad 里给需要执行的 SAPGUI 事物码配置系统别名
- SAP UI5 Smart Table 和 Smart Filter Bar 的联合使用方法介绍
- SAP UI5 Smart control 的 Page Variant Management
- SAP MM 物料移动平均价的修改历史(续)
- SAP MIGO + 561初始化库存,系统报错 - Constant Z1900 for Ledger !* does not contain any val
- 关于 SAP UI5 接口 sap.ui.core.IAsyncContentCreation 的问题讨论
- SAP UI5 响应式表格 sap.m.Table 根据不同宽度的屏幕动态决定显示或隐藏 Column 的实现源代码讲解试读版
- 如何用 SAP Commerce Cloud CMS API 批量返回多个 CMS Component 数据
- SAP Commerce Cloud 里的 jsapps 和 jsapps-ssr 容器
- SAP ABAP Gateway 系统里 HTTP 请求响应头部字段 DataServiceVersion 的可能取值范围
- ORA-06809: TLI Driver: could not clear the IPX ethernet SAP at init ORACLE 报错 故障修复 远程处理
- SAP中获取当前用户相关信息的两个函数详解编程语言
- 关于SAP的视图类型详解编程语言
- SAP中发送邮件详解编程语言
- SAP采购申请审批记录增强详解编程语言
- 如何给指定用户发送SAP系统消息-TH_POPUP详解编程语言
- SAP可以创建预留的移动类型详解编程语言
- sap bw详解编程语言
- sap架构详解编程语言
- 系统SAP在Linux系统上的开启之旅(sap启动linux)
- 数据库解决方案如何使用SAP创建Redis数据库(sap怎么创建redis)
- Oracle和SAP技术比较优势和劣势(oracle与sap比照)
- 跨界合作新模式 Oracle与SAP实现合并(oracle与sap合并)
- 展望未来Oracle与SAP的合作结盟前景(oracle、sap)
- 聘请高级Oracle与SAP顾问,拓展业务潜力(oracle sap顾问)