Skip to Content
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…

–          What is HANA as a Service?

–          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:

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/ .

5 Comments
You must be Logged on to comment or reply to a post.
  • 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:

    “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.”

    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:

    1. The scenario involves uploading CSV files from a local PC folder to SAP HANA as a Service, as per the topic of the above blog;
    2. The steps documented above in the blog to install and configure the Data Provisioning Agent and File Adapter on the PC have been completed successfully;
    3. Virtual tables have been created in the HDI container to act as the data sources for a flowgraph;
    4. When attempting to add a virtual table to the flowgraph in WebIDE, as illustrated in the first screenshot in the blog post above, searching for the virtual table as a data source results in the error message “Not able to find organization: XXXX” referring to the Cloud Foundry organization the HDI container has been created in.  The details of the issue are described in an existing Community question: https://answers.sap.com/questions/747027/how-to-create-flowgraph-for-smart-data-integration.html

    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