Skip to content
Search

    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.

    Legend

    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 <facets>
    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

      CDS
    Entity-Relationship Modeling
    Custom-defined Types
    Views / Projections
    Associations & Compositions
    AnnotationsCommon, OData
    Aspects
    Services…
    — w/ Redirected Associations
    — w/ Auto-exposed Targets
    — w/ Actions & Functions
    — w/ Events
    Managed Compositions of Aspects
    Structured Elements planned
    Nested Projections planned
    Calculated Fields planned
    Managed n:m Associations planned
    Pluggable CDS linter in prog.
    CDS linter

    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
    Conflict Detection through ETags
    Authentication via JWT n/a
    Basic Authentication n/a


    Enterprise Features CDS Node.js Java
    Authorization
    Analytics in Fiori in prog.
    Localization/i18n
    Managed Data
    Localized Data
    Temporal Data
    Dynamic Extensibility
    Monitoring / Logging [Node.js|Java] n/a


    Inbound Protocol Support CDS 1 Node.js Java
    REST/OpenAPI
    OData V2 2 3
    OData V4
    OData V4 for APIs in prog. in prog. in prog.
    GraphQL4 contrib? 5 contrib? 6


    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 Node.js try out the GraphQL Adapter
    6 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, …) contrib?


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

    1 Import API to CSN
    2 Could be a good case for 3rd-party contribution

    Learn more about supported features for consuming services.

    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
    SAP Event Mesh (Multitenancy) n/a
    SAP Message Queuing (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    

    Database Support

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

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

    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.
    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 in prog. in prog.
    Deploy to/run on Kyma
    SaaS on-/off-boarding
    Multitenancy
    Health checks planned

    1 Available on plain Kubernetes level → see blog post by Thomas Jung