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….
Before we continue….
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:
Find your version in the chart in this other note (2536153) and take note of name of the package you will need to download:
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.
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>>
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:
Wait for the installation to finish. You should get the most inspirational message for the day, installation done
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…
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.
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 ).
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:
Remember to map the hosts file to the new configuration in the webdispatcher:
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:
I will show how to consume Calculation Views created in XS Advanced via Information Access in a future post (coming soon).
No comments:
Post a Comment