簡體   English   中英

使用 RFC 將 Excel 與 SAP 連接

[英]Connect Excel with SAP using RFC

我需要知道如何使用 RFC 將 Excel 與 SAP 連接起來。 到目前為止,我還沒有設法使用找到的代碼將任何 SAP 數據導入 Excel。

我希望能夠從任何已知交易中導入數據(例如來自交易 CO03 的物料清單)。 由此我將嘗試了解如何提取其他類型的表。

我的目標是能夠使用 RFC 在 Excel 電子表格中導入任何 SAP 數據。 那將是一個好的開始。

我需要一個特殊的 SAP 帳戶嗎? 如何驗證我的帳戶是否可以執行此類任務?

不可能遠程調用任何標准事務,因為它們中的大多數都是類似遺留的並且不直接返回任何內容。 有幾種方法可以從任何事務中獲取數據,但它們超出了本問題的范圍。
從 SAP 檢索數據到 Excel 的最實用方法是找到合適的 BAPI 或遠程啟用的 FM,(包括編寫自己的包裝器 FM),這就是我將在此處描述的方式。

  1. 您不需要特殊帳戶,您只需要對 RFC 調用有適當的授權,主要包括S_RFC 授權對象

  2. 如果使用 BAPI,則可以省略這一點。 如果您創建了自己的包裝器,那么您必須確保它是遠程啟用的

  3. 然后您可以在 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

PS 要在您的 VBA 項目中使用所有這些,您應該添加對 SAP ActiveX 控件的引用,這些控件位於%ProgramFiles%\\SAP\\FronEnd\\SAPgui目錄中:

  • wdtaocxU.ocx
  • wdtfuncU.ocx
  • wdtlogU.ocx
  • wdobapiU.ocx

所以你的 VBA 項目的參考列表應該是這樣的

在此處輸入圖片說明

除了 Excel 解決方案,您還可以嘗試我很久以前創建並多次使用的開源 MS Access 應用程序: https : //blogs.sap.com/2013/08/16/read-data-from-sap-tables-into -ms-access-2003-database/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM