Skip to Content
Product Information
Author's profile photo Andreas Riehl

Custom CDS Views – What’s New in 2011

The leaves turn colourful, the wine harvest is almost over here in Germany, and another release of the Custom CDS Views app is about to arrive together with SAP S/4HANA Cloud 2011. Again a release, where the major changes in our app happened behind the scenes. Still, we did at least some improvements that are visible to the user with the naked eye. Let’s talk about these first, before we take a look behind the curtain.

New Features

Although it’s little, let’s start with the last gap that we closed between the old Custom CDS version and the new version, we introduced in 2002: You are now able to see when you used fields or data sources that were deprecated by SAP and you can now also see the successors if they are available which makes reworking those views more convenient.

It sometimes takes a while, but we are trying to automate things, where possible. With the pre-selection of the representative key, we added another one of these pain-relievers. When you build a custom dimension view for analytics, this view always needs to have a representative key which can be hard to choose as you have to examine your source views for that. The new app will now pick the representative key for you, if it can be derived from the primary data source, which often is the case.

When you have to manually add an association to your custom CDS view, you usually strive for a so called “to one” association in order to avoid multiplying your result set.* You usually do this by mapping all the key fields of your target data source in the on condition. With this release, we introduced a button, that does at least add all these key fields to the join condition for you. Okay, this may be just a small step – but I like that tiny new button and maybe we can add some extra “intelligence” to it in the next step.

We also introduced more spot checks, especially for the analytical scenarios. Also our input validation became more accurate now. I don’t want to mention all of the checks here, but they will help you build your content quicker as you will become aware of potential modelling flaws in an earlier stage. As we do have more checks now, we also tried making it easier to identify to which element an error or warning belongs to and introduced an according marker in the table on the elements tab.

In rare cases it happened, that an element property was effective but you could neither see nor remove it in the custom CDS views app. This could have lead to an unexpected behaviour of the resulting view. Since 2011 we make sure that “what you see is what you get”. Whenever an element property (a.k.a annotation) is empty now, it will be taken care that it is not effective (neither directly nor inherited from an underlying view).**

In case of the text view property where a text view is specified that is used to refer to translated labels and descriptions for the selected field, you will now be able to see which of the available options are specified as text views and are therefore likely to be more relevant.

Behind the Scenes

Sometimes, we are asked for best practices on how to build more reliable views, how to model a view or even a stack of views to achieve the best performance. In the meantime, there are also some blogs available that deal with that topic.***

One thing, that I want to point out here, although it is not (yet) visible in the Custom CDS views app, is the relatively new annotation supported capabilities. The annotation is set to SAP VDM views and documents for which purpose(s) a view was built. A view can have multiple capabilities and the most important one for CDS view building is called CDS modelling data source. It describes, that a view is intended to be used as a data source for modelling CDS views.

@ObjectModel.supportedCapabilities: #CDS_MODELING_DATA_SOURCE

In the meantime, the majority of VDM views do have this annotation set which makes identifying the right data sources a lot easier. As this annotation is not yet available in the Custom CDS Views app, you can use the View Browser app to check your source views which anyhow is the tool of choice when it comes to research on data sources.

The second thing is that we analysed the performance of lots of custom CDS views itself and improved the structure in order to optimise their performance within more challenging situations like e.g. their usage in deep view stacks or when using very complex data sources. Whenever you use the new custom CDS views app now to build new views from scratch, the improved structure will be applied. This happens behind the scenes right now and you cannot influence it. I wanted to bring it up anyhow, so that you are aware of it.

Conclusion & Outlook

To sum it up, using the new app to build new views is a good thing and there is no reason why you would still want to do it with the old app. The new app has (in terms of modelling) all the features of the old app (and even more), performs better, builds more versatile views and is more usable. We therefore decided to disable building new views with the old app. The old app will still stay available and of course you will also be able to edit your existing views with it.

In the next releases we will continue to focus on the view building experience. The supported capabilities will move in the app and we will try to bring the new optimised view structure into your existing views as well wherever this is possible.

