我需要知道如何使用RFC将Excel与SAP连接。我尚未设法使用迄今发现的代码将任何SAP数据导入Excel。使用RFC将Excel与SAP连接使用RFC
我希望能够从任何已知交易(例如来自交易CO03的物料清单)导入数据。从这我会尝试了解如何提取其他类型的表。
我的目标是能够使用RFC在Excel电子表格中导入任何SAP数据。那将是一个好的开始。
我需要一个特殊的SAP帐户吗?如何验证我的帐户是否已启用执行此类任务?
我需要知道如何使用RFC将Excel与SAP连接。我尚未设法使用迄今发现的代码将任何SAP数据导入Excel。使用RFC将Excel与SAP连接使用RFC
我希望能够从任何已知交易(例如来自交易CO03的物料清单)导入数据。从这我会尝试了解如何提取其他类型的表。
我的目标是能够使用RFC在Excel电子表格中导入任何SAP数据。那将是一个好的开始。
我需要一个特殊的SAP帐户吗?如何验证我的帐户是否已启用执行此类任务?
无法远程调用任意标准事务,因为它们大多数都是传统类,并且不会直接返回任何内容。 有几种方法可以从任何事务中获取数据,但它们超出了这个问题的范围。
从SAP到Excel检索数据的最实用方法是找到合适的BAPI或启用远程功能的FM(包括编写自己的包装FM),这就是我要描述的方式。
S_RFC
authorization object然后您可以在VBA代码中调用您的FM并将结果返回给Excel书籍。下面是示例代码:
' Logging in
Dim retcd As Boolean
Dim SilentLogon As Boolean
Set LogonControl = CreateObject(“SAP.LogonControl.1”)
Set objBAPIControl = CreateObject(“SAP.Functions”)
Set R3Connection = LogonControl.NewConnection
R3Connection.Client = "700"
R3Connection.ApplicationServer = "server_address"
R3Connection.Language = "EN"
R3Connection.User = "sap_user"
R3Connection.Password = "sap_pass"
R3Connection.System = "system_id"
R3Connection.SystemNumber = "sys_num"
R3Connection.UseSAPLogonIni = False
retcd = R3Connection.Logon(0, SilentLogon)
If retcd <> True Then MsgBox “Logon failed”: Exit Sub
' Declaring FM interface
objBAPIControl.Connection = R3Connection
Set objgetaddress = objBAPIControl.Add(“ZNM_GET_EMPLOYEE_DETAILS”)
Set objkunnr = objgetaddress.Tables(“ET_KUNNR”)
Set objaddress = objgetaddress.Tables(“ET_CUST_LIST”)
' Filling select-options values table from sheet
Dim sht As Worksheet
Set sht = ThisWorkbook.ActiveSheet
If sht.Cells(6, 2).Value <> ” ” Then
objkunnr.Rows.Add
objkunnr.Value(1, “SIGN”) = sht.Cells(6, 2).Value
objkunnr.Value(1, “OPTION”) = sht.Cells(6, 3).Value
objkunnr.Value(1, “LOW”) = sht.Cells(6, 4).Value
objkunnr.Value(1, “HIGH”) = sht.Cells(6, 5).Value
R3Connection.Logoff
P.S.对于这一切都在您的VBA项目的工作,你应该添加对SAP的ActiveX控件,分别位于的%ProgramFiles%\ SAP \ FronEnd \ SAPGUI目录:
所以您的VBA项目的引用列表看起来应该像这样
感谢森卡彻抽出时间来帮我。我有三个问题需要帮助:BAPI和支持远程的FM有什么区别?任何这些方法都可以从任何SAP事务中读取数据吗?我工作的公司中的每个员工都可以根据员工角色访问特定的SAP事务,因此我需要请求访问开发人员事务 – Arturo
我需要访问哪些事务? – Arturo
在你的问题中:1.在你的任务中 - 没有区别,在其他情况下阅读[help](https://help.sap.com/saphelp_nw73ehp1/helpdata/en/c2/0da27f769e4c7d99f119110f6a24f4/frameset.htm)。不,请仔细阅读我的介绍。不,请仔细阅读我的介绍。您需要为每个员工tcode找到相应的BAPI或编写自己的包装。 – Suncatcher