CDS – 22: If the CDS View Has Aggregate Functions, How to Expand It

The Append-structure concept is used in SE11 to add additional fields to the preexisting table structure. In a same vein, let’s say a CDS-View shows 8 fields from a table or join of multiple tables, and we would like to show 3 more fields from the same data. In that scenario, we can extend the CDS view to show all 11 fields.

But in real projects, every thing is not happy path. You will always find some exceptions which no one teaches you in the training. You learn it the hard way.

If your base CDS-view contains Aggregate-functions like: SUM(), MIN(), MAX(), then during view-extension, it gives below error and you’ll not be able to activate the Extended-View.

In this tutorial, we will discuss how to resolve this error and make your extended-view work. First, let’s design our base-view and extended view.

Base-view ‘ZCDS_FLIGHT’

I have utilized the SFLIGHT table to create a rudimentary ZCDS_FLIGHT CDS-view. Using the aggregate-function SUM(), we are including the following information: the aircraft type (planetype) and the total amount of current bookings (paymentsum) for that specific aircraft type. In this case, the view-name that will be generated in the DDIC and HANA databases is ZCDS_FLIGHT_VIEW. Let’s now expand this CDS-View.

You must choose the Extend-view option when creating an extension in order to construct a CDS extension. Use the screenshot as a guide.

You will receive this extended-view skeleton.

Let’s adjust a few things to meet our needs:

A new field called SEATSOCC (Occupied seats in Economy class) has been added. Since group by clause is used in the base view, it is required here. An error stating that “Parent view contains aggregate function and extension is not possible” appears when we try to activate this extended view. In order to fix this mistake, we must add the annotation ApapCatalog.viewEnhancementCategory to the Parent-View[]. The method for extending the view with CDS view extensions is indicated in this annotation. This array can include the following 4 enums: #GROUP_BY, #NONE, #PROJECTION_LIST, and #UNION.

The extension of fields that have already been chosen is made possible by #PROJECTION_LIST. Aggregated or non-aggregated components may be added to a SELECT list using an aggregated expression and the related modifications of the GROUP-BY clause are allowed with the aid of #GROUP_BY. For our scenario, these two enums are adequate.

The UNION clause can be used with #UNION, and further extensions are prohibited with enum #NONE.

The parent CDS-view “ZCDS_FLIGHT” will appear as follows upon modification:

Changed Parent-View

That’s all; both views are now operational after being activated. This is the finished product:

We are just getting started. We shall continue in order to gain a deeper comprehension of CDS Performance Tuning. Please keep watching.


you may be interested in this blog here :-

How to find BAdIs ?

Oracle database structure diagram

Boosting Customer Service with Salesforce and SharePoint Integration

  • Related Posts

    How to Compel SAP Users to Go To Particular Transactions as per Roles after Log On?

    Execute a pre-decided Exchange Code after Client Logs in. How to Compel SAP Users to Go To Particular Transactions as per Roles after Log On? Your client won’t generally come…

    Handle the Handle Classes correctly

    Let’s delve into the Handle the Handle Classes correctly. Gone are the days where we had the freedom to have import boundaries as tables, designs or single fields. SAP has…

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    You Missed

    How to Compel SAP Users to Go To Particular Transactions as per Roles after Log On?

    • By Varad
    • March 31, 2025
    • 10 views
    How to Compel SAP Users to Go To Particular Transactions as per Roles after Log On?

    Handle the Handle Classes correctly

    • By Varad
    • March 30, 2025
    • 17 views
    Handle the Handle Classes correctly

    Steps to add custom Tab in standard MIRO item screen using BADI MRM_ITEM_CUSTFIELDS

    • By Varad
    • March 29, 2025
    • 25 views
    Steps to add custom Tab in standard MIRO item screen using BADI MRM_ITEM_CUSTFIELDS

    Add custom fields in standard MIRO header screen through BADI_FDCB_SUBBAS01

    • By Varad
    • March 28, 2025
    • 30 views
    Add custom fields in standard MIRO header screen through BADI_FDCB_SUBBAS01

    Steps to stop debugger at ELM BADI CRM_MKTLIST_BADI from Web UI Screen

    • By Varad
    • March 27, 2025
    • 40 views
    Steps to stop debugger at ELM BADI CRM_MKTLIST_BADI from Web UI Screen

    Steps to stop debugger at ELM BADI CRM_MKTLIST_BADI from Web UI Screen

    • By Varad
    • March 26, 2025
    • 34 views
    Steps to stop debugger at ELM BADI CRM_MKTLIST_BADI from Web UI Screen