Technical Articles
Smart Data Integration and SAP HANA as a Service
Priyanka Brodie, an amazing intern in HANA Product Management, and I have been busy building some new tutorials based on SAP Cloud Platform, SAP HANA Service.
Fresh out of the oven, the tutorials cover everything from the creation of an instance of the SAP HANA Service in SAP Cloud Platform to consuming a remote source in a virtual table, in an HDI container.
Choose your own adventure
There are multiple reasons to get started with the SAP Cloud Platform, SAP HANA Service.
Since I am talking about the instances you can get in Cloud Foundry, you are probably landing there because you or someone in your company has purchased some memory blocks.
If you need some warm-up… |
– Here is a more technical description with boxes and everything – No, you cannot currently create a full instance for free. BUT… you can use the trial HDI containers in the SAP HANA Service. This tutorial within this mission explaining how to develop an application using the Cloud Application Programming Model has all the instructions you need. You don’t really need a lot of instructions because the CAP model will declare the HDI container as a resource and Web IDE will then call the goblins that create the actual service and wiring behind the scenes. – If you don’t know what the CAP model is, an HDI container sounds as funny as a flux capacitor or you have not seen Web IDE before, I would spend half an hour watching this. (well, not me but you… who likes their own voice on video?) |
How to setup your own instance of HANA as a Service
Including some preliminary steps:
- How to configure the Command Line Interface (this is optional, but I would recommend you have it): https://developers.sap.com/tutorials/cp-cf-download-cli.html
- How to configure your SAP Web IDE Full Stack: https://developers.sap.com/tutorials/webide-multi-cloud.html
- How to create an instance of the SAP HANA Service in SAP Cloud Platform. You can use either the Command Line Interface or the graphical one: https://developers.sap.com/tutorials/haas-dm-deploying-haas.html
- Enabling the features to develop with HANA: https://developers.sap.com/tutorials/haas-dm-configure-dev-env.html
- Accessing the Database Cockpit: https://developers.sap.com/tutorials/haas-dm-connect-hana-cockpit.html
The fun piece: Creating tables and loading data into SAP HANA
Of course it all starts with creating a new SAP HANA Database Multi-Target Application: https://developers.sap.com/tutorials/haas-dm-create-db-mta.html
There is not much new here.
Notice how we are not using `.hdbcds` but SQL DDL to generate tables. We are also loading sample data into them using one of the available methods for this.
Smart Data Integration using the File Adapter
Loading data into the SAP HANA Service using SDI is not as challenging as it sounds nor as different from the on-premise world with XS Advanced.
The full instructions are in this tutorial: https://developers.sap.com/tutorials/haas-dm-connect-sdi.html
From the Smart Data Integration perspective, the story goes like this:
- Download the latest Data Provisioning Agent from the Marketplace (2.3.5.2 or higher). You’ll need SAPCAR to extract it
- I would uninstall previous versions of DPA if you have any. This was recommended to me, I didn’t do it at first and my local operating system did not like it
- Configure the connection to use Web Sockets… You get through this option by choosing “JDBC” first (no, not the first option, but the third…)
- In my case, I am using the file adapter, so I register that agent once my connection is successful
- Then, I go into the database explorer, log in to the database and create a remote source.
- And this is the last thing I will create here. The virtual tables will be created in my HDI container.
Again, the step-but-step instructions without quirky comments are here.
The remote source needs to be accessible from my HDI container but… remember… HDI containers do not just see objects outside them!
You need to make the remote source visible to your database module before you can use it in a flowgraph or replication task in an HDI containers.
You know the drill from on premise XS Advanced… Cross schema access with user-provided services and synonyms!
I’m covering this in this next blog post: https://blogs.sap.com/2019/02/23/smart-data-integration-cross-container-access-and-the-sap-hana-service/ .
Hi Lucia,
Thanks very much for shedding light on a scenario that can actually be tricky to set up the first time around. With respect to your following comment:
I am hoping you can clarify whether the above applies to the virtual tables created in the HDI container for loading data via the SDI File Adapter? Specifically, the issue I have encountered is as follows:
I would greatly appreciate it if you could provide any guidance about what the cause of the above issue might be and how to resolve it.
Regards,
Mustafa.
Hi, Mustafa,
I got that same problem doing something similar (also involved cross container access) and unfortunately I'm not sure how I fixed it... It's a bit blurry now but I remember deleting the HDI container service, changing the service-name in the yaml file, building only the db module with some tables and then added and built only the hdbgrants. I also replaced the role I created with a list of global roles so that I would get an error if something was missing.
Then when i went back to HRTT using the right-click on db module -> open HDI Container, my new service was there together with another entry with almost the same name but starting with "SharedDevKey". The error went away so I'm not sure what really fixed it.
Please let me know how that goes. I'd like to replicate it to report it but looks like it smells the fear because it didn't happen again since then.
Cheers,
Lucia.
Hi Lucia,
Thanks for your very prompt response. An incident has been raised with SAP Support and the issue acknowledged but no resolution yet. We'll try your suggestions as well. I'll keep you posted on progress.
Regards,
Mustafa.
hi colleagues
I am having a somewhat related error. After following the steps in the tutorial successfully, when I try to create a reptask, the "connect to a remote source" button returns error: "PARAMETER_RESOLUTION_FAILED","message":{"value":"Parameter resolution failed: Could not find specified HDI service key: SharedDevKey"}
did you get to fix it in the end? Also a pointer to the ticket would be great. Feel free to approach me also via mail
thanks
Hi Lucia Subatin ,
Thanks for your blog. Current I am following your blog to test SDI. But I met issues at the begin. When I tried to install SDI in my Linux, I can't start Agent. Did I have to install this SDI on Windows? I tried to install MS SQL server as my Hybris Commerce database, using SAP HANA on Cloud Foundry as target database. But it seems that only Sybase adapter was configured in Linux SDI. Is it correct?
Regards,
Hegui Liu
Hi Lucia,
I would like to schedule flowgraph in HANA service. I follow the sap help url https://help.sap.com/viewer/d60a5abb34d246cdb4ab7a4f6b9e3c93/2.0_SPS03/en-US/701be86d4ad3470485ee4ecb25258ba2.html
We do not find the role or privilege in the pre-requisite step of sap help. Althrough we follow the procedure but not find the schedule button.
Do you have any ideas about this?
Best Regards,
Ditthanan P.
Hi Ditthanan,
I'd suggest you take a look at the scheduler in cloud foundry (https://help.sap.com/viewer/6b94445c94ae495c83a19646e7c3fd56/2.0.03/en-US/4de4ea4f04ea460cbccb7d97c78e7183.html ). That link you posted is showing roles and tools from XS Classic, which of course are not available.
Best,
Lucia.
Hello VINCENZO TURCO ,
Did you find any resolution for your error , if so can you please help me with the resolution.
Thanks
Hi Jayaraj,
I'd recommend at-mentioning people to catch their attention.
I found this error gets solved by removing the HDI containers from the database explorer (right click, remove database) and adding them again with the plus sign. Make sure you are logged in to the right region for Database explorer in the Settings, too.
Cheers,
Lucia.
Hello, do you know which Hana version is required ? Do we need the Enterprise version or standard is OK ?
Thanks