CDS - One Concept, Two Flavors - SAP Blogs
CDS - One Concept, Two Flavors - SAP Blogs
CDS - One Concept, Two Flavors - SAP Blogs
Products
Products Industries
Industries Support
Support Training
Training Community
Community Developer
Developer Partner
Partner
About
About
Ask a Question Write a Blog Post Login
Horst Keller
more by this author
ABAP Development
SAP HANA | abap | cds | sap hana
share
0 share tweet share
Follow
If you search the web or SCN for CDS, SAP’s Core Data Services, you can
easily find statements like “Core data services (CDS) is an infrastructure for
defining and consuming semantically rich data models in SAP HANA.”. On the
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 1/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
other hand, there also seems to be something called ABAP CDS in ABAP
Dictionary. How are they connected? Let’s have a look from the ABAP (and
even ABAP CDS) docu writer’s worm’s eye view.
ABAP Dictionary
HANA CDS
With the dawn of SAP HANA and the possiblity to develop applications directly
on the database, not using an application server any more, the need arised, to
create a meta model repository directly on the database. As with the ABAP
Dictionary on the application server, there should be more in the box for you
than using native SQL’s CREATE TABLE or CREATE VIEW. Especially
regarding the need of enriching pure technical definitions wih semantics. And
that’s one of the main reasons for SAP’s Core Data Services.
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 2/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
ABAP CDS
From the beginning, CDS was not designed for HANA alone. Also the ABAP
application server should be able to benefit from the enhanced capabilities
that are offered by the DDL of CDS compared to the form based ABAP
Dictionary tool. Since the ABAP Dictionary with its capabilty of defining tables,
views and data types was already there, the natural way of introducing CDS
on the ABAP application server was to add it to the ABAP Dictionary. An ADT
based source code editor allows you to create DDL sources. On activation,
the CDS entities defined in such a DDL source become full citizen ABAP
Dictionary objects. They work as ABAP types that can be named after a TYPE
addition and they can be accessed in Open SQL. As a first step, the advanced
view building capabilities of CDS have been implemented in ABAP CDS. With
many, many tables already defined in the ABAP Dictionary, the DEFINE VIEW
statement of ABAP CDS makes the full wealth of the CDS universe readily
available to existing ABAP data models. You can either define sophisticated
new views or simply wrap an existing table in a CDS view in order to enrich it
semantically. For example, ABAP CDS offers a new authorization concept
based on roles defined wih DEFINE ROLE (partly released wth 7.40, SP10
and fully released with ABAP 7.50) in a DCL source code. In order to let an
existing table participate in the new authorization concept, you can simply
create a CDS view for that table that is connected to a role. Other examples
are advanced joining of tables with associations or using specific annotations
in order to connect existing tables to new technologies like OData or UI5.
Even in ABAP itself, CDS views are handled in an advanced way compared to
classical dictionary objects – automatic client handling is an example. So, with
introducing CDS views in the ABAP Dictionary one big step is already taken.
Capabilities to create database tables, database functions (available with
ABAP 7.50), and data types in ABAP CDS might follow. This would ultimately
allow you to create data models in the ABAP Dictionary from scratch using
ABAP CDS only.
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 3/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
The implementation of HANA CDS and ABAP CDS is ongoing and with
different priorities.That’s why a blog like New Core Data Services Features in
SAP HANA 1.0 SPS 10 is mainly interesting for developers working directly
on SAP HANA. ABAP developers have to look for blogs like news in ABAP
CDS.
While HANA CDS has to function on SAP HANA only, ABAP CDS is open.
Consequently there are some restrictions for ABAP CDS that do not exist for
HANA CDS (in the same way as Open SQL is more restricted than Native
SQL). A good example are built-in functions. A built-in function like
CURRENCY_CONVERSION offered in ABAP CDS must be available on any
database platform and – very important – must behave in the same way on all
platforms. Same for expressions like arithmetic expressions, aggregates or the
CAST expression. Before releasing such a functionality in ABAP CDS, all
platforms have to participate. Quiet a task! And thats why ABAP CDS cannot
offer all SQL Functions of SAP HANA yet (but working on it …). On the other
hand,it is open! And there are also ABAP specialties like client handling or
table buffering that are not available in HANA CDS, but supported in ABAP
CDS.
Conclusion
SAP’s Core Data Services provide a single concept for an infrastructure for
data modelling that is implemented in SAP HANA as well as on the ABAP
application server. The design principles are the same for both
implementations but due to differences in the respective environments, there
are naturally some differences between these flavors.
Note
Alert Moderator
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 4/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
64 Comments
You must be Logged on to comment or reply to a post.
Abdul Hakim
Hi Horst, Another great blog from you. Thanks for sharing it with the community.
Thanks
Hakim
Florian Henninger
Hi Horst,
well written and thanks for pointing out the difference again.
~Florian
Uwe Fetzer
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 5/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Define role: in the documentation we still can read “This functionality is not
yet released and must not be used”
The DCL syntax DEFINE ROLE was created and delivered with 7.40,
SP08. It allows you to create a role for CDS entity (view). In a first go,only
mapping roles are supported (annotation MappingRole must be true), that
binds the CDS entity to classical authorization objects.
But defining roles is not enough. You also need a framework that handles
the role. The idea is, that the ABAP programmer does not have to use
AUTHORITY-CHECK any more, but that he uses a framework that implictly
checks the authorization.
In an upcoming release, it is planned that Open SQL itself will check the
authorizations. The planned concept is (done with 7.50): When a CDS view
connected to a CDS role is accessed with Open SQL, there will be implicit filter
conditions generated internally and the SELECT statement will return only
those data for which the current user is authorized. Then, the restriction can be
removed from the documentation.
Former Member
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 6/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Former Member
Hi Horst,
1.If we use ABAP on HANA DB, do we need to use ABAP CDS or HANA CDS. which is
preferred?
2.also if we use ABAP on HANA DB, HANA CDS views will not be visible in ABAP
Dictionary(SE11) like CDS database view. Am i correct?
Thanks
Sangeetha
Hi Sangeetha,
1. If you use ABAP on HANA DB of course you can also work directly on
the DB and also use HANA CDS there. But then the CDS objects created
are not managed by the ABAP Dictionary meaning you cannot access them
directly with Open SQL and they are not types in the ABAP type system.
2. See above.
Best
Horst
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 7/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Former Member
Thanks Horst
Former Member
Servus Horst, can you please check the links in your blog posting?
TIA Rudi
Uwe Fetzer
Uwe Fetzer
Former Member
THANKS!
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 8/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Jacques Nomssi
Hello Horst,
SAP NetWeaver 7.5 introduces an ABAP CDS table functions concept that seems HANA
only to me. How will this feature work with any other DB ?
best regards,
JNN
The new CDS Table Functions are implemented in AMDP classes, and
therefore, yes, HANA only. Details later ….
Horst
(waiting eagerly for the official announcement of 7.50 in order to start my blog
series)
Peter Inotai
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 9/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Me too
Sunil Sankar
Hi Herr Keller,
I have built an CDS view with 3 tables – T1, T2, T3. T1 and T2 have 1-1
mapping while T3 has multiple entries. I tried all options to get last(one)
row from T3 but couldn’t able to achieve it. Getting multiple rows from the
query.
Former Member
Hello Horst,
really great going through your blogs on ABAP CDS concept.I have one query. recently
we got request from one of our customers to move all BW operational reports on
CDS..They want us to use ABAP CDS but there are some questions why cant they use
HANA CDS…i saw some differences between 2 CDS implementations above but not
able to get exact answer on what CDS should be preferred…ABAP or HANA??
Thanks,
Mohit
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 10/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Hello,
Best
Horst
Former Member
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 11/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Former Member
Hi Horst,
Best Regards,
Shady
Hi,
https://blogs.sap.com/2018/04/03/abap-managed-
database-objects-and-how-to-access-them/
Best
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 12/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Horst
Marco Dahms
Hi Horst,
Best,
Marco
Hi,
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 13/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Best
Horst
Former Member
Thorsten Wuelpern
Hi Horst,
I’ve heard, that SAP itself is delivering more and more ABAP
CDS views instead of HANA calculation views in the area of
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 14/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
S4/Fin, but maybe this was SAP BW related. I’m not sure…
Best regards,
Thorsten
Former Member
Hi Horst,
How to view(identify) standard CDS views delivered by SAP ECC6 or S/4 etc..
Thank you
regards,
Rv
Hi,
From a technical point of view, you find all views in their packages in ADT
as you found classical views or database tables in SE11.
From a usage point of view, its the task of the components that deliver
reusable views as APIs to document and rollout these views.
Horst
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 15/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Former Member
Hi Horst,
Thank you, But we couldn’t find package ADT in our S/4 Finance system.
regards,
Rv
Former Member
Hi Horst,
Yes, I am exploring ADT from past one week. I can see all
packages and other folders (below snapshot) my issue is to
locate/differentiate a CDS view from normal view understand
CDS view will be shown as ‘DDL SQL View’ in SE11
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 16/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Thanks in advance
Hi,
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 17/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Horst
Former Member
Hi Horst,
regards,
Rv
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 18/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Former Member
Hello Raghuveer,
You can also view all the CDS views present in system using Report
VDM_METADATA. You will find all shipped CDS views as well here but i
think this report is present only in S/4 HANA systems. You can check.
Mohit
Former Member
Hi Mohit,
regards,
Rv
Former Member
Hello Raghuveer,
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 19/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Mohit
Former Member
Thanks Mohit.
Former Member
Suhas Saha
Hi Horst,
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 20/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Although they are corrected in 750. Is there any remote chance of translating these texts
for 740 documentation?
BR,
Suhas
Suhas Saha
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 21/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
???
different ways:
Suhas Saha
What is online
documentation,what is ABAP
Docu?
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 23/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Suhas Saha
online docu:
http://help.sap.com/abapdocu_740/e
n/abenabap.htm
Suhas Saha
Mauricio Cubillos
I don’t see any comment about how CDS will help simplify the lifecycle, by keeping
together ABAP and HANA artifacts.
Paul Abrahamson
Hi Horst,
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 24/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Since writing this blog, have you had any experience with modeling CDS Views on
ABAP 7.40 SP10 or later on a NON-HANA AnyDB scenario?
I ask because I’m wondering about the benefits of developers getting used to CDS
ahead of their eventual move to S/4HANA or ERP on HANA.
It may be some time before a customer moves to HANA under their ERP system, but
could they start to leverage the benefits of CDS, Annotations and the newer Annotation
based UI5 / Fiori Elements which can leverage the semantic metadata and annotations
from the CDS View exposed as an OData Business Entity?
Hi Paul,
with the exception of CDS table functions, that are connected to AMDP,
ABAP CDS is open (since 7.50 also views with parameters are supported
by all database platforms). With other words, everything that is described
in the ABAP CDS reference documentation (including ABAP annotations)
can be done independently from the underlying DB (except table
functions).
Another point are the SAP Annotations that are not provided as “ABAP
Annotations” for the ABAP runtime environment but as “Framework
Annotations” by frameworks as BOPF, SADL, BW, Analytics, … (see also
ABAP News for Release 7.50 – Annotations in ABAP CDS). For these, it
depends if they are connected to HANA or if they are platform independent
too. But as a “ABAP guy” I cannot answer this question. For that you have
to turn to the relevant frameworks and their documentation and rollout.
From “ABAP”, we deliver a landing page for all available framework
annotations, but what lies behind is the framework’s turn …
Best
Horst
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 25/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
PS: In the next version of the ABAP documentation (7.51), the difference
between ABAP Annotations and Framework Annotations and its
implications will be more clearly pronounced.
Former Member
Greetings Horst,
Thank you,
Bill
https://www.rheinwerk-verlag.de/core-data-
services-fur-abap_4487/
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 26/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Amisha parikh
I am using ABAP CDS view . We have SAP-ABAP 740 SP9 with MSSQL.
Mat.kunnr,
Mat.name1 as customer_name,
Mat.matter_id,
Mat.matter_name,
case covp.awtyp
when ‘CATS’ then ‘Time’
when ‘COBK’ then ‘Sost’
when ‘BKPF’ then ‘HCost’
when ‘VBRK’ then
case covp.blart
when ‘RV’ then ‘Time’
else
‘‘
end
else
‘‘
end as cost_type ,
sum(tab1.netvalue) as netwr
}where covp.stflg = ‘ ‘ and covp.stokz = ‘ ‘ and Mat.matter_id <> ‘ ‘
group by Mat.kunnr, Mat.matter_id, Mat.name1,Mat.matter_name
Former Member
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 27/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Hello Horst!
My idea is now the following: turn quickviews into CDS, turn CDS into ODATA, Turn
ODATA into SAPUI5.
Do you have an idea of how “migrating existing Quickviews into CDS” can be done the
easiest way?
THX
Ralf
Kathiravan Periyasamy
Hi Horst,
I am new to S/4 HANA and my question is very close to that of Mohit Chopra.
I am working in a development project where we have S/4 HANA 1610 as source and
BO as a front end tool. We have NO BW server.
I assume the following flow needs to be followed: S/4 HANA (Transaction tables) –>
CDS Views –> BO (WebI reports).
However, I am confused which CDS view needs to be used here. Either ABAP or HANA
CDS view?
My requirement is to create some Finance reports like Balance Sheet, P&L and some
MIS reports.
Please could you suggest me what CDS view needs to be used in my data flow so that I
can focus on that part more?
Thanks in advance!!!
Regards,
Kathiravan
kathirkevin@gmail.com
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 28/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Former Member
S/4 HANA uses embedded analytics, which uses CDS views with
annotations for transient providers. Please check the documents. It would
be better to use BO Design Studio or Lumira then WEBI.
Former Member
How can CDS view take the SAP Enhancement Framework into consideration? I’ve
always used BAPI so I can include SAP enhancements in my reports or updates to SAP.
Will there be a way to include checking for SAP enhancements in CDS views
implementing CRUD in future? Not only for the enhancements, we were told that
we can’t update SAP tables directly. Is CDS views only for custom developments?
Currently I’m working on S/4HANA embedded analytic where we use CDS view for the
transient provider for BO Design Studio. So only way right now I can use CDS is
through annotation for Trasient Providers. I would agree that CDS can be used for the
custom tables or HDB development. But for SAP S/4HANA or any SAP modules, CDS
view or VDM should have a validation process using BAPI or Business Object. Could I
use AMDP to check within the stored procedure class methods to validate/update using
the BAPIs? Thanks for your help.
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 29/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Former Member
Hello Horst,
First of all, congratulations for the very good disambiguation and comparison
between ABAP CDS vs. HANA CDS.
My team is working on searches built on HANA DB and we are currently not using any
form of CDS. Can you point me where I can find about some of the
advantages/disadvantages of switching to the CDS approach?
Kind regards,
Eduardo
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 30/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
https://blogs.sap.com/2016/08/12/from-open-sql-joins-to-cds-associations/
Sreekanth Surampally
Hi Horst, With HANA 2.0 We have Graphical interface to create Native CDS artifacts
using Web IDE for HANA, any near future plan to get ABAP CDS Views in Graphical
editor?
Former Member
krishanu khanra
Hi Horst,
One question .
We are facing one issue with one standard CDS view. Previously it has no parameters
and we accessed it in other custom views using it’s CDS DB view name (the sql
viewname). After one note implementation this view got changed and currently it has a
parameter but we can’t access it in other custom view using it’s CDS DB view name
(it is saying not able to find it in SAPFMS schema).
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 31/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
We have also checked it in SE11 to check whether it has a consistent runtime object or
not. It shows as consistent.
We tried to find the CDS DB view using DB02 . It was not able to find any.
At last we tried to use the cds Entity name in our custom CDS and it’s working.
I have also checked that SAP strongly recommends to use the CDS entity then how it
was working previously.
Thanks
Krishanu
https://blogs.sap.com/2018/04/03/abap-managed-database-objects-and-
how-to-access-them/
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 32/33
10/4/2018 CDS – One Concept, Two Flavors | SAP Blogs
Sitemap Newsletter
https://blogs.sap.com/2015/07/20/cds-one-model-two-flavors/ 33/33