R Integration with SAP HANA
For the beginners it would be really helpful to follow the below steps and a smooth integration with R studio , enjoy accessing HANA artifacts easily like accessing the tables/view information & Consuming procedures , intention is to let the people know the integration & want to share more later on this topic once I am friendly in “R” development fashion – “still in learning mode” J.
Setup the Data source (in this case SAP HANA DB Server)
If you are already working on HANA Studio then you may have the HANA Studio Installed & HANA Client as well if not then you can install , refer below link.
Eclipse with HANA Tools Plugin is used
(-> same as HANA Studio) + download link for HANA Client Software
Once you have installed HANADBClient in your system then you need to setup data source.
Go to -> Control Panel -> Search for data Source (ODBC) -> Set up data sources (ODBC)
You will get the below popup
On Current tab click on Add one popup will appear for Server/Port information
Enter any data source name/any description for server ad then enter server: port – if you don’t know the server and port name go to your hana studio (SAP HANA Development perspective) and right click on system then click on properties tab -> Additional properties tab -> Host details. After entering these details click on connect to check if the details are correct or not by entering the username/password if all ok then you get a prompt on connect that connection is successful.
Now install both the Components once you are done with R Studio installation download the RODBC package (https://cran.r-project.org/web/packages/RODBC/index.html ) goto your R Studio now & all install r Studio package.
Once we have added the RODBC package now we can check on R studio using library function
Now we can go ahead for accessing our HANA database artifacts, establish the database connection using R commands & then execute sqlQuery function for executing sql commands on R.
I created one table in HANA server for billing docs that I am accessing using “R” below is the sample code.
ch<-odbcConnect(“data source name”,uid=”test_hana”,pwd=”test12″);
sqlQuery(ch, ‘SELECT * FROM “_SYS_BIC”.”BILLING_DATA” ‘)
Here is the output from “R”
Another sample for consuming procedure in “R”
I created one procedure which returns Company Code , Accounting doc & fiscal year from BSEG table.
sqlQuery(ch, ‘CALL “ABAPDEMO”.”GETDATA”(10 , ? )’);
Output in “R”
Note – you can also use hdbuserstore set default for storing username/password for you hana server hence you don’t need to expose that into your connection string , below link elaborates the way of securing your username/password when dealing with ODBC –
The secure user store is installed with the SAP HANA client package. After you install the SAP HANA client, the hdbuserstore program is located in one for the following directories:
- /usr/sap/hdbclient (Linux/UNIX)
- %SystemDrive%\Program Files\sap\hdbclient (Microsoft Windows)
Your suggestions/questions/improvements are most welcome, I will try to share more sample codes I progress in this.