Skip to Content

Best Practices For ABAP CDS VDM development and front-end development

Hello,

I would like to know if, by your experience , you think it would be better to have one virtual data model (@analytics.datacategory: #CUBE) for just a single query/consumption view (created through Bex Query Designer or an ABAP CDS view), or more queries for a single data model? What would you think it would be the tradeoffs in development and mainteinance exploiting first approach rather than second one? By my experience with BW I saw more often one single cube for multiple queries, instead in S4hana delivered ABAP CDS view I saw always a ratio 1:1 between ABAP CDS "cube" and related consumption view.

Another topic is about which tool to prefer to develop front end queries: BeX Query Designer (I experienced some limitations when exposed as Odata in Fiori) or ABAP CDS view of type query (more integrated with Fiori but some BeX Query variables functionalities covered may not be covered by specific ABAP CDS annotations)?

Thanks for answering!

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    avatar image
    Former Member
    Oct 05, 2017 at 07:14 AM

    Hi! I follow next best-practice recommendation :

    The key for good performance of CDS views is to have the right CDS views for the different use cases with the right granularity of reuse. Carefully differentiate which CDS view can be consumed in which situation. Provide “streamlined” views instead of the one and only view for all purposes. From the provider point of view this means that the CDS view has to provide a “quality of service” which reflects the KPIs that a CDS view will fulfill.

    Tradeoffs in mainteinance generally are less than spending resourses to fix performance issues in more general data model. CDS is virtual model, it doesn't contain data, so it requires less effort to maintain. But of course, the truth is somewhere in the middle.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 05, 2017 at 07:33 AM
    Hi! Which tool to prefer to develop front end queries? Again, it depends :)I tried to start with "Run simple" paradigm and ABAP CDS view of type query. But if I face with something which I consider as CDS limitations (probably it may be my limitation as developer ;-)) , e.g. filtering over hierarchy node, or queries with two structures and cell definitions, or some integration topics (like combining HANA calculation views and data in BW-models) I prefer infoproviders which supported by BW Query Designer in BWMT.
    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      BeX Query Designer is not recommended tool if version of your BW system supports BWMT BW Query Designer.

      You can create OpenODS View on top of datasource of ODP-CDS source system bsaed on CDS-view. So you can use CDS-view indirectly as infoprovider for BW Query.

  • Oct 05, 2017 at 07:47 AM

    "...my experience with BW I saw more often one single cube for multiple queries, instead in S4hana delivered ABAP CDS view I saw always a ratio 1:1 between ABAP CDS "cube" and related consumption view."

    So do I, but I think it's not so bad, because it isn't lead to multiplication of data (like in BW). You should reuse dimensions between analytical cubes, logic of fact view could be difference.

    Also ability to copy past CDS code very fast lead to appearance of temptation not to change existing cube and create a new one instead.

    I hope that with time differences between BWMT Query and ABAP CDS view query will be minimized. Even now variables functionality almost look like BW variables, even some derivation could be realized. Hope that in this area will also be updates, e.i. increase number of predefind system variables could be usefull.

    Br, Maksim

    Add comment
    10|10000 characters needed characters exceeded

    • Thanks for answering.

      I also would privilege reusability but in our case you can imagine a common Sales Cube (CDS View) with N kpi. Not all of these KPI are relevant for all queries / consumption views on top of this view and thus I am worried that performances of queries / consumption view not using one specific KPI could be affected by compiling time of that KPI.

      Thanks