It's time for another new release of SAP S/4HANA Cloud and therefore also for another update on the Custom CDS Views app. As well as in the last release, we worked a lot more under the hood than in the cockpit, but there are still news worth sharing. Let's step right into it:
New Header Layout
The most obvious change that you will notice, when you open the Custom CDS Views app for the first time after the upgrade is probably that we changed the layout. All the general information that used to be in the data sources tab as well as the representative key now moved to the header so that it can be accessed independently from the tab you are just working on. Also, it can be collapsed to save more space when you need it. The generation status in contrary moved up one level so that is always visible. No more doubts if check or publishing is still running, if it failed or if it was started at all.
Data Source Selection
When selecting data sources, there is now an additional field "Modelling Data Source". The field indicates that this data source is explicitly suitable to be used as a data source to add fields from it. It is derived from the according supported capability of the SAP data source. The
supported capabilities* are now available in almost all VDM data sources. They are a list of purposes for which a data source is suitable.
Parameters
You may have noticed that in the new app, we do not automatically copy the parameters of an associated data source to the custom CDS data source anymore. The reason was that they can now be bound using the parameter mapping and do not necessarily need to be own parameters again. However, there are still use-cases where you may want to take over the parameters from an associated data source. E.g., when you build an external API. Therefore, you can now take over parameters again. This can be achieved in the parameter mapping dialog by selecting a mapping to parameter and then using the create button. If you create a parameter in this way, it can also be used in the external API scenario again.
Calculated Fields
If you use a field from an associated data source with parameters in a calculation, you always have to specify the parameter mapping explicitly in the formula. As of 2102 we detect this when you either use the autocomplete function or the form-based approach to include fields. In such a case, an empty binding is generated that can be completed without having to know the exact syntax.
Compatibility Checks (On Condition, Filters, ...)
When you map two fields against each other e.g., in association conditions or in the filter, the compatibility of these fields is now already checked during input. This check avoids broken mappings and unwanted implicit conversions.
Behind the scenes
We started already in the last release to improve the structure of the custom CDS views to perform better within challenging situations. In 2102, we extended this behavior and are now also converting existing views to the new structure while publishing them when such a conversion is possible. Again, this happens behind the scenes and you cannot influence it. I just wanted to mention it anyhow. In case you experience exceptions with one of your custom view (or stack of views) that is quite complex, it might be worth trying to re-publish it and see if that improves the situation.
Conclusion & Outlook
With the 2102 release we focused again on helping you to create stable views in an easier way. In the next releases, we will continue to make sure that as much existing views as possible will be converted to the new structure. We will also continue making it easier to identify suitable data sources.
Remember, that all the improvements only happen in the new app. So, whenever you need to change your views, I strongly recommend to do this in the new app! With 2102 you can still change existing views in the old app. For new customers, we will discontinue the old app from 2105 on.
I will keep you posted with updates on the new app and topics around it. Until then, thanks for reading - stay safe & healthy!
* If the link is not working use Extend and Integrate Your SAP S/4HANA Cloud -> Extensibility -> Virtual Data Model and CDS Views in SAP S/4HANA Cloud -> Supported Capabilities for CDS Views