Features Overview

Following is an index of the features currently covered by CAP, with status and availability information. In addition, we also list features, which are planned or already in development, but not yet generally available, to give you an idea about our roadmap.


Tag Explanation
    generally and publicly available today
  n/a not applicable for this combination
in prog. in progress; likely to become available near-term
planned we might pick that up for development soon
contrib? not scheduled for development by us so far

CLI & Tools Support

CLI commands    
Jump-start cds-based projects cds init <project>
Add a feature to an existing project cds add <feature>
Add models from external sources cds import <api>
Compile cds models to different outputs cds compile <models>
Run your services in local server cds serve <services>
Run and restart on file changes cds watch
Read-eval-event loop cds repl
Inspect effective configuration cds env
Prepare for deployment cds build
Deploy to databases or cloud cds deploy
Create an extension project cds extend <app-url>
Activate an extension project cds activate
Login to extendable SaaS application cds login <app-url>
Logout from extendable SaaS application cds logout

Run cds help <command> to find details about an individual command. Use cds version to check the version that you’ve installed. To know what is the latest version, see the Release Notes for CAP.

Editors/IDE Support Application Studio VSCode Eclipse
CDS Syntax Highlighting
CDS Code Completion
CDS Prettyfier
Advanced Debug/Run Tools    
Project Explorer    

CDS Language & Compiler

Entity-Relationship Modeling
Custom-defined Types
Views / Projections
Associations & Compositions
AnnotationsCommon, OData
— w/ Redirected Associations
— w/ Auto-exposed Targets
— w/ Actions & Functions
— w/ Events in prog.
Managed Compositions
Structured Elements planned
Nested Projections planned
Calculated Fields planned
Managed n:m Associations planned
Linters as pluggable architecture contrib?

Providing Services

Core Framework Features CDS Node.js Java
Automatically Serving CRUD Requests n/a
Deep-Read/Write Structured Documents
Automatic Input Validation
Auto-filled Primary Keys
Implicit Paging
Implicit Sorting
Access Control
Arrayed Elements in prog.
Streaming & Media Types in prog.
Conflict Detection through ETags
Authentication via JWT n/a
Basic Authentication n/a

Enterprise Features CDS Node.js Java
Analytics in Fiori in prog. in prog.
Managed Data
Localized Data
Temporal Data
Dynamic Extensibility
Monitoring / Logging n/a in prog. in prog.
Audit Logging n/a in prog. in prog.

Inbound Protocol Support CDS 1 Node.js Java
REST / OpenAPI in prog.
OData V2 2
OData V4
OData V4 for APIs in prog. in prog. in prog.
GraphQL3 contrib? contrib? contrib? 4

1 Export CDS models to …
2 Through V2 proxy; only to support customers with existing V2 UIs
3 Could be a good case for 3rd-party contribution
4 For Java try out the provided sample code.

Consuming Services

Service Consumption APIs Node.js Java
Uniform Consumption APIs → Hexagonal Architecture
Dynamic Querying
Programmatic Delegation
Generic Delegation planned planned
Resilience (retry, circuit breaking, …) in prog.

Using SAP Cloud SDK behind the scenes

Outbound Protocol Support CDS 1 Node.js Java
REST / OpenAPI planned
OData V2 in prog.
OData V4 in prog.
GraphQL2 contrib? contrib? contrib? 3

1 Import API to CSN
2 Could be a good case for 3rd-party contribution
3 For Java try out the provided sample code.

Events / Messaging

  CDS Node.js Java  
Declared Events in CDS in prog. in prog.  
Mock Broker to speed up local dev n/a in prog. in prog.  
SAP Enterprise Messaging] (Singletenancy) n/a in prog.  
SAP Enterprise Messaging (Multitenancy) n/a in prog. in prog.  
Event Logs (Kafka) n/a planned planned  
Import AsyncAPI planned      
Export AsyncAPI planned    

Database Support

  CDS/deploy Node.js Java
SAP HANA out of the box
SQLite out of the box 1
MongoDB out of the box n/a planned in prog.
Pluggable drivers architecture in prog. in prog. in prog.
Out-of-the-box support for other DBs? contrib? contrib? 2 contrib?

1 To speed up development. Not for productive use!
2 For Node.js, see the community project cds-pg - PostgreSQL adapter for SAP CDS.

You can already integrate your database of choice in a project or a contribution level. The last two are meant to further facilitate this by out-of-the-box features in CAP.

UIs/Frontend Support

  CDS Node.js Java
Serving Fiori UIs
Fiori Annotations in CDS
Advanced Value Help
Draft Support
Draft for Localized Data
Support for Fiori Analytics in prog. in prog.
Support for other UI technologies, e.g. Vue.js 1

1 through standard REST/AJAX

Platform Support & Integration

  Node.js Java
Deploy to/run on Cloud Foundry
Deploy to/run on Kubernetes1 contrib? contrib?
Deploy to/run on Kyma2 contrib? contrib?
SaaS on-/off-boarding
Health checks planned

1 Available on plain Kubernetes level → see blog post by Thomas Jung
2 Available on Kyma level → see blog post by Uwe Klinger

Show/Hide Beta Features