我需要知道如何使用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