Back to blogs
How to Expose an Analytical Query from SAP S/4HANA Public Cloud to SAP Analytics Cloud
SAP S/4HANA Public CloudSAP Analytics CloudSACAnalytical QueryDeveloper ExtensibilityCDSSAP BTP

How to Expose an Analytical Query from SAP S/4HANA Public Cloud to SAP Analytics Cloud

Learn how to create and expose an Analytical Query CDS View using Developer Extensibility in SAP S/4HANA Public Cloud and consume it in SAP Analytics Cloud (SAC), step by step.

· 7 min read

Introduction

In this post, we'll walk through how to expose an Analytical Query — created using Developer Extensibility in SAP S/4HANA Public Cloud — so that it becomes available in SAP Analytics Cloud (SAC) as a Live Data Model.

This requires a few setup steps across Eclipse (ADT), the SAP Fiori Launchpad, and the PRD system. By the end, your Analytical Query will be accessible directly in the SAC Modeler.


The Starting Point

We begin with an Analytical Query CDS view that has already been created in Developer Extensibility. This is the view we'll be working with throughout this guide.

Analytical Query CDS view in Eclipse

If you navigate to SAC right now and try to create a Live Data Model, searching for this CDS view will return no results.

SAC Live Data Model connection screen

Search returns no results for the CDS view

This is expected — the CDS view hasn't been exposed as an InA (Information Access) service yet. To make it visible in SAC, we need to create a Service Definition and a Service Binding using the InA protocol.


Step 1: Create a Service Definition

In Eclipse (ADT), navigate to your package and create a new Service Definition.

Creating a new Service Definition

Service Definition with provider contract ina keyword

Completed Service Definition code

The structure is similar to how you'd expose a CDS view for OData or Fiori Reports, with one key addition: include the keyword provider contract ina in the definition. This tells the system the service is intended for analytical (Information Access) consumption. Then activate the service definition.

Activating the Service Definition


Step 2: Create the Service Binding

Right-click on the newly created Service Definition and select New Service Binding.

New Service Binding option in context menu

Under Binding Type, select InA - UI. This binding type enables the service to be consumed by SAC through the Information Access protocol.

Selecting InA - UI as the binding type

Activate the Service Binding.

Activating the Service Binding

Once activation is complete, refresh your package. You'll notice a new InA Service has been auto-generated. This is the service that SAC will use to connect to the backend.

Auto-generated InA Service in the package


Step 3: Create an IAM App

To control authorization for the exposed service, we need to create an IAM App and link it to a Business Catalog.

Right-click on your package and select New → ABAP Repository Object.

New ABAP Repository Object option

Search for IAM App and select it.

Searching for IAM App in repository objects

In the Application Type dropdown, select External App. This type is used for applications consumed outside the S/4HANA Fiori Launchpad — in our case, SAC.

Selecting External App as the application type

Here's what the IAM App editor looks like once created.

IAM App editor overview

Navigate to the Services tab on the bottom-left of the IAM App editor.

Services tab in the IAM App editor

Click Add Service.

Add Service button

Set the Service Type to (Information Access) - UI and enter the name of the Service Binding created in Step 2. This links the IAM App to the InA service.

Configuring the InA service type and binding name


Step 4: Create and Assign a Business Catalog

Go back to the Overview tab and click Create a new Business Catalog and assign the App to it.

Create Business Catalog option in the Overview tab

Fill in the required details — ID, Name, and Description.

Business Catalog details form

Once ready, publish the IAM App.

Publishing the IAM App

Publishing the IAM App automatically publishes the Business Catalog and generates the Business Catalog IAM App Assignment.

Published Business Catalog

Below is the auto-generated Business Catalog IAM App Assignment object.

Business Catalog IAM App Assignment object

This completes all setup in Eclipse. Release the Transport Request and move it to PRD.

Important: Ensure all Developer Extensibility objects are fully released before transporting. The transport must include the CDS view, Service Definition, Service Binding, IAM App, and Business Catalog.


Step 5: Register the Query in the View Browser

The following steps are performed on the Customizing tenant.

Navigate to the View Browser app. Search for your Analytical Query CDS view — it will appear with a Data Category: Query label, confirming it is recognized as an Analytical Query.

Select the view and click Create Application.

Fill in the Application Name and Subtitle.

Entering the Application Name and Subtitle

Click on the Application ID that was just generated.

Generated Application ID link

Click View in Catalog.

View in Catalog button

Click Add.

Add button in the Catalog view

Search for the catalog SAP_CORE_BC_EXT_AQA_PC, select it, and press OK. This is the standard SAP-delivered catalog for Analytical Query apps created via extensibility.

Searching for and selecting the SAP_CORE_BC_EXT_AQA_PC catalog

Click Select All and press Publish.

Selecting all entries and publishing


Step 6: Create a KPI / Report

Navigate to the Manage KPIs and Reports app.

Manage KPIs and Reports app

Fill in the data source and other required details, then click Save and Publish.

KPI and Report configuration form

A catalog assignment dialog similar to the previous step will open. Click Add.

Add button in the Report catalog dialog

Search for and select the same catalog: SAP_CORE_BC_EXT_AQA_PC.

Selecting SAP_CORE_BC_EXT_AQA_PC for the report

Select all entries and click Publish.

Selecting all and publishing the report

Report publish confirmation

Published report overview

Final state after publishing all objects

Note: Once all Customizing tenant steps are complete, transport the generated objects to PRD alongside the Developer Extensibility objects. Transport the Developer Extensibility objects first.


Step 7: Assign the Business Catalog to a Business Role in PRD

With all objects now in the Production system, navigate to the Maintain Business Roles app in PRD.

You can create a new Business Role or use an existing one. In this example, we'll use an existing role.

Maintain Business Roles app in PRD

Navigate to the Business Catalogs tab within the role.

Business Catalogs tab inside the Business Role

Click Edit, then Add, and search for the Business Catalog created earlier in Eclipse. Select it and save the changes.

Adding the Business Catalog to the Business Role


Result

With the Business Catalog assigned to the Business Role, users with that role can now find and use the Analytical Query as a Live Data Model in SAP Analytics Cloud.

Analytical Query now visible in SAC Modeler


Wrapping Up

Here's a recap of everything we covered:

  1. Created a Service Definition with provider contract ina to expose the Analytical Query.
  2. Created a Service Binding using the InA - UI binding type, generating an InA Service automatically.
  3. Created an IAM App of type External App and linked it to the InA Service.
  4. Created a Business Catalog and published the IAM App.
  5. Released and transported all objects to PRD.
  6. Registered the query in the View Browser and assigned it to the SAP_CORE_BC_EXT_AQA_PC catalog.
  7. Created a KPI / Report in Manage KPIs and Reports and published it to the same catalog.
  8. Assigned the Business Catalog to a Business Role in PRD.

Once all these steps are complete, the Analytical Query is fully accessible in the SAC Modeler and ready to be used in stories and dashboards.