EDUCAÇÃO E TECNOLOGIA

Implementing Smart Data Integration in HANA Cloud & Creating Flowgraph using Business Application Studio

This blog helps to replicate data  from HANA on-premise system to HANA cloud using Smart Data Integration. And also explains creating  Flowgraphs using Business Application Studio for data  transformation.

Let us understand below concepts:

SAP HANA Cloud :

SAP HANA Cloud is a fully managed in-memory cloud database as a service (DBaaS). As the cloud-based data foundation for SAP Business Technology Platform, it integrates data from across the enterprise, enabling faster decisions based on live data.

Smart Data Integration:

SAP HANA smart data integration is an ETL tool, which can be used to load data( either in batch or real-time)  in HANA (on premise or in the cloud) from different  sources by using pre-built and custom adapters.

Data Provisioning Agent :

The Data Provisioning Agent manages all SDI Adapters and connections to HANA database. It acts as the communication interface between HANA and the Adapter. The DP Agent version must match with the HANA version.  Different types of adapters are deployed, these adapters are used to make  communication between the HANA database and the source systems.

Refer to below blog for DP agent configuration:

https://blogs.sap.com/2020/04/08/sdi-dp-agent-and-remote-source-configuration-in-hana-to-read-data-from-s-4hana/

Now lets see how to access data from HANA on-premise to HANA cloud.

Log onto HANA cloud system and run the below script commands from SQL console.

CREATE SCHEMA “TESTSCHEMA”;

CREATE USER TESTUSER PASSWORD “Testdemo7”;

ALTER USER TESTUSER DISABLE PASSWORD LIFETIME;

CREATE ROLE TESTROLE;

grant SELECT, UPDATE, INSERT, DELETE, EXECUTE, SELECT METADATA ON SCHEMA “TESTSCHEMA” TO TESTROLE with grant option;

grant TESTROLE to TESTUSER with admin option;

grant “CREATE VIRTUAL TABLE”, “DROP”, “CREATE REMOTE SUBSCRIPTION”, “PROCESS REMOTE SUBSCRIPTION EXCEPTION”  on remote source “Z_TEST_DEMO” to TESTROLE with grant option;

Remote Data Source Creation:

Create Remote Data Source in HANA Cloud system  as shown:

Log onto HANA DB explorer, connect to HANA cloud system, Open Catalog, choose Remote Source and click on Add remote source. In the pop-up , enter remote source details to be created.

Enter Source Name, Adapter Name, Select Source Location( Agent Details) ,Host, Port number, Log in credentials ( for HANA on-premise).

Once remote source is created, we will be able to view  HANA On-premise system Table details.

Development in Business Application Studio:

Log onto Business application studio and follow below steps.

Create HANA DB Project.

To create HANA DB project from Business application studio, please refer to below URL (TH

https://developers.sap.com/tutorials/hana-cloud-create-db-project.html

Create cross schema service as shown below:

Click on SAP HANA Projects.

Select the project which you have created in the previous step.

Goto Database Connections and click on + symbol.

Enter below details to add Data Base connection.

Now we can see added cross container service as shown:

Create .hdbgrants file. 

Open HANA DB project->src folder 

Goto view->Find command-> SAP HANA :Create SAP HANA Database Artifact

Select SAP HANA :Create SAP HANA Database Artifact

Navigates to below screen:

Enter details as shown below and click on Create button.

Write the below logic in .hdbgrants file:

{
“CC_SDITEST”: {
“object_owner”: {
“global_object_privileges”: [
{
“name”: “Z_TEST_DEMO”,
“type”: “REMOTE SOURCE”,
“privileges”: [
“CREATE VIRTUAL TABLE”,
“DROP”,
“CREATE REMOTE SUBSCRIPTION”
]
}
],
“roles”: [
“TESTROLE”
]
},
“application_user”: {
“roles”: [
“LKMROLE”
]
}
}
}

Click on below deploy button & deploy the file.

Create Virtual table as shown:

It provides the popup as shown and gives remote source which we have chosen in the previous steps.

It provides all the details from the remote source system.

Select the table from remote system and click on Next button.

 

Provide Object name(Virtual Table name) in the next page and click on Finish button.

It creates the virtual table as shown below:

Deploy the object.

To view the object from HANA DB explorer, click on Open HDI container as shown below:

 

It navigates to HANA DB explorer, here we can view HDI Container.

Click on tables to view Virtual table created in previous step.

Click on table to view data.

Create flow graph as shown below:

Flowgraph is created as shown below:

Right click on .hdbflowgraph and Open with Flowgraph Editor.

It opens as shown below

Click on + it opens pop-up as shown.

Click on Data Source.

Click on Settings and it opens as shown below

Click on HANA Object and in pop-up enter details.

Search with Virtual table created in previous step, select it and click on finish button.

 

Now  click on Apply button.

Create one more data source in the flow graph pointing to the VT_SD_PRODUCT_SALES

( i have created one more virtual table)

Click on + in Flow graph editor and select Join as shown below:

Now map the table to Join node as shown.

Click on settings in Join node.

Goto Criteria and make the Join condition as shown:

Create Data Target as shown:

Map Join_OUT to target as shown:

Click on Data Target setting to view output.

Click on Apply button and deploy the Flowgraph. Click on Execute button and in the pop-up click

on OK button.

Post successful deployment, you can see below message.

Now go to HANA DB explorer and open procedures.

You can see the deployed Flowgraph under procedures.

 

Goto tables to view Data Target.

Right Click on Data Target to view data.

Result : 

Data as shown below:

Summary:

This blog helps to understand transferring  data from on-premise HANA system to HANA cloud and using Business Application Studio for developing HANA DB artifacts like Virtual Tables, Flowgraphs etc…

I hope everyone enjoyed the blog, Please put your comments on the same.