Core Data Services (CDS)
Language Reference Documentation
CDS is the backbone of the SAP Cloud Application Programming Model (CAP). It provides the means to declaratively capture service definitions and data models, queries, and expressions. The CDS toolkit allows to parse from a variety of source languages into a uniform format and to compile it into various target languages.
At runtime, CDS models are plain JavaScript objects complying to the Core Schema Notation (CSN), an open specification derived from JSON Schema. You can easily create or interpret these models, which foster extensions by 3rd-party contributions. Models are processed dynamically at runtime and can also be created dynamically.
We use the terms CDS or CDS models as synonym to your models written in CDL.
See the Nature of Models for more details
- Definition Language (CDL)
- Specification of the definition language used to model data models and services in an easy and user-centric syntax. Includes a reference and overview of all CDS concepts and features with compact examples.
- Schema Notation (CSN)
- Specification of CSN, CDS' canonical format for representing CDS models as plain JavaScript objects, similar to JSON Schema.
- Query Language (CQL)
- Specification of the CDS Query Language (aka CQL) which is an extension of the standard SQL SELECT statement.
- Query Notation (CQN)
- Specification of the Core Query Notation (CQN) format that is used to capture queries as plain JavaScript objects.
- Expressions (CXN)
- Specification of the Core Expression Notation (CXN) used to capture expressions as plain JavaScript objects.
- Core / Built-in Types
- Find here a brief overview of the predefined types shipped with CDS.
- Common Reuse Types
- Introduces @sap/cds/common, a prebuilt CDS model shipped with @sap/cds that provides common types and aspects.
- Common Annotations
- Find here a reference and glossary of common annotations intrinsically supported by the CDS compiler and runtimes.
- Aspects vs. Inheritance
- Discusses the differences of the mixin-based approach of Aspects to inheritance as known from languages like Java.
- The Nature of CDS Models
- Introduces the fundamental principles of CDS models.