Friday, 3 November 2017

Configure Information Access in HANA Express to connect from Lumira or Analysis for Office

In this blog post, I’m documenting the steps I followed to enable Information Access in SAP HANA, express edition on my Google Cloud Platform machine.

Before we continue….

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

My HXE instance is on Google Cloud Platform, which I created using the launcher but the procedure should work for the other available flavors too.

Find out the version of your SAP HANA instance


As described by the note, you need to download the right EPMMDS plugin for your version of HXE. Log in to a console and use ./HDB version to find it out:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

Find your version in the chart in this other note (2536153) and take note of name of the package you will need to download:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

Download EPMMDS


Go to https://launchpad.support.sap.com/#/softwarecenter/search/EPMMDS and download the plugin file for your version as described in the chart above.

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

If you cannot see the results, you might want to check the warning at the top of this post. 

Install EPMMDS


Goes without saying, my next step was to wait until the package was uploaded into my GCP instance.  Very cool stuff, like TechEd Bangalore, happened in the meantime.

Once uploaded, extract the file with the SAPCAR tool and take note of the location where you are extracting the file (in my case, the upload is into my home folder)

sudo /usr/sap/hostctrl/exe/SAPCAR -xvf <<name of the package you have uploaded>>

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

Switch to hxeadm (sudo su – hxeadm), go back into the directory where SAP_HANA_EPM-MDS was extracted (cd /somedirectory/SAP_HANA_EPM-MDS/) and execute ./hdbinst from inside the newly created directory:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

Wait for the installation to finish. You should get the most inspirational message for the day, installation done

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

You can try to test it using URL  http://your_IP Address:80XX/sap/bc/ina/service/v2/GetServerInfo  (Where XX is the instance number, 90 is the default). You should get error “Request execution failed due to missing privileges “.

You will need to assign the INA_USER  role to the user that will be connecting (I’ll show this below). If you have already done this and try again, you will still get an error who does not want to be an error:  “No servers are available. Error: No error”

We´ll solve this… keep going…

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

Configure the tenant database


You need a tenant database to solve the error with a personality disorder. HXE instances bring a tenant DB up and running by default. I sometimes stop them to free up RAM.  There is a tutorial on how to create a tenant here if you need it, too.

If, like me, you stopped the default tenant database called HXE, you can just use the following to get it back up:

ALTER SYSTEM START DATABASE HXE;

I’m doing this from the SSH console with hdbsql, but any SQL client you have works. You don’t need to do this if you never stopped the tenant DB that comes by default.

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

You will need to access the XS engine in the tenant database. I changed the configuration in the webdispatcher  as follows.

ALTER SYSTEM ALTER CONFIGURATION ('xsengine.ini', 'database', 'HXE') SET ('public_urls', 'http_url') = 'http://hxe.hxehost:8090' WITH RECONFIGURE;

ALTER SYSTEM ALTER CONFIGURATION ('xsengine.ini', 'database', 'HXE') SET ('public_urls', 'https_url') = 'https://hxe.hxehost:4390' WITH RECONFIGURE;
(Replace “90” with the proper instance number if your instance number is not 90 and “HXE” with the right name for your tenant DB ).

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

While you have the SSH console open and if you haven’t already, you can also grant the proper permissions to the user that will be connecting from the tenant DB, quit and log in to the tenant DB first:

call GRANT_ACTIVATED_ROLE('sap.bc.ina.service.v2.userRole::INA_USER','THE_USER_YOU_WILL_USING');

I already had a user called INAUSER, so this is what it looks like:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

Remember to map the hosts file to the new configuration in the webdispatcher:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

Test it!


Use the following URL:

https://hxe.hxehost:4390/sap/bc/ina/service/v2/GetResponse?Request={Metadata:{Expand:[Cubes]}}

And you should get something like:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Guides

I will show how to consume Calculation Views created in XS Advanced via Information Access in a future post (coming soon).