Application Design with SAP HANA
What is Code Push Diagram?
Why CDS was required?
Issue 1: Large Semantic Gap between Task and SQL Code Today
Issue 2: SQL Complexity Leads to Imperative Code
CDS Brings Conceptual and Implementation Level Closer Together
CDS Features
Semantically Rich Data-Models
Domain specific languages (DDL, QL & DCL) Declarative, close to conceptual thinking
CDS is completely based on SQL
‘Standard SQL’ features directly available like joins, unions, build-in functions
Fully Compatible with Any DB
Generated and managed SQL Views Modern Open SQL
Common Basis for Domain-Specific
Frameworks e.g. UI, Analytics, Odata, BW,… @AnalyticsDetails.aggregationBehaviour: SUM
Built-in Functions and Code Pushdown
The Table Functions for Scenarios Rich Set of Built-in SQL Functions
Extensible
On model level thru extensions
On meta-model level thru annotations
CDS Views Compared to ABAP Dictionary Views
Define a CDS View
CDS View Entity (s4hcds_Booking)
• Carries more semantics than SQL View
• Can be consumed by Open SQL
SQL View (S4HCDS_BOOK)
• Defined using annotation (@AbapCatalog.sqlViewName)
• Generated on activation of CDS view
• Representation on Database
Note: After activating the CDS View automatically in backend SQL view is generated.
@AbapCatalog.sqlViewName:'S4HCDS_BOOK' |
|
define view s4hcds_Booking |
|
as select from sbook |
|
{ |
|
carrid, |
|
connid, |
|
fldate, |
|
bookid, |
|
|
|
} |