cancel
Showing results for 
Search instead for 
Did you mean: 

How to read data from Datasphere View into an I-Flow

cp11
Explorer
0 Kudos

Hello SAP Experts,

I would like to read data from SAP Datasphere (View or Table) from an I-Flow.

For this I wanted to use the approach with the OData Adapter in the I-Flow, unfortunately I am not sure what my mistake is with this approach or if there is a better approach.

My idea was to read the data via OData from the SAP Datasphere View.

For this I created a SAP Datasphere Consumption URL with the help of this website.

Website:

My Generated URL:

<SAP Datasphere URL>/api/v1/dwc/consumption/relational/<spaceID>/<Viewname>/$metadata

When executing the URL in the browser, it is also possible to display the metadata of the stored view of the Datasphere.

Unfortunately I fail to use the URI in the OData V4 Adapter in the I-Flow.

The following procedure was tested:


1. I-Flow with an OData V4 adapter was created.

2. Connection Tab

  • Address: URI without "/$metadata"
  • Authentication: Basic
  • Credential Name: Datasphere Login User

3. Processing Tab

  • Operation: (Query(GET))
  • Resource Path: Pressed the Select Button

4. Popup "Model Operation" appears

  • Connection Source: Remote
  • Address: Metadata URI
  • Authentication: Basic
  • Credential Name: Datasphere Login User

5. When press the Step 2 Button following error appears: "Failed to connecto to system"

I also tried to implement the EDMX File which is generated from my URI in the Browser, this seem to work, but when executing the I-Flow this error occurs.

Therefore I suspect that there is an error with the credentials and not my user must be deposited here, maybe someone here has an idea which user I have to store here in the credentials or which configurations are still necessary?

I also tried to create a new OAuth Client in the Datasphere and tried the OAuth Client ID and the Secret, but this also didnt work.

Also if someone has a better idea to read data from the Datasphere (View/Table) into an I-Flow I would be grateful for any help.

Best Regards

Chris

Accepted Solutions (1)

Accepted Solutions (1)

cp11
Explorer
0 Kudos

Hello all,

I could solve the problem with the following steps.

1. Take the data of the #READ user from the SAP Datasphere

and store it in the Integration Suite in the JDBC material as follow

- Database Type: SAP HANA Cloud

- USER: #READ Username

- Password: From #READ User from Datasphere

- JDBC URL: Jdbc:sap://<Host Name from Datasaphere>:<Port>/?encrypt=true&validateCertificate=true

2. Create a view in Datasphere with the required data

3. Create an I-Flow with a JDBC adapter, this JDBC adapter refers to the previously created JDBC Data Source Alias (step 1)

4. Before the JDBC Adapter is called in the I-Flow a Select must be set via Content Modifier which refers to the View in step 2.

Here are the instructions how to create such a select:

Defining a SELECT Statement | SAP Help Portal

After this Steps i was able to get Data from the SAP Datasphere View

Thanks to everybody for the help

Best Regards

Chris

Answers (2)

Answers (2)

XaviPolo
Active Contributor
0 Kudos

Hi,

Your first attempt can't work because the API can only use OAuth2 - authorizationCode, and you used Auth = Basic.

This is the official help: Consume Data via the OData API | SAP Help Portal

Here a sanple of usage with SAC Using the Datasphere OData API with SAP Analytics Cloud | SAP Blogs

Regards,

vishalakshmi
Contributor
0 Kudos