Stay tuned for the next update at the end of January (I’ll try to be in time). Until then, stay safe and healthy! Thanks for reading.

 

 

* See e.g. my blog post on working with multiple data sources, for more details on why or check Saschas blog post on analysing duplicates to see how to identify modelling errors.

** Technically it is deactivated by locally stopping the annotation inheritance

*** Apart from the help on supported capabilities, you can check the objectModel help and check the annotations sizeCategory, dataClass and serviceQuality. You will be able to see those in the view browser again when you browse the VDM Views there. There is a short and comprehensive blog post available as well.

Assigned Tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Steffen Mallwitz
      Steffen Mallwitz

      This blog post is tagged with "SAP S/4HANA" while previous posts were tagged "SAP S/4HANA Cloud". Anyway, I would be interested, are there any news for SAP S/4HANA 2020 on-premise?

      Author's profile photo Andreas Riehl
      Andreas Riehl
      Blog Post Author

      Sorry for the confusion. I removed the SAP S/4HANA tag for now. The 2011 version of our app is right now only available in SAP S/4HANA Cloud. In SAP S/4HANA 2020, there were also some updates to the Custom CDS Views app. As the on premise version is timed differently, the delta consists of the cloud versions 2002, 2005 and 2008.

      Author's profile photo Jimmy Belmans
      Jimmy Belmans

      Hi Andreas

      Can we now use the standard sap views that are not released as source? This is our biggest frustration at the moment and basically prevents us from using the custom cds view.

      KR

      Author's profile photo Andreas Riehl
      Andreas Riehl
      Blog Post Author

      Hi Jimmy,

      You can still use only C1 released VDM views as data sources. Sorry, but the reason is that the VDM views that can be used for custom modelling have to commit stability without making incompatible changes after the release. Otherwise your custom views could break after every change of the VDM views.

      If you need to use a VDM view, that is not released yet, you can spot it in the view browser app. It will reveal the component of that view and you can open a ticket with the colleagues to ask them if the view can either be released or if they can offer an alternative that you can use instead.

      Best Regards,
      Andreas

      Author's profile photo Matthias Hau
      Matthias Hau

      Hi Andreas,

      I have migrated some CDS views that were originally created with the ‘old CDS View App (to be deprecated)’ and that ran there without any problems, to the new CDS View App. The migrations were successful: I was able to display the data from the CDS Views as a preview in the new app.

      However, I am now having problems with the CDS Views in the new app when I want to edit the CDS Views: because when I do so, error messages pop up that I had not gotten in the old app. (e.g. “Publish adapts view to read current data only. Check message for details.”)

      Therefore I wanted to make the necessary adjustments to the CDS views in the old app, but realized that they obviously can no longer be edited in the old app. (Unfortunately I read too late, that the migration of CDS views in one-way; see your "What's New in 2005" blog)

      My questions:

      • Is there any chance to edit these migrated CDS views in the old app?
      • Where can I find any guidance on typical adjustments that need to be made when editing migrated CDS views in the new app? What are typical reasons why migrated CDS views cannot be edited in the new app?

      Kind regards.

      Matthias

      Author's profile photo Andreas Riehl
      Andreas Riehl
      Blog Post Author

      Hi Matthias,

      It is correct that views can only be edited in the new app once they have been migrated, but you can do all the necessary adjustments in the new app as well. There should be no need any more to go through the old app.

      The hint you mentioned, that the view will be adapted to read current data only is nothing that needs adjustments from your end. It is just to inform you that the view will be adjusted to reflect the latest rules & guidelines.

      However there might be other things that you need to correct in your views before being able to publish them again after a migration. Unfortunately, we do not have a collection of typical adaptions that need to be done, but especially in analytics cases, the checks were improved (and tightened) from analytics side. If applicable, the checks itself will then tell you what needs to be adapted in your view. If you do have such a case and the check message is not understandable, you can of course also open a ticket so we can help and in parallel improve our messages as well.

      There should be no cases where you cannot edit a view at all in the new app after migration but if you migrate a stack of views, it might be the case that you have to adapt them one by one (due to compatibility reasons).

      Best Regards,
      Andreas