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 Get Accurate Pricing in SD for Customer and Material?

    How to Get Accurate Pricing in SD for Customer and Material? At the start, you could feel for what reason is the need of this point. It is a particularly…

    How to update custom field of PRPS table

    How to update custom field of PRPS table Or on the other hand How to refresh custom fields of CJ20N t-code? At the start, you could feel for what reason…

    Leave a Reply

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

    You Missed

    How to Get Accurate Pricing in SD for Customer and Material?

    • By Varad
    • April 18, 2025
    • 34 views
    How to Get Accurate Pricing in SD for Customer and Material?

    How to update custom field of PRPS table

    • By Varad
    • April 17, 2025
    • 36 views
    How to update custom field of PRPS table

    BAPI_ALM_ORDER_MAINTAIN terminates with the runtime error MESSAGE_TYPE_X

    • By Varad
    • April 16, 2025
    • 47 views
    BAPI_ALM_ORDER_MAINTAIN terminates with the runtime error MESSAGE_TYPE_X

    Sales Office Data … Can you change it even if config does not allow?

    • By Varad
    • April 15, 2025
    • 35 views
    Sales Office Data … Can you change it even if config does not allow?

    PO re-price issue in BAPI_PO_CHANGE

    • By Varad
    • April 14, 2025
    • 43 views
    PO re-price issue in BAPI_PO_CHANGE

    Efficient way to retrieve Open Sales Order using FM SD_SELECT_SALES_DOCUMENTS

    • By Varad
    • April 13, 2025
    • 45 views
    Efficient way to retrieve Open Sales Order using FM SD_SELECT_SALES_DOCUMENTS