2017-07-28 101 views
1

我需要能夠直接從R獲取數據,而無需使用GUI。我發現RSAP包似乎正是我正在尋找的。 我跟着橋墩和阿爾瓦羅·特哈達加林多建議的步驟(使其在Windows環境下工作)和這裏是我卡:RSAP包通過R連接到SAP(windows)

  • 設法編譯RSAP包
  • 設法安裝它
  • 當我運行時,一切都看起來狀態良好library(RSAP)
  • 無論我在RSAPConnect命令中嘗試,我的R會話崩潰,沒有任何日誌或工具可以調試。

當然,我在這個命令中嘗試了幾個參數的組合,但在每一個情況下,它仍然崩潰,但我不知道爲什麼。不要緊,我是否輸入有效ashost或例如只是aaa,仍然崩潰...

這裏是我的想法會工作(當然我加在裏面星級)代碼:

conn <- RSAPConnect(ashost = "*****.****.com", sysnr = "00", client = "410", 
      user = "*****", passwd = "*********", TRACE = "3") 

有沒有人經歷過類似的事情?我甚至不知道在哪個方向上嘗試做這項工作。事實上,我曾預料到一些錯誤消息,比如「服務器無法到達」,例如ashost不正確,但沒有發生。

我很感謝這方面的任何幫助。

感謝您的支持。 親切的問候

+0

如果你正在使用RStudio,看看[這裏](https://support.rstudio.com/hc/en-us/articles/200554756-RStudio-Application-Logs) – Christoph

+0

感謝您的評論。我確實,它給了我這個:'2017年7月31日14:41:10 [rsession - ***]錯誤系統錯誤32(進程無法訪問該文件,因爲它正在被另一個進程使用)[path = C :/pagefile.sys];發生在:time_t rstudio :: core :: FilePath :: lastWriteTime()const C:\ Users \ Administrator \ rstudio \ src \ cpp \ core \ FilePath.cpp:586; LOGGED FROM:time_t rstudio :: core :: FilePath :: lastWriteTime()const C:\ Users \ Administrator \ rstudio \ src \ cpp \ core \ FilePath.cpp:586' – homer3018

回答

0

在與Piers Harding交談之後,似乎發生段錯誤的原因是由於之前版本和3.x版本之間的一些代碼更改,我使用它。

M. Alvaro Tejada Galindo也嘗試在像我這樣的Windows機器上使用RSAP,但是如果您閱讀his post,您會發現他當時使用R 2.15.0。

不幸的是,我沒有技能來找到這些更改並在RSAP代碼中進行必要的調整。

皮爾斯確實證實,雖然RSAP仍然使用R最新版本的Linux工作。

最後,對於像我這樣努力尋找NW RFC庫的人,你可以在GitHub上找到它。

如果這可以幫助任何人......

0

嗯,我想我會添加此作爲另一個答案。

可以編寫一些嵌入在excel文件中的vba來將內容提取到SAP中。有趣的是,我只是碰到了一些代碼來運行,從一個特定的具體的VBA宏excel文件,都來自R:

# Open a specific workbook in Excel: 
xlApp <- COMCreate("Excel.Application") 
xlWbk <- xlApp$Workbooks()$Open("C:\\Excel_file.xlsm") 

# Run the macro called "MyMacro" 
vxlApp$Run("MyMacro") 

# Close the workbook (and save it) and quit the app: 
xlWbk$Close(TRUE) 
vxlApp$Quit() 

# Release resources: 
rm(xlWbk, xlApp) 

所以在最後,如果您的宏設置抓取並存儲SAP數據,您接下來要做的只是使用XLConnect或任何其他軟件包像通常那樣讀取此文件,並且您已經完成設置!