Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 
Product and Topic Expert
Product and Topic Expert

Update (03/08/2023): SAP Data Warehouse Cloud Upgraded to SAP Datasphere.

SAP Datasphere is a comprehensive data service built on SAP Business Technology Platform (SAP BTP) that enables every data professional to deliver seamless and scalable access to mission-critical business data.Capabilities includes data integration, data cataloging, semantic modeling, data warehousing, data federation, and data virtualization data, professionals can now easily distribute mission-critical business data — with business context and logic preserved — across their organization’s data landscape. SAP Datasphere offers data connectivity to multiple data sources SAP and Non-SAP.

In this blog I'm going to discuss on the connectivity options in SAP Datasphere available for the data source type SAP BTP ABAP Environment (Steampunk). It is an SAP Platform-as-a-Service (PaaS) offering with ABAP development environment to build custom innovative cloud apps on SAP BTP Platform.

What are the connectivity options available in SAP Datasphere ?

1.Generic OData: OData (Open Data) is a standardized protocol to enable exchange of data between different systems. It is a popular format for cloud data sources and enables you to consume data from different sources in a standardized way without much effort.

Features Supported:
1.Remote Tables: This feature supports building views. When you add a source object from the connection to a view, the table is deployed as a remote table.
2.Data Flows: This feature supports building data flows. You can add a source object from the connection to a data flow to integrate and transform your data.

Prerequisites: Communication Arrangement is created for the OData Service. if you don’t know how to create it. Please refer the section – Create and Expose ABAP OData Web API Service.


  1. In SAP Datasphere , Go-to Connections->Create Connection and Select Generic OData->Configure Connection Properties->Provide Connection Information.

  2. Validate the connection, Select the above local connection, and click on button Validate.

  3. Its ready! You can create the Graphical View, SQL View using source object as OData Entity i.e. Remote Tables or the Data Flow. Refer below example, Travel Entity is used in Graphical View as Remote Table.

2.SAP ABAP(Protocol: WebSocket RFC): Only supported for S/4HANA Cloud, As of Today.
In SAP BTP ABAP Cloud Environment (Steampunk) ABAP pipeline engine is not included.

Create and Expose ABAP OData Web API Service.


  1. Eclipse IDE with ABAP Development Tools Installed.

  2. Access to SAP Cloud System with the developer role.

  3. Created ABAP Cloud Project and connected to SAP BTP ABAP Environment or SAP S4/HANA Cloud ABAP Environment.

  4. ABAP RAP Business Object – CDS Basic View. example: Z_B_TRAVELTP

  5. Access to create the Communication Arrangement using Fiori Launchpad App for SAP BTP, ABAP environment.

Create CDS projection (consumption) View – Top most layer of a CDS data model and purpose is to provide all required fields,semantics for the business use case.
@EndUserText.label: 'Projection View for ZRAP100_R_TRAVELTP'
@ObjectModel.semanticKey: [ 'TravelID' ]
define root view entity Z_C_TRAVELDATA
provider contract transactional_query
as projection on Z_B_TRAVELTP
key TravelID,

Requirement is TO expose the OData Web Service, hence first we must create the Service Definition and Service Binding. Ok wait! What is it?

Service Definition (Business Service Definition): It describes which CDS entities (projection views) of a business data model are to be exposed as part of new service to be defined.Create A New ABAP Repository Object->Service Definition.
@EndUserText.label: 'Travel Service Definition'
define service Z_SD_TRAVELTP {
expose Z_C_TRAVELDATA as Travel;

Service Binding (Business Service Binding): It binds a service definition to a client-server communication protocol such as OData, SQL, InA. In this example binding type is OData V2 – Web API.

Test the OData Service, Click on service URL hyperlink. It will open an internet browser with URL …/ Z_SB_TRAVELTP /?sap-client=100. To test with the data from Travel entity, just update the URL with query…/ Z_SB_TRAVELTP/Travel.

Welldone, You have created a OData Service that can be consumed.

Create the Communication Scenario: It allows communication between systems, example between SAP S4/HANA Cloud and SAP Datasphere. It consists of inbound, outbound services and supported authentication methods. Communication arrangement is created for specific Communication Scenario. SAP has also released specific standard communication scenarios, which are managed by SAP, where customer can create and maintain a communication arrangement for example SAP_COM_0722 reading metadata of CDS views.
Create A New ABAP Repository Object->Communication Scenario. Go-to Inbound Tab and Add the inbound service id for the service binding Z_SB_TRAVELTP. Last step, Publish Locally.

Create the Communication Arrangement using Fiori Launchpad App: It is a runtime description of a specific communication scenario. It describes which communication systems communicate with each other in the scenario, and how they communicate like OData, WSRFC (Web Socket RFC). This step requires Communication User and Communication System. If the scenario exposes inbound services, the communication user is granted the authorizations that have been specified for the communication scenario to execute the services (OData: Z_SB_TRAVELTP). Please refer tutorial.


Using Generic OData connection type data from BTP ABAP Environment (Steampunk) is available to use as remote table or in data flow process. As per SAP Datasphere future roadmap, OData custom query parameter,navigation properties will be supported in data flows, this will enable to filter and limit the data from the source and derive an association between two entities using navigation properties.






1 Comment