Site icon R-bloggers

Analytics with SAP and R (Windows version)

[This article was first published on Blag's bag of rants, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

My good friend and programming guru Piers Harding wrote a blog called Analytics with SAP and R where he showed us how to link the wonderful worlds of R and SAP. Yes…SAP…not SAP HANA…but the good old NetWeaver…

Piers build the RSAP extension using Linux…but I’m a Windows user…so we start the discussion and collaboration on how to build the extension for Windows 64 bits.

I gotta say…it wasn’t easy…Piers doesn’t have a Windows machine…so I needed to test everything…but I don’t have previous R extension building experience…so after a lot of hard work from both sides, I’m happy to say that we make it work

Here are the steps to follow…



Make sure that you’re using the right R for the NWRFCSDK folder…R 64bit for NWRFCSDK 64bits. You can check this is you go to Environment Variables –> Path and look for something like this C:\Program Files\R\R-2.15.0\bin\x64 (x32 or x64)

With that ready, we can open a CMD session and write the following:

C:\> R CMD INSTALL --build --preclean --clean --no-multiarch -l C:/RSAP RSAP

You’re going to sure to receive some warnings, but no worries…it should be fine as long as you see these lines…


installing to C:/RSAP/RSAP/libs/x64
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* MD5 sums
packaged installation of ‘RSAP’ as RSAP_0.03.zip


* DONE (RSAP)

I’m not really sure, if that’s enough to have RSAP installed and ready to work…so for the sake of completion you can do this…



Now, we’re ready to rock…just like Piers did, I’m going to use a .yml file to host my connection parameters:

ashost: "X.X.X.X"
sysnr: "00"
client: "520"
user: "idadmin"
passwd: "XXXXXXXX"
lang: EN
trace: 1
lcheck: 1
loglevel: warn

And here’s the source code to our example…(For this example you need the libraries: wordcloud and tm).

library("RSAP")
library("tm")
library("wordcloud")
setwd("C:/Blag/R_Scripts")
 
 
conn = RSAPConnect("sap.yml")
parms<-list('DELIMITER' = ';',
               'FIELDS' = list(FIELDNAME = list('CARRNAME', 'FORCURAM')),
               'QUERY_TABLE' = 'ZSBOOK')
res<-RSAPInvoke(conn, "RFC_READ_TABLE", parms)
RSAPClose(conn)
 
 
sbook<-res$DATA
flds<-sub("\\s+$", "", res$FIELDS$FIELDNAME)
sbook<-data.frame(colsplit(sbook$WA,";", names=flds))
sbook_agg=aggregate(FORCURAM ~ CARRNAME, data=sbook, FUN=sum)
vect<-cbind(sbook_agg$CARRNAME,sbook_agg$FORCURAM)
new_vect<-vect[order(vect[,2]),]
new_vect<-c(new_vect[,1])
n<-length(new_vect)
new_array<-c(n,1)
carrname<-levels(sbook_agg$CARRNAME)
for(i in 1:n) new_array[i]<-carrname[new_vect[i]]
d<-data.frame(word=new_array,freq=new_vect)

To make the graphic easier to read, I add the PDF option, so a PDF would get generated.


Hope you liked this blog…Piers and I put a big effort and the rewards are awesome…now Linux and Windows users can enjoy RSAP! -:D

To leave a comment for the author, please follow the link and comment on their blog: Blag's bag of rants.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.