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
    contrib already active contribution

    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 Prettifier
    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 of Aspects
    Structured Elements planned
    Nested Projections planned
    Calculated Fields planned
    Managed n:m Associations planned
    Pluggable CDS linter in prog.

    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
    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 3
    OData V4
    OData V4 for APIs in prog. in prog. in prog.
    GraphQL4 contrib? contrib? contrib? 5

    1 Export CDS models to …
    2 To support customers with existing OData V2 UIs
    3 Through V2 proxy;
    4 Could be a good case for 3rd-party contribution
    5 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  
    Mock Broker (to speed up local dev) [Node.js|Java] n/a  
    SAP Event Mesh (Singletenancy) [Node.js|Java] n/a
    Composite Messaging (routing by configuration) [Node.js|Java] n/a  
    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
    SAP HANA Cloud
    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 databases? 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 SAP BTP, Cloud Foundry environment
    Deploy to/run on Kubernetes1 planned planned
    Deploy to/run on Kyma2 planned planned
    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