BrowseAll ecosystems
Everything in the atlas
49 of 2341
Domain
Signals
Content: 4
More
Group by: Capability
EntryBySignalsLast activity
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsMessaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsGetting a message out of a CAP service and onto a Fiori elements object page in a draft scenario — errors, warnings and information, each of which the UI treats differently. Co-written with one of the people on the OData side, and it spends its length on the message container rather than on the handler that fills it.arley-triana-morin, published 2022-08-11
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client Applications
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe, Runnable code.
Create a Business Service using CDS, Node.js, SQLite and a OData serviceCreate a Business Service using CDS, Node.js, SQLite and a OData serviceThe stack at its smallest — CDS, Node, SQLite, an OData service — worked through at length. Nothing cloud in it, which is the point: it is the shape of a CAP service before any of the platform arrives.raybanton, published 2021-07-12
Create a Business Service using CDS, Node.js, SQLite and a OData service
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
Custom Functions in OData V4 – SAP Cloud Application Programming ModelCustom Functions in OData V4 – SAP Cloud Application Programming ModelFunctions rather than actions, and the distinction is where it starts: a function must return data and must never change any, so it is the read-only half of custom operations. Then how to declare and implement one on a CAP service.Roopa_N, published 2021-04-28
Custom Functions in OData V4 – SAP Cloud Application Programming Model
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe.
Dynamic OData from "any" API through SAP BTP KymaDynamic OData from "any" API through SAP BTP KymaPutting an OData face on a third-party API by way of Kyma, so the SAP side of a landscape can consume something that was never built for it. The word dynamic is doing work in the title — the shape is not modelled in advance.Gunter, published 2021-09-09
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsMessaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsGetting a message out of a CAP service and onto a Fiori elements object page in a draft scenario — errors, warnings and information, each of which the UI treats differently. Co-written with one of the people on the OData side, and it spends its length on the message container rather than on the handler that fills it.arley-triana-morin, published 2022-08-11
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client Applications
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe, Runnable code.
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single ProjectThe End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single ProjectOne CAP service exposing OData V2, OData V4 and REST at the same time, which is unusual enough to be worth the read on its own. Part of an end-to-end series, deployed on Cloud Foundry against HANA Cloud, so the protocol question sits inside a whole application rather than a snippet.KRiedelsheimer, published 2021-05-06
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single Project
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe, Runnable code.
Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming ModelInvoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming ModelThe other direction: consuming an API described by an OpenAPI document from CAP, rather than publishing one. Worth pairing with the plugin entries here, which all serve the outbound half.wittro, published 2022-08-30
Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming Model
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects Runnable code.
OpenAPIs in the SAP ecosystemOpenAPIs in the SAP ecosystemWhere OpenAPI actually turns up across SAP's own services, from somebody who spends their time in that ecosystem. Orientation rather than implementation.ajmaradiaga, published 2022-10-10
CAP WebSocketsCAP WebSocketsThe early one, from 2021, before an adapter existed to make it ordinary. Read for what the problem looked like when it had to be solved by hand.vvdries, published 2021-01-26
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message ReportingDiscovering SAP Fiori Elements Analytical functions by implementing SAP Support Message ReportingAnalytical annotations learned by building something the author wanted — a view over SAP support messages — after a conversation in February 2021 that the post dates precisely. Exploration written up as exploration.published 2021-03-14
Predictive Asset Insights embedded Live analytics using CAP and SACPredictive Asset Insights embedded Live analytics using CAP and SACCAP as the layer between a line-of-business application's data and a live Analytics Cloud story embedded back into it — master data and operational data both. Structured as ten steps, which keeps it honest about how much of this is configuration rather than modelling.Saif, published 2021-07-18
SAP Data and Analytics Showcase – Use SAP Cloud Application Programming Model to Develop a Machine Learning Application on SAP BTPSAP Data and Analytics Showcase – Use SAP Cloud Application Programming Model to Develop a Machine Learning Application on SAP BTPThe instalment where the showcase becomes code: the CAP application built in Business Application Studio, and the sub-scenario it covers implemented step by step. The overview post is the one that says why this piece exists at all.former_member10846, published 2022-08-12
Create a Business Service using CDS, Node.js, SQLite and a OData serviceCreate a Business Service using CDS, Node.js, SQLite and a OData serviceThe stack at its smallest — CDS, Node, SQLite, an OData service — worked through at length. Nothing cloud in it, which is the point: it is the shape of a CAP service before any of the platform arrives.raybanton, published 2021-07-12
Create a Business Service using CDS, Node.js, SQLite and a OData service
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
How I migrated my on-prem xsa cds3+hana solution to cds6+sqliteHow I migrated my on-prem xsa cds3+hana solution to cds6+sqliteThree major CDS versions and a database swap in one move, done to get an old on-premise XSA application running somewhere cheap. The repository is linked, and the interest is in what broke between cds3 and cds6 rather than in the destination.alex_myakinkii, published 2022-08-07
How I migrated my on-prem xsa cds3+hana solution to cds6+sqlite
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
How to create an API to run a HANA Cloud Stored Procedure in Cloud FoundryHow to create an API to run a HANA Cloud Stored Procedure in Cloud FoundryReaching past CDS to the database's own machinery — built-in algorithms, SQLScript procedures and functions — and putting an API in front of them. Long, and it is the case where the model is not where the logic belongs.gonzalo_hernan_sendra, published 2022-12-08
How to create an API to run a HANA Cloud Stored Procedure in Cloud Foundry
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
How to share tables across different CAP projectsHow to share tables across different CAP projectsFour scenarios for reading one CAP project's table from another, worked out as a matrix of what each one needs: the same HDI container and namespace, the same container under a different namespace, a different container, and a different Cloud Foundry space. The mechanics change with each step — @cds.persistence.exists on the reused entity throughout, an .hdbsynonym once namespaces diverge, .hdbrole and .hdbgrants once containers do, and a user-provided service built from the grantor's credentials once spaces do. The author flags the caveat themselves: these are learning scenarios, and consuming the OData service is often the better answer than reaching into another project's database. Dated corrections from twelve days after publication sit inline — synonyms need only the name because the configuration comes from .hdbsynonymconfig, SERVICE_REPLACEMENTS in mta.yaml removes the hard-coded service name, and the reused container need not be bound to the srv module.published 2021-10-03
My Learnings in SAP-CAP Using MongoDBMy Learnings in SAP-CAP Using MongoDBCAP against a document database, which the supported list does not include — and the way it gets there is the point. The CDS model and the service definitions stay; the persistence is replaced by handlers calling the mongodb driver, with @sap/cds-odata-v2-adapter-proxy in front so a UI5 application can consume it. Learnings rather than a supported path, and the only MongoDB entry here.published 2021-01-11
My Learnings in SAP-CAP Using MongoDB
sap-cap-mongodb: no published releases, repository quiet for 69 months. Affects Runnable code.
SAP BTP Showcase - Use SAP Cloud Application Programming to do Native Development on HANA CloudSAP BTP Showcase - Use SAP Cloud Application Programming to do Native Development on HANA CloudThe fifth of a seven-post showcase, and the one where CAP is used to reach HANA-native artifacts rather than to avoid them. Long, and it sits inside a series whose other parts are about Data Warehouse Cloud and CI/CD.former_member271284, published 2021-01-31
SAP BTP Showcase - Use SAP Cloud Application Programming to do Native Development on HANA Cloud
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudSAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudA pipeline for the database half of a CAP application, built with cds add pipeline — one command that writes a Jenkinsfile and a .pipeline folder — and then the mta module that makes a database change deploy itself.gcalixtos, published 2021-01-27
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA Cloud
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
SAP Business Application Studio – Using SAP HANA Tools with SAP Cloud Application Programming Model projectsSAP Business Application Studio – Using SAP HANA Tools with SAP Cloud Application Programming Model projectsNative HDB artifacts inside a CAP project — the case where CDS is not enough and something has to be written as a database object. Most of the work is making the two build outputs agree: an HDB module path, a CDS build output directory, and a package.json for the module, before the artifact is added and deployed. Published under an account that has since been closed, so the byline reads Former Member.Former Member, published 2021-01-14
SAP Business Application Studio – Using SAP HANA Tools with SAP Cloud Application Programming Model projects
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
SFSFとHANA Cloudを使用するCAPのアプリケーション開発SFSFとHANA Cloudを使用するCAPのアプリケーション開発In Japanese. A hands-on taking data between SuccessFactors and HANA Cloud through a CAP application — the connection setup, the data and service models, then read and write logic, and a Cloud Foundry deploy. Long enough to carry its own table of contents.rasai, published 2022-12-14
SFSFとHANA Cloudを使用するCAPのアプリケーション開発
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewTesting your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewcds.test covers the service; this covers what is underneath it, where the artifact is an hdbprocedure or an hdbview that CDS never sees. That means a real HDI container, so most of the post is about where to get one and how to give CAP access to it — the tests are the easy part once that is true.Tristan, published 2022-08-30
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbview
Testing has changed 3 times since this was published, most recently in @cap-js/cds-test 1.0.0, 2026-04-23. Affects A recipe, Runnable code.
Upload data from excel in CAP (Node.js)Upload data from excel in CAP (Node.js)Mass upload from a spreadsheet, both halves shown: an entity marked @cds.persistence.skip to receive the file, an INSERT built from the parsed rows, and a list report extended with the upload button that starts it.KM11, published 2022-11-21
Upload data from excel in CAP (Node.js)
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
How to share tables across different CAP projectsHow to share tables across different CAP projectsFour scenarios for reading one CAP project's table from another, worked out as a matrix of what each one needs: the same HDI container and namespace, the same container under a different namespace, a different container, and a different Cloud Foundry space. The mechanics change with each step — @cds.persistence.exists on the reused entity throughout, an .hdbsynonym once namespaces diverge, .hdbrole and .hdbgrants once containers do, and a user-provided service built from the grantor's credentials once spaces do. The author flags the caveat themselves: these are learning scenarios, and consuming the OData service is often the better answer than reaching into another project's database. Dated corrections from twelve days after publication sit inline — synonyms need only the name because the configuration comes from .hdbsynonymconfig, SERVICE_REPLACEMENTS in mta.yaml removes the hard-coded service name, and the reused container need not be bound to the srv module.published 2021-10-03
How I migrated my on-prem xsa cds3+hana solution to cds6+sqliteHow I migrated my on-prem xsa cds3+hana solution to cds6+sqliteThree major CDS versions and a database swap in one move, done to get an old on-premise XSA application running somewhere cheap. The repository is linked, and the interest is in what broke between cds3 and cds6 rather than in the destination.alex_myakinkii, published 2022-08-07
How I migrated my on-prem xsa cds3+hana solution to cds6+sqlite
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
Execute [OAuth2 client credentials] protected REST request with SAP CAP ApplicationExecute [OAuth2 client credentials] protected REST request with SAP CAP ApplicationA recipe, and the author calls it that — package.json, a .cds and a handler — for calling a remote service protected by OAuth2 client credentials from a CAP application. Short, complete, and addressed to CAP developers rather than to BTP administrators.Lachmish, published 2022-04-27
Execute [OAuth2 client credentials] protected REST request with SAP CAP Application
Authentication changed in CAP Java 3.0.1, 2024-07-26. Affects A recipe.
Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming ModelInvoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming ModelThe other direction: consuming an API described by an OpenAPI document from CAP, rather than publishing one. Worth pairing with the plugin entries here, which all serve the outbound half.wittro, published 2022-08-30
Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming Model
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects Runnable code.
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]The final part, and the one with the most CAP in it — the service consuming the propagated destinations, and what the handler sees. Read the three together; the series is one piece.mohit_bansal3, published 2022-11-25
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects A recipe.
Qualtrics integration with domain based authorization in CAP project on HANA cloudQualtrics integration with domain based authorization in CAP project on HANA cloudSurveys pulled from Qualtrics into a CAP application in real time, with the twist in the title: authorisation decided by the user's domain rather than by a role collection. A pattern that comes up whenever the audience is wider than the tenant.former_member69893, published 2022-09-30
Qualtrics integration with domain based authorization in CAP project on HANA cloud
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects Runnable code.
SAP CAP Remote Services & SAP Fiori ElementsSAP CAP Remote Services & SAP Fiori ElementsWhat happens to a generated UI when the data is not local: a CAP service projecting a remote one, with Fiori elements on top. The author explored it to find out where the abstraction holds, which is the useful register for this.Former Member, published 2021-05-20
SAP CAP Remote Services & SAP Fiori Elements
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects A recipe, Runnable code.
SFSFとHANA Cloudを使用するCAPのアプリケーション開発SFSFとHANA Cloudを使用するCAPのアプリケーション開発In Japanese. A hands-on taking data between SuccessFactors and HANA Cloud through a CAP application — the connection setup, the data and service models, then read and write logic, and a Cloud Foundry deploy. Long enough to carry its own table of contents.rasai, published 2022-12-14
SFSFとHANA Cloudを使用するCAPのアプリケーション開発
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
[Blog Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant Scenario[Blog Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant ScenarioThe instalment of the Deep Dive series where the framework arrives. The earlier posts consumed Event Mesh over its REST API, so this one is explicitly a comparison: the same thing through CAP's messaging abstraction, with the three flavours — local, file-based and a real broker — named before the broker one is built.AyushKumar and vipul.khullar, published 2022-06-06
[Blog Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant Scenario
Event Mesh changed in @sap/cds 10.0.3, 2026-07-02. Affects A recipe, Runnable code.
Event Driven Architecture with Event Mesh - Part-1Event Driven Architecture with Event Mesh - Part-1Continues the author's own CDS entity-relationship example rather than starting a fresh one, which is the point of it — the same model gains events. Concepts first, then a message client and queue on BTP, then a Postman check that the queue works before any CAP code is written, and finally the emit from a CAP REST service.Avinash_Vaidya, published 2022-12-04
Event Driven Architecture with Event Mesh - Part-1
Event Mesh changed in @sap/cds 10.0.3, 2026-07-02. Affects A recipe, Runnable code.
Integrate Document Information Extraction into UI5 applicationIntegrate Document Information Extraction into UI5 applicationUploading an invoice from a UI5 application and getting the extracted fields back on screen, with a destination pointing at the Document Information Extraction API and a Refresh button polling until the job finishes. The polling is the honest part: extraction is asynchronous, and the post does not pretend otherwise. From 2022, so the service has since been renamed and the API moved, but the shape — upload, poll, map the result — is the shape it still is.published 2022-05-31
Execute [OAuth2 client credentials] protected REST request with SAP CAP ApplicationExecute [OAuth2 client credentials] protected REST request with SAP CAP ApplicationA recipe, and the author calls it that — package.json, a .cds and a handler — for calling a remote service protected by OAuth2 client credentials from a CAP application. Short, complete, and addressed to CAP developers rather than to BTP administrators.Lachmish, published 2022-04-27
Execute [OAuth2 client credentials] protected REST request with SAP CAP Application
Authentication changed in CAP Java 3.0.1, 2024-07-26. Affects A recipe.
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]The final part, and the one with the most CAP in it — the service consuming the propagated destinations, and what the handler sees. Read the three together; the series is one piece.mohit_bansal3, published 2022-11-25
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects A recipe.
Qualtrics integration with domain based authorization in CAP project on HANA cloudQualtrics integration with domain based authorization in CAP project on HANA cloudSurveys pulled from Qualtrics into a CAP application in real time, with the twist in the title: authorisation decided by the user's domain rather than by a role collection. A pattern that comes up whenever the audience is wider than the tenant.former_member69893, published 2022-09-30
Qualtrics integration with domain based authorization in CAP project on HANA cloud
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects Runnable code.
Why developers should care about credential-types for xsuaa?Why developers should care about credential-types for xsuaa?Rotating secrets, argued from a habit rather than a feature: the author names the practice implicit in many beginner tutorials — lifting a secret out of a binding to use it elsewhere — and notes CAP has features that make it unnecessary in development. Then the three credential types side by side, configured on a CAP application's uaa resource in mta.yaml and through a deployment extension.former_member2839, published 2022-07-05
Why developers should care about credential-types for xsuaa?
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects A recipe, Runnable code.
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationBuild and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationGeneration and deployment in one piece, with the managed approuter rather than a standalone one — so the routing is configuration instead of a module, and the post covers what that changes at deploy time.jlong, published 2022-02-10
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configuration
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects A recipe, Runnable code.
CAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma RuntimeCAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma RuntimeThe post that superseded the author's own earlier one, written for cds and cds-dk 6 when Kyma deployment became something the tooling did rather than something you assembled. The current reference of the several Kyma posts here.Uwe_Klinger, published 2022-07-12
CAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma Runtime
Deployment changed in @sap/cds-dk 8.9.0, 2025-03-31. Affects A recipe, Runnable code.
Dynamic OData from "any" API through SAP BTP KymaDynamic OData from "any" API through SAP BTP KymaPutting an OData face on a third-party API by way of Kyma, so the SAP side of a landscape can consume something that was never built for it. The word dynamic is doing work in the title — the shape is not modelled in advance.Gunter, published 2021-09-09
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- DeploymentFrom R/3 ABAP to CAP/Fiori Elements on SAP BTP- DeploymentThe doing half: the steps and the code that got the application from the first post deployed and working. Shorter, and it assumes the argument has already been made.former_member231477, published 2021-04-30
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- Deployment
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects Runnable code.
SAP CAP - Optimize your build MTA projects with several ui appsSAP CAP - Optimize your build MTA projects with several ui appsWhat the Business Application Studio wizard writes into mta.yaml stops scaling somewhere past a couple of dozen UI applications, because every one of them gets its own build step. The post is about the build phase specifically, and reads as a report from a project large enough to have hit the wall rather than as a general optimisation.published 2022-04-28
SAP CAP - Optimize your build MTA projects with several ui apps
Deployment changed in @sap/cds-dk 8.9.0, 2025-03-31. Affects A recipe.
The new way to consume Service Bindings on Kyma RuntimeThe new way to consume Service Bindings on Kyma RuntimeService bindings on Kyma, which had until then been a Cloud Foundry idea — how a BTP service reaches a workload in Kubernetes, and what changes for an application that expects VCAP_SERVICES.Uwe_Klinger, published 2022-07-12
Multitenant application using Cloud Application Programming Model (CAP)Multitenant application using Cloud Application Programming Model (CAP)A worked multitenant application on the Java SDK with the mtx sidecar beside it — the arrangement where provisioning lives in a separate Node process even when the application is Java. Includes the UI module, so the subscription is visible end to end.former_member733211, published 2021-05-19
Multitenant application using Cloud Application Programming Model (CAP)
Multitenancy has changed twice since this was published, most recently in @sap/cds 7.0.0, 2023-06-22. Affects A recipe, Runnable code.
Multitenant MTA: providing a Cloud Portal Service with FIORI apps to subscriber accountsMultitenant MTA: providing a Cloud Portal Service with FIORI apps to subscriber accountsFiori applications reaching a subscriber's own launchpad, which is the part of multitenancy the runtime does not do for you. The author's motivation is that the information exists but is scattered across documentation, and this puts it in one place.former_member1760, published 2022-01-03
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewTesting your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewcds.test covers the service; this covers what is underneath it, where the artifact is an hdbprocedure or an hdbview that CDS never sees. That means a real HDI container, so most of the post is about where to get one and how to give CAP access to it — the tests are the easy part once that is true.Tristan, published 2022-08-30
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbview
Testing has changed 3 times since this was published, most recently in @cap-js/cds-test 1.0.0, 2026-04-23. Affects A recipe, Runnable code.
How to consume UI5 custom libraries in BAS or VS CodeHow to consume UI5 custom libraries in BAS or VS CodeConsuming a custom UI5 library from a UI5 application locally, using yarn workspaces to resolve the dependency instead of adjusting the project before every deploy. The post is honest about its own history: the author had asked the question on SAP Community, found a workaround that needed a pre-deploy edit, and only later learned the workspace approach that removes it. Generator-based setup throughout, and 2021-vintage — yarn workspaces, generator-ui5-library and generator-easy-ui5.published 2021-04-06
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudSAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudA pipeline for the database half of a CAP application, built with cds add pipeline — one command that writes a Jenkinsfile and a .pipeline folder — and then the mta module that makes a database change deploy itself.gcalixtos, published 2021-01-27
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA Cloud
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
debug a CAP app with UI5 TypeScript UI component with VS Codedebug a CAP app with UI5 TypeScript UI component with VS CodeDebugging both runtimes at once — the CAP server and a UI5 component written in TypeScript, the latter stepped through in its own sources rather than in the transpiled output. Written when TypeScript for UI5 had just become possible, and the combination it sets up is the one CAP's app folder invites.published 2021-11-16
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one goUse Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one gocds watch serves the service and the app folder but not the approuter, so anything needing a JWT means a second terminal started by hand. This replaces that with a VS Code task definition — the tasks.json is in the post — so the whole local stack comes up on one command.pieterjanssens, published 2021-04-09
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one go
Local development has changed twice since this was published, most recently in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
加速开发和部署的CAP CDS和Fiori一些实用命令加速开发和部署的CAP CDS和Fiori一些实用命令In Chinese. A command reference rather than a walkthrough — cds import, cds compile, cds deploy --to sqlite, cds add hana, cds add xsuaa — grouped by what they are for. The kind of page that is more useful than a tutorial once you already know what you are doing.TiaXu, published 2022-10-21
加速开发和部署的CAP CDS和Fiori一些实用命令
Generators has changed twice since this was published, most recently in @sap/cds-dk 10.0.3, 2026-07-02. Affects A recipe, Runnable code.
A Fiori Launchpad Sandbox for all your CAP-based projects - OverviewA Fiori Launchpad Sandbox for all your CAP-based projects - OverviewWhere cds-launchpad-plugin came from, told as a learning exercise: the author wanted a real problem to teach himself TypeScript on, and picked the thing he kept redoing in every CAP project — a launchpad to see all the UI applications in one place. The origin post for an entry whose 2023 update is also indexed here.published 2022-03-14
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupA Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupThe hands-on half published the same day as the overview: the launchpad module wired into the CAP sample repository, step by step from a global cds-dk install. Same-day pairs like this are worth keeping together — the overview argues, this one is the thing you follow.published 2022-03-14
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one goUse Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one gocds watch serves the service and the app folder but not the approuter, so anything needing a JWT means a second terminal started by hand. This replaces that with a VS Code task definition — the tasks.json is in the post — so the whole local stack comes up on one command.pieterjanssens, published 2021-04-09
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one go
Local development has changed twice since this was published, most recently in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
加速开发和部署的CAP CDS和Fiori一些实用命令加速开发和部署的CAP CDS和Fiori一些实用命令In Chinese. A command reference rather than a walkthrough — cds import, cds compile, cds deploy --to sqlite, cds add hana, cds add xsuaa — grouped by what they are for. The kind of page that is more useful than a tutorial once you already know what you are doing.TiaXu, published 2022-10-21
加速开发和部署的CAP CDS和Fiori一些实用命令
Generators has changed twice since this was published, most recently in @sap/cds-dk 10.0.3, 2026-07-02. Affects A recipe, Runnable code.
A Fiori Launchpad Sandbox for all your CAP-based projects - OverviewA Fiori Launchpad Sandbox for all your CAP-based projects - OverviewWhere cds-launchpad-plugin came from, told as a learning exercise: the author wanted a real problem to teach himself TypeScript on, and picked the thing he kept redoing in every CAP project — a launchpad to see all the UI applications in one place. The origin post for an entry whose 2023 update is also indexed here.published 2022-03-14
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupA Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupThe hands-on half published the same day as the overview: the launchpad module wired into the CAP sample repository, step by step from a global cds-dk install. Same-day pairs like this are worth keeping together — the overview argues, this one is the thing you follow.published 2022-03-14
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewTesting your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewcds.test covers the service; this covers what is underneath it, where the artifact is an hdbprocedure or an hdbview that CDS never sees. That means a real HDI container, so most of the post is about where to get one and how to give CAP access to it — the tests are the easy part once that is true.Tristan, published 2022-08-30
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbview
Testing has changed 3 times since this was published, most recently in @cap-js/cds-test 1.0.0, 2026-04-23. Affects A recipe, Runnable code.
Full Stack TypeScript App for Cloud Foundry - Sample RepositoryFull Stack TypeScript App for Cloud Foundry - Sample RepositoryA whole repository rather than a snippet: a CAP Node.js service and a freestyle SAPUI5 application, both in TypeScript, arranged for Cloud Foundry. The build process gets its own section, which is where a TypeScript full-stack project usually goes wrong.former_member66, published 2021-12-09
Full Stack TypeScript App for Cloud Foundry - Sample Repository
TypeScript patterns changed in @cap-js/cds-typer 0.5.0, 2023-07-25. Affects A recipe, Runnable code.
debug a CAP app with UI5 TypeScript UI component with VS Codedebug a CAP app with UI5 TypeScript UI component with VS CodeDebugging both runtimes at once — the CAP server and a UI5 component written in TypeScript, the latter stepped through in its own sources rather than in the transpiled output. Written when TypeScript for UI5 had just become possible, and the combination it sets up is the one CAP's app folder invites.published 2021-11-16
How to ensure that users can efficiently enter data in SAP Fiori elements applicationsHow to ensure that users can efficiently enter data in SAP Fiori elements applicationsGuidance for draft-enabled Fiori Elements applications aimed at the user who spends their day in them: entering data quickly and by keyboard, on a slow network, without the round trips a draft-backed form can otherwise impose. Written from the design side rather than the implementation side, which is the half most CAP writing about drafts leaves out.published 2022-12-05
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsMessaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsGetting a message out of a CAP service and onto a Fiori elements object page in a draft scenario — errors, warnings and information, each of which the UI treats differently. Co-written with one of the people on the OData side, and it spends its length on the message container rather than on the handler that fills it.arley-triana-morin, published 2022-08-11
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client Applications
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe, Runnable code.
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationBuild and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationGeneration and deployment in one piece, with the managed approuter rather than a standalone one — so the routing is configuration instead of a module, and the post covers what that changes at deploy time.jlong, published 2022-02-10
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configuration
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects A recipe, Runnable code.
Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio CodeBuild SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio CodeAn Overview Page — the card-based Fiori elements floorplan, less written about than the list report — driven entirely from annotations on a CAP service, in VS Code rather than Business Application Studio.Sai_Nithesh_G, published 2021-08-05
Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio Code
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects A recipe, Runnable code.
CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic ExpressionsCAP with Fiori Elements: Side Effects, Custom Actions, Dynamic ExpressionsThe first of the author's Fiori elements posts, and the widest: side effects, which are the annotation that tells the UI a field changed something else; custom actions; and dynamic expressions. The three that turn a generated app into a usable one.Ajit_K_Panda, published 2022-12-23
CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic Expressions
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects Runnable code.
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message ReportingDiscovering SAP Fiori Elements Analytical functions by implementing SAP Support Message ReportingAnalytical annotations learned by building something the author wanted — a view over SAP support messages — after a conversation in February 2021 that the post dates precisely. Exploration written up as exploration.published 2021-03-14
Display of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming ModelDisplay of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming ModelHierarchies before the framework supported them, and the post now opens with its own update saying that Fiori elements V4 and OData V4 support tree views natively and linking the guide. Read the update first; the rest is the record of what people did in the meantime.OliverKlemenz, published 2022-07-01
Display of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming Model
sap:hierarchy. Affects Runnable code.
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- DeploymentFrom R/3 ABAP to CAP/Fiori Elements on SAP BTP- DeploymentThe doing half: the steps and the code that got the application from the first post deployed and working. Shorter, and it assumes the argument has already been made.former_member231477, published 2021-04-30
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- Deployment
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects Runnable code.
From R/3 ABAP to CAP/Fiori Elements on SAP CloudFrom R/3 ABAP to CAP/Fiori Elements on SAP CloudWritten by an ABAP developer of fourteen years explaining what changed and what did not — the argument being that CAP kept the focus on business logic that ABAP had, where learning UI5 and a framework or two had not. The reasoning half of a pair.former_member231477, published 2021-03-24
From R/3 ABAP to CAP/Fiori Elements on SAP Cloud
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects Runnable code.
How to ensure that users can efficiently enter data in SAP Fiori elements applicationsHow to ensure that users can efficiently enter data in SAP Fiori elements applicationsGuidance for draft-enabled Fiori Elements applications aimed at the user who spends their day in them: entering data quickly and by keyboard, on a slow network, without the round trips a draft-backed form can otherwise impose. Written from the design side rather than the implementation side, which is the half most CAP writing about drafts leaves out.published 2022-12-05
SAP CAP Remote Services & SAP Fiori ElementsSAP CAP Remote Services & SAP Fiori ElementsWhat happens to a generated UI when the data is not local: a CAP service projecting a remote one, with Fiori elements on top. The author explored it to find out where the abstraction holds, which is the useful register for this.Former Member, published 2021-05-20
SAP CAP Remote Services & SAP Fiori Elements
Fiori annotations changed in @sap/cds-dk 9.6.0, 2025-12-17. Affects A recipe, Runnable code.
Upload data from excel in CAP (Node.js)Upload data from excel in CAP (Node.js)Mass upload from a spreadsheet, both halves shown: an entity marked @cds.persistence.skip to receive the file, an INSERT built from the parsed rows, and a list report extended with the upload button that starts it.KM11, published 2022-11-21
Upload data from excel in CAP (Node.js)
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
Enable App-to-App Navigation in BASEnable App-to-App Navigation in BASTesting navigation between two Fiori applications inside Business Application Studio, which Web IDE Full-Stack made easy and BAS initially did not. Two paths: between Fiori elements applications it is a few clicks in Fiori tools with both apps in the same workspace, and for a freestyle application the same result takes a short sequence of manual steps. Written in 2021 against the Fiori tools of the time, so read the mechanism rather than the clicks.published 2021-05-24
Full Stack TypeScript App for Cloud Foundry - Sample RepositoryFull Stack TypeScript App for Cloud Foundry - Sample RepositoryA whole repository rather than a snippet: a CAP Node.js service and a freestyle SAPUI5 application, both in TypeScript, arranged for Cloud Foundry. The build process gets its own section, which is where a TypeScript full-stack project usually goes wrong.former_member66, published 2021-12-09
Full Stack TypeScript App for Cloud Foundry - Sample Repository
TypeScript patterns changed in @cap-js/cds-typer 0.5.0, 2023-07-25. Affects A recipe, Runnable code.
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single ProjectThe End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single ProjectOne CAP service exposing OData V2, OData V4 and REST at the same time, which is unusual enough to be worth the read on its own. Part of an end-to-end series, deployed on Cloud Foundry against HANA Cloud, so the protocol question sits inside a whole application rather than a snippet.KRiedelsheimer, published 2021-05-06
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single Project
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe, Runnable code.