NewSAP Cloud Application Programming Model
Domain Operations & RuntimeDomain Process & Workflow

Today
10 changes
git-env-branchesadded to the atlasShows which feature branches reached which environment branchCLI,
Change promotioncore coverage, id, ecosystems, name revisedPublic feedback issue #9. The ABAP name is kept in framing_by_ecosystem.abap; the default name and description now state the cross-door concern.Capability,
Configurationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): config-management arrived as a provider after the block was last looked at; the state stays core-and-community.Capability,
Deploymentcoverage by ecosystem revisedReassessed against the graph (check:capabilities): SAP's BTP services now provide this capability behind the door, so the note's count-like absence of providers no longer holds. The state stays core-only: the providers are SAP-official and none comes from the community.Capability,
Show 6 more
Health checkscore coverage revisedReassessed against the graph (check:capabilities): the only provider behind the CAP door is the runtime core @sap/cds, so no provider of another origin counts for the door. The state follows the providers; the block's prose already names no community answer.Capability,
Knowing the maintenance status of a releasecore coverage, coverage by ecosystem revisedui5-task-check-eocp, from public feedback issue #6, is the first independent provider on the UI5 door, beside SAP's SAPUI5 version overview.Capability,
Loggingcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the state is now community-only and the block needed to say what the community adds.Capability,
Platform migrationcore coverage revisedReassessed against the graph (check:capabilities): a partner artifact serving the BTP door provides this capability, which the core-only state contradicted. The core stays, since what_core_does is sourced.Capability,
Telemetrycoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removes a universal claim about the providers that goes stale as they arrive.Capability,
Workflow integrationcore coverage revisedReassessed against the graph (check:capabilities): the CAP Java n8n plugin is SAP-official and uses the outbox, so outbox dispatch is no longer only a community addition. Source: the plugin's README. State unchanged.Capability,
Yesterday
1 change
#BTP #SAPCAP: Quirky Nuggets (N05-N06)publishedOn SAP BTP, Cloud Foundry Runtime, a one-shot PostgreSQL db-deployer app can be restarted by the platform's default port-type health check inside its 60-second timeout, re-running the deploy and duplicating data in the PostgreSQL database; setting health-check-type to process or http, via cf commands or the app's mta.yaml parameters, avoids it. In CAP, a remote service's entities are imported and consumed through cds.connect.to and queried via a projection, but its functions and actions cannot be projected: they must be redefined in the consuming service's own interface, with the handler forwarding the call to the remote proxy.Blog,
Fri 23
3 changes
🚀 秒速で学ぶ SAP AI Core Agent 開発 🚀 - Part 8 CloudFoundry にデプロイpublishedPart 8 of a Japanese-language series deploys the Python backend and SAPUI5 chat UI built in earlier parts to SAP BTP, Cloud Foundry Runtime: the backend's manifest.yaml declares its buildpack, memory and start command for cf push, while the UI's MTA project is built with mbt build and uploaded with cf deploy, then has its ENDPOINT constant repointed at the live API's route. It closes with adding the deployed HTML5 app to SAP Build Work Zone, standard edition through Channel Manager's content sync, Content Explorer and a new Site Directory site.Blog,
cds-feature-togglelifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
opentelemetry-cdslifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
Mon 19
4 changes
CAP: The Road Ahead - Simplicity in an AI ErapublishedDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.Talk,
Custom Business Logic Extensibility in CAP (CDS-Oyster)publishedA Devtoberfest 2026 session walking @sap/cds-oyster — at version 0.55, with 1.0 stated for Q4 — end to end on a multitenant xtravels, from the application developer's side and the extension developer's side. The application developer adds a submit-for-review action to the status flow and opens exactly one surface for custom code: a separate extension service marked as extensible code, holding a no-op validate action and two read-only helper entities, which the host application calls before the status change; nothing else is extensible, because the annotation defaults to false. The extension developer works in a project whose base model came from cds pull, with test data, a server.js and types from @cap-js/cds-typer added so the UI and code completion work, debugs the handler locally and pushes it as an @sap/cds-mtxs extension, after which the next request rejects a travel over the policy limit without a restart — the code having been stored as an annotation in the tenant's model and run in a Rust WebAssembly sandbox with no database connection, whose queries go back to the CAP runtime as CQL strings, which is tenant extensibility extended from fields to logic.Talk,
Supply Chain Rescueadded to the atlasCAP and SAPUI5 demo of recovery from a supply disruptionSample,
Loggingecosystems revisedSRBJSLogger and openui5-error-collector were staged in intake-20261019-bestofui5 with no capability edge, because this capability was not open on the UI5 door. The UI5 reading comes from the sap/base/Log API documentation and the OpenUI5 Logging and Tracing page.Capability,
Sun 18
1 change
SAP Job Scheduling Service: Set Job Run Status with the REST API and Node.jspublishedWalks through recovering a stuck asynchronous job run in SAP Job Scheduling service: when a triggered app fails to call back, the run stays at ACK_RECEIVED and eventually UNKNOWN, since the scheduler never assumes success or failure on its own. The fix is a Node.js script that reads a downloaded service key, gets an OAuth2 client-credentials token, and calls PUT /scheduler/jobs/{jobId}/schedules/{scheduleId}/runs/{runId} with a success/message body to set the run to FAILURE or SUCCESS by hand.Blog,
Sat 17
55 changes
A 25x faster mta.yaml build for SAP CAP Node.js projectsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
A modern workflow for SAP Cloud Integration with CAP and Azure DevOpsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Adding Custom Metrics to a CAP application using cap-js/telementry plugin and SAP Cloud Loggingexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Adding Shell Plugin to SAP Fiori CAP Application and Deploying to Cloud Portal Serviceexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Show 51 more
Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation Appsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Build, Configure, and Deploy SAP CAP Projects to the Cloudexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Building a SaaS Multitenant Application Using SAP CAP Framework — Without a Databaseexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP multitenancy with Work Zoneexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma Runtimeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Change promotiondescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
Declarative Programming in CAP: Less Code, More Valueexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
Deploy a Full-Stack CAP Application in SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Workshop,
Deploy and Run the Incident Management Application in the SAP BTP, Kyma Runtime with a Mock Serverexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Tutorial,
Deploying a CAP Application to SAP Cloud Platform, Kyma runtime & connecting an iOS appexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Deploying first CAP Project in SAP Cloud : A Step-by-Step Guideexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Deploymentdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Deployment and operatordescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Developing CAP java/node.js mixed mono Multitenant SaaS Applications with Shared Databaseexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
DevOps with SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Reference architecture,
Everything new: Try out the latest features in CAPexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-6]explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Getting your head into Cloud Application Programming model multitenancyexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Health checksdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
HTML5.Timeout for CAP destinations in mta.yaml longer than defaultexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Implementation of Observability using OpenTelemetry in SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Kyma Evolution: Transforming SAP Kyma into a tailor-made SaaS Platform for sbs extensionsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Kyma Integration with SAP Cloud Logging. Part 2: Let's ship some tracesexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant application using Cloud Application Programming Model (CAP)explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant Business Applications with CAP | Hands-on Video Tutorialsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS Application using CAPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Reference architecture,
Multitenant SaaS applications on SAP BTP using CAP - The Reloaded Version!explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS applications on SAP BTP using CAP? SAP BTP, Kyma Runtime!explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS applications on SAP BTP using CAP? Tried-and-True!explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Advanced Versionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Basic Versionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Expert Featuresexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Open Sourcing CAP – how to learn more or get involvedexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Part 2: Runtime Architecture & Cost efficiency gainsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Platform migrationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.btp. Maintainer-requested scope audit.Capability,
Product Updates for SAP Build Code – June 2025 Editionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Quickly Deploy a Sample CAP Application to BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SaaS Self-Onboarding and One-Domain Concept in SAP BTP, Kyma Runtime using CAPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js Serviceexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP CAP - Optimize your build MTA projects with several ui appsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP Cloud Logging Serviceでコンテナメトリクスを監視するexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP Job Scheduling Service: 🔧 Generate Your Own Client Library from OpenAPI Specexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
Speed up deployment for CAP using Turborepoexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Streamline User Targeting with Segments in SAP Feature Flagsexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
Streamlined Kyma deployment for CAP applicationsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Surviving and Thriving with the SAP Cloud Application Programming Model: Deployment to SAP BTP, Kyma runtimeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
The fastest way to a deployable CAP app on SAP BTP Cloud Foundryexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
The Future of Continuous Delivery for SAP Cloud SDK and SAP Cloud Application Programming Modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Tips for running CAP nodejs in SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) Appsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Workflow integrationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Thu 15
11 changes
Automate Recurring Data Updates in SAP HANA CloudpublishedA walkthrough for marking inventory rows stale after 30 days using SAP HANA Cloud's own scheduler: a SQLScript procedure, a CREATE SCHEDULER JOB statement with its 7-field cron pattern, the M_SCHEDULER_JOBS monitoring view, and the matching DROP statements to remove both. It then names where that approach stops and lists the alternatives for scheduling outside the database: SAP Integration Suite's Timer Event, the SAP Job Scheduling service, SAP Automation Pilot for infrastructure commands, and a custom approach for triggering scheduled REST calls from an application.Blog,
cap-redisadded to the atlasApprouter session held in a bound Redis cache instanceSample,
cap-uiadded to the atlasMTA deploying CAP, HDI container and a Fiori elements appSample,
@cap-js-community/business-metricsdescription revisedTelemetry curation for the CAP door. The README opens by calling it an extension library for @cap-js/telemetry and lists telemetry enabled in the application configuration as a prerequisite, and the graph held no edge between the two. Read against the README at commit eee01d0.CDS plugin,
Show 7 more
@cap-js/telemetrydescription revisedTelemetry curation for the CAP door. The entry carried no paragraph and no property values, so the capability's comparison had nothing from the runtime's own answer on Node.js. Read against the README at commit e97874b, the 2.1.0 release, and capire's plugins page.CDS plugin,
@sanjay-sde/cap-js-log-controlprovides revisedTelemetry curation for the CAP door. The edge carried no sentence, and what the plugin does here is narrow: it lowers the verbosity of the telemetry logger and of the OpenTelemetry DiagLogger rather than producing or exporting a signal, so it states no signal and no destination. Read against the README at commit 587455e. Whether this entry belongs under telemetry or under logging is left open for review.CDS plugin,
@sap-ux/telemetryprovides revisedTelemetry curation for the CAP door. The entry stood among the options a reader compares for observing a running CAP service, and its own README places it elsewhere: a library SAP Fiori tools use to collect anonymous usage data. The sentence is recorded so the page states what it is; whether the edge, the cds-plugin type and the CAP door are right is left for review rather than changed here.Package,
cap-mcp-guardprovides revisedTelemetry curation for the CAP door. The edge said nothing about what the plugin contributes, and the README's own statement is narrow and conditional: one span per agent request, emitted into an OpenTelemetry SDK the application configures, with no exporter of its own. Read against the README at the master branch, last pushed 2026-08-14.CDS plugin,
cap-ui-telemetrydescription revisedTelemetry curation for the CAP door. This is the one option in the corpus answering the boundary the core states, that traces begin when a request arrives, and the entry did not say how it does it or that its records are logs rather than spans. Read against the README at commit 78e5d75.CDS plugin,
com.sap.cds:cds-services-bomprovides revisedThe entry carried the Fiori draft lifecycle and not the annotations the same guide documents for Java. Capire's Serving SAP Fiori UIs guide names the Java configuration for the Fiori preview and one annotation the Java runtime reads itself, @cds.java.descendants.aggregate for a hierarchy view over aggregates. Without this edge the java flavor of capability:fiori-annotations had no provider of its own, although CAP Java serves the same annotated metadata. @http.CacheControl, which the same guide states is supported only on the Java runtime, is a response header rather than a rendering instruction and is left to capability:pagination-and-streaming.Package,
Telemetrycore coverage, coverage by flavor, framing by flavor, framing by ecosystem, facets revisedThree questions the sources answer differently for the CAP options and that change which one a reader reaches for: which signals it produces, where it can send them, and whether the application has to write code for a signal of its own. Scoped to the CAP door; the ABAP and BTP options were not assessed in this pass.Capability,
Mon 12
1 change
Knowing the maintenance status of a releaseentry revisedDrafted with sap-support-radar and pam-mcp-server, the first umbrella artifacts (ADR-0063), which had no concern to attach to: mcp-servers is serving an application one built, agent-systems-access reaches into a running SAP system, and documentation is first-party docs made searchable. On the ABAP, CAP and UI5 doors because each has a published SAP answer of its own: the Product Availability Matrix, capire's release schedule and the SAPUI5 version overview. BTP is left out: its services name plans and regions rather than releases, and no page was read that states a maintenance period for one. core-only on every door because SAP publishes the answer and no door holds an option of its own; the umbrella entries count into no door's coverage by construction.Capability,
Sun 11
3 changes
Deploy, review, break, fix: Govern cloud transports with agility and AIpublishedFive BTP services in one delivery chain, as the abstract lays it out: a transport is triggered in SAP Content Agent Service, tested in SAP Cloud Transport Management, its failure is raised by SAP Alert Notification service for SAP BTP and remediated by a SAP Joule agent with SAP Automation Pilot, and SAP Cloud Logging keeps the history for root-cause analysis. The chain from alert to remediation is the operations automation concern; what the Joule agent decides on its own is not in the abstract. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Biser Simeonov, Daniel Funkert, Sven Rullmann and Thorsten Sandfuchs, written here from SAP's abstract; the recording is not yet published.Talk,
Everything new: Try out the latest features in CAPpublishedCAP (@sap/cds) gains the features this hands-on session works through: declarative constraints, which is the input validation concern, status flows as status transition flows, a cds REPL, extensibility through @sap/cds-oyster, and HCQL, which SAP's abstract calls CAP's native query-over-HTTP protocol, after an opening stretch of AI-driven app development. The abstract names the features and stops there; what each one does is not described. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Daniel Hutzel, Daniel Schlachter, Marc Huber and Tim Back, written here from SAP's abstract; the recording is not yet published.Talk,
Extending SAP Autonomous SuitepublishedExtensibility across SAP Autonomous Suite: AI-enabled development in SAP Build solutions, the ABAP Cloud model among them, as the way extensions are designed, generated and deployed, and a direction for making extensions ready for agentic AI. The abstract names the suite, SAP Build and the ABAP Cloud model and no single feature, so the edges are to Extensibility, the concern, and to SAP Build Code, the SAP Build solution held here in which Joule generates and deploys development; which other SAP Build solutions the session shows is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Alexander Rother and Khaled MUSILHY, written here from SAP's abstract; the recording is not yet published.Talk,
Sat 10
1 change
SAP BTP Cloud foundry Job Scheduling for CAP based projectpublishedWalks through binding the SAP Job Scheduling service's trial instance to a CAP application's own custom action endpoint, so the service calls it on a configured interval and keeps a log of each run. The action itself is ordinary application code — here, sending an email through a third-party library — and the trial subaccount the author used could only run the job once, not on a repeating schedule.Blog,
Thu 1
1 change
Product Updates for SAP Build Code – June 2025 EditionpublishedThe Q2-2025 release of SAP Build Code adds a Joule-based SAP HANA Application Migration Assistant extension that automates converting XS Classic and XS Advanced service-layer artifacts — XSJSLIB, XSODATA and XSJS — into CAP service definitions and handlers on SAP HANA Cloud, extending the existing database migration assistant with generative AI. It walks through the "XS Classic to CAP" and "XS Advanced to CAP" templates that trigger the conversion.Blog,

Sun 27
11 changes
@cap-js/processadded to the atlasStarts and manages SAP Build Process Automation processes from CAPCDS plugin,
@sap_oss/vscode-mta-toolslinks revisedThe old repository's README says it has moved to the app-studio-toolkit monorepo; the edge now cites the README at the new address.IDE extension,
@sap/cdsprovides[service-integration] revisedThe option states the protocols it speaks for this concern, from its documentation's sentence (docs/concepts/design-roles-and-interfaces.md, P2). Both facets cite the published capire pages, and each value carries the sentence that names it. What it serves rests on cds.protocols, which names OData V4 and REST outright. What it consumes rests on the Remote Services page, which names OData and plain REST, and, for the OData versions, on the Consuming Services guide, the one capire page that enumerates them; that guide says it is outdated and kept for archival purposes, so the entry dates the reading. HCQL, which CAP-level Service Integration calls CAP's native protocol, is not in the atlas's protocol list and stays out until it is.Package,
Configurationcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: a page this capability owns was cited nowhere.Capability,
Show 7 more
Deploymentcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
Feature togglescore coverage revisedcapire audit 2026-09-27: the Feature Toggles guide documents toggled features as built into both runtimes, with the production toggle provider left to the project, which is exactly what the one community option supplies. The capability had no core paragraph and no source.Capability,
Health checkscore coverage revisedP1 backfill 2026-09-27: the paragraph and the runtime edge now rest on a page in common.Capability,
Loggingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
Multitenancycore coverage revisedP1 backfill 2026-09-27: the paragraph and the runtime edge now rest on a page in common.Capability,
Multitenant SaaS Application using CAPparts, areas, edges revisedThe record states what its source draws around and between the parts (docs/concepts/reference-architectures.md §9.2): the provider and consumer subaccounts, the users and API clients, and the flow of subscription, data and authentication as the architecture page states it. On the checker's reading of the first draft: only the application is placed in the provider subaccount, since the page places nothing else there; the registration with the SaaS Provisioning service is the stated direction, not events the service raises; and API Management's policies are stated with no path, so no arrow.Reference architecture,
Telemetrycore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
Wed 23
1 change
@sap/cdsrequires revisedThe edge to SAP HANA Cloud, entered 2026-09-22, is removed: capire names SAP HANA as a CAP application's default database, not as a dependency of this package, whose own entry says databases arrive as plugins. The database service, @cap-js/hana, carries the edge since 2026-09-23, as cds-feature-hana does on the Java side.Package,
Tue 22
2 changes
@cap-js/audit-loggingrequires, connects[0] revisedThe second reader read the connects batch of 2026-09-19 on 2026-09-22, after its acceptance, and found: the README states the service as the shipped integration and an own store as an alternative, and both edges asserted it as fixed; the bare requires is now object form, conditional, with the two sentences quoted.CDS plugin,
@sap/cdsrequires revisednpm run check:usecases listed the path of answer-a-question-from-records-in-a-cap-service this entry is a part of with no edge between its parts. capire's databases overview names SAP HANA as the production default and the embeddings guide bases the vector functions on its implementations, quoted now; conditional because SQLite and PostgreSQL are named as the other databases.Package,
Mon 21
1 change
@sap/cdsprovides revisedcapire's CAP-native Embeddings guide documents the Vector type as built into CDS and vector_embedding, cosine_similarity and l2distance as functions of the query language, with a stored calculated element recomputing an embedding on write. The capability behind the CAP door carried no core edge and read community-only because of it. The edge is scoped to that modelled half in what_it_does: chunking and prompt assembly stay with the plugins and the application.Package,
Sun 20
2 changes
SAP Job Scheduling Service: 🔧 Generate Your Own Client Library from OpenAPI SpecpublishedA tutorial on generating a type-safe client library for the SAP Job Scheduling service's REST API from its OpenAPI specification, using the OpenAPI Generator CLI to target Node.js, TypeScript, Java, Python, Go or C#. It walks through OAuth 2.0 client-credentials authentication and the generated client's Jobs API, listing, creating and reading jobs with their cron schedules, and lists what the service's error statuses (400, 401, 404, 409, 429, 503) mean to a caller. It states that the official @sap/jobs-client will be deprecated and tells readers to use a generated client for now.Blog,
Tenant extensibilitycore coverage reviseddynamic-external-cds-join, an independent cds-plugin first seen on 2026-09-07, carries a provides edge to this capability on CAP beside @sap/cds-mtxs. The previous state was assessed on 2026-08-31, before that entry. The relationship is unassessed: no retrieved document gives a history between the plugin and the core.Capability,
Sat 19
18 changes
com.sap.cds:cds-feature-cloudfoundryadded to the atlasReads bound service credentials on SAP BTP, Cloud Foundry for CAP JavaPackage,
com.sap.cds:cds-feature-flowadded to the atlasDeclarative status-transition flows on bound actions in CAP JavaPackage,
com.sap.cds:cds-feature-k8sadded to the atlasReads SAP BTP Operator service bindings on Kyma for CAP JavaPackage,
com.sap.cds:cds-feature-mtadded to the atlasMultitenancy for CAP Java: tenant lifecycle and per-tenant containersPackage,
Show 14 more
com.sap.cds:cds-feature-n8nadded to the atlasTriggers n8n workflows from CAP Java through the outboxPackage,
com.sap.cds:cds-services-bomadded to the atlasMaven bill of materials pinning CAP Java module versionsPackage,
Getting started with cds.ql in NodeJS for CAP - 101 on how to query datapublishedWalks through cds.ql, the query API @sap/cds gives a Node.js CAP service's custom handlers, with worked SELECT, UPDATE, DELETE and INSERT examples against a sample schema — filters, AND/OR conditions, column projections, ordering, limiting, grouping and joining two entities through a schema view. An added correction notes that cds.tx(req) is no longer needed to run a query in newer CAP versions, contradicting the post's own original guidance.Blog,
Kyma Integration with SAP Cloud Logging. Part 2: Let's ship some tracespublishedWalks through shipping traces from SAP BTP, Kyma runtime to SAP Cloud Logging: a Kyma TracePipeline resource pointed at the service binding's OTLP endpoint, an Istio Telemetry resource that sets the mesh-wide sampling percentage, and Cloud Logging's Trace Analytics view to filter the resulting spans by service name or request ID. For a multitenant JavaScript CAP application it instruments with @cap-js/telemetry, naming the npm packages to add, and covers Cloud Native Buildpacks and manual Istio header propagation for services outside CAP.Blog,
Streamline User Targeting with Segments in SAP Feature FlagspublishedWalks through segments in the SAP Feature Flags service: reusable, named user lists — up to 1,000 direct user IDs or 15 attribute-based conditional rules per segment — referenced across every feature flag in a service instance instead of redefined per flag. Covers creating a segment from the Feature Flags Dashboard and the per-instance limit of 20 segments, plus the safeguard that a segment in use cannot be deleted.Blog,
@cap-js/audit-loggingconnects revisedThe plugin required the Audit Log service and said nothing of what passes between them.CDS plugin,
@cap-js/telemetryconnects revised@cap-js/telemetry names SAP Cloud Logging as one of its predefined export targets, and the graph had no edge between the two.CDS plugin,
com.sap.cds:cds-feature-cloudfoundryprovides revisedNew CAP Java feature discovered through capire and its published Maven POM. Facts describe the documented release; deployment compatibility is not verified by the atlas.Package,
com.sap.cds:cds-feature-flowprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.Package,
com.sap.cds:cds-feature-k8sprovides revisedNew CAP Java feature discovered through capire and its published Maven POM. Facts describe the documented release; deployment compatibility is not verified by the atlas.Package,
com.sap.cds:cds-feature-mtprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.Package,
com.sap.cds:cds-feature-n8nprovides revisedNew CAP Java provider discovered through the CAP plugins documentation and the cap-java/cds-feature-n8n repository. Facts describe the pinned source revision (0.0.1); the README itself notes association-path traversal is more limited than the Node.js plugin's.Package,
com.sap.cds:cds-services-bomprovides revisedNew CAP Java runtime entry discovered through official CAP documentation. cds-services-bom stands for the release as a whole (capire, java/developing-applications/building.md, Module Dependencies and Standard Modules); the edges above are the capabilities the java/ documentation and the cross-runtime guides show answered by the mandatory core modules and application frameworks the BOM pins, without a separate cds-feature module.Package,
SAP-samples/partner-reference-applicationconnects revisedThe description named the ERP systems the application integrates with, and the graph had nothing to point at. SAP S/4HANA Cloud Public Edition is now an external of kind sap-solution, and the tutorial's sentence about its OData services is the edge.Sample,
Fri 18
3 changes
Adding Custom Metrics to a CAP application using cap-js/telementry plugin and SAP Cloud LoggingpublishedWalks through adding a custom OpenTelemetry counter metric to a CAP application on top of @cap-js/telemetry's built-in database-pool metrics, incrementing and decrementing it from a service handler on CREATE and UPDATE of high-urgency incidents. Shows the resulting metric in SAP Cloud Logging's Discover and Visualize screens, building a custom visualisation from the exported metrics data.Blog,
From Application Logging to Cloud Logging: Service Innovation GuidepublishedSAP Cloud Logging replaces SAP Application Logging service, moving each customer from a shared multitenant stack to a dedicated, fully isolated one, and this guide sets out what changes with the move: a deployment per compliance region instead of per Cloud Foundry landscape, SAML/IDP-based authentication instead of Cloud Foundry-bound auth, retention that is configurable instead of fixed at seven days, and hourly capacity-unit pricing instead of fixed-size monthly plans. It also states the deprecation timeline for logging on BTP: SAP Application Logging closes to new or renewed CPEA contracts after 2025-07-31, while contracts signed before that date keep their entitlement until their next renewal.Blog,
@sap/cdsdescription, provides, changed in revisedRead from the June and September 2026 release notes, so a piece written against CAP Node.js 9 can be seen to predate them. The 10.0 date is when the first 10.x reached npm; the release note itself names only the month.Package,
Wed 16
6 changes
@sanjay-sde/cap-js-log-controladded to the atlasCAP plugin controlling CDS logger and OpenTelemetry log verbosityCDS plugin,
@sap_oss/vscode-mta-toolsadded to the atlasVS Code Multi-Target Application toolsIDE extension,
@sap-ux/telemetryadded to the atlasLibrary for sending usage telemetry dataPackage,
cap-mcp-guardadded to the atlasPolicy enforcement and field masking for MCP-enabled CAP appsCDS plugin,
Show 2 more
Deploy and Run the Incident Management Application in the SAP BTP, Kyma Runtime with a Mock ServerpublishedBuilds the Incident Management CAP service and its HTML5 UI deployer as container images with the pack CLI's Cloud Native Buildpacks, then deploys both to SAP BTP, Kyma runtime with a Helm chart, wiring in the mock-server destination and productive cds build --production output set up in the prerequisite tutorials. Marked out of maintenance in favour of the newer "Develop a Side-by-Side CAP-Based Extension Application" mission in SAP Discovery Center, but the build-and-deploy mechanics it walks through — buildpacks, image tags, a Helm chart — are what deployment still covers for Kyma.Tutorial,
opentelemetry-cdsadded to the atlasOpenTelemetry support for the CDS Node.js runtimeCDS plugin,
Tue 15
1 change
SAP BTP, Cloud Foundry Runtimeadded to the atlasCloud Foundry runtime of SAP BTP for polyglot applicationsService,
Mon 14
13 changes
cap-microservices-workshopadded to the atlasreCAP 2025 workshop on cutting a CAP app into microservicesSample,
shared-dbadded to the atlasCAP sample sharing one domain model and database across appsSample,
shared-db-javaadded to the atlasCAP Java sample sharing one domain model across several appsSample,
xsa-cap-migrationadded to the atlasGuide migrating the hana-shine-xsa demo from XS Advanced to CAPSample,
Show 9 more
xsa-cap-migration-using-basextnadded to the atlasGuide to migrating XS Advanced database artefacts to CAPSample,
xsc-cap-migrationadded to the atlasGuide to migrating XS Classic database artefacts to CAPSample,
Change promotioncoverage by flavor revisedABAP Cloud's transport story is SAP's own: gCTS through the Manage Software Components app in the BTP ABAP environment, and Export/Import Software Collection in S/4HANA Cloud Public Edition. The one provider found on the ABAP door for this capability, abapToC's ZTOC transaction, is a classic transport-of-copies tool built as an SAP GUI transaction and states no flavor, so no community option is present in ABAP Cloud.Capability,
Configurationecosystems revisedWidened to ABAP: greltel/abap-dynamic-assignment, raketenstart-abap/abap-tvarvc, jrgkraus/abap-gencust, abapinho/abaK and bizhuka/aqo keep parameters and constants out of ABAP code, as wrappers around TVARVC or replacements for it.Capability,
Deploymentdescription, ecosystems revisedSAP-samples' cf-mta-examples, cf-routing-samples, cf-autoscaler-custom-metrics-mtls and btp-kyma-helloworld, with the TechEd 2025 XP264 and XP265 workshops, deploy and operate applications on Cloud Foundry and Kyma, and their subject is the runtime and not the CAP build.Capability,
Feature togglesecosystems revisedWidened to ABAP: btc-ag/Featuretoggle and raketenstart-abap/abap-feature-toggle turn features in ABAP code on and off at runtime, each with a screen to switch them.Capability,
Job schedulingecosystems revisedSAP-samples/abap-platform-application-jobs schedules a class as an application job from an action on a RAP business object and shows the job's status and log in the app. It answers the concern on the ABAP door.Capability,
Loggingecosystems revisedNine repositories log from ABAP: six wrap the application log or its ABAP Cloud API, one logs function module calls to its own table, and two send entries to Fluentd, Graylog or Loki.Capability,
Telemetryecosystems revisedabap-metrics-provider, abap-opentelemetry and abap-prometheus export metrics and OpenTelemetry data from an ABAP system; SAP-samples/teched2025-CS261 monitors an instrumented BTP application through SAP Cloud ALM and SAP Cloud Logging.Capability,
Sun 13
5 changes
SAP-samples/cloud-foundry-runtime-learning-journeyadded to the atlasCompanion repo deploying a CAP app to Cloud Foundry two waysSample,
SAP-samples/partner-reference-applicationadded to the atlasPoetry Slam Manager, a multi-tenant SaaS reference app on SAP BTPSample,
SAP-samples/partner-reference-application-extensionadded to the atlasCustomer-specific catering extension to the Poetry Slam ManagerSample,
Configurationname revisedThe map draws every capability as one tile, and a name that spells out its second half ran to three lines at a size nobody could read. The id already carried the short name; the name now matches it. The concern is unchanged: the description and the coverage say what it spans.Capability,
Show 1 more
Deploymentname revisedThe map draws every capability as one tile, and a name that spells out its second half ran to three lines at a size nobody could read. The id already carried the short name; the name now matches it. The concern is unchanged: the description and the coverage say what it spans.Capability,
Fri 11
1 change
Job schedulingcoverage by ecosystem revisedThe core schedules tasks on its event queues: alpha in Node.js from the May 2025 release, cron and singleton tasks in @sap/cds 9.9.0, and CAP Java in 5.0.0. The 2026-09-09 assessment missed it.Capability,
Thu 10
2 changes
Open Sourcing CAP – how to learn more or get involvedpublishedA roundup of CAP's open-sourcing, begun at TechEd the year before, pointing to a webinar recording, a podcast episode and reCAP 2023 talks for background. Among the components it names are a feature toggle library giving Node.js CAP apps live-updatable toggles backed by Redis, a new pluggable database layer with SQLite and PostgreSQL implementations plus a generic SQL layer, and a change tracking component that builds a change history for data from CDS models.Blog,
@cap-js/audit-loggingreleased 1.3.0Setup notes that add the plugin to a CAP 8 project.CDS plugin,
Wed 9
6 changes
SAP Application Logging service for SAP BTPadded to the atlasCollects Cloud Foundry or Kyma logs into a searchable KibanaService,
SAP Feature Flags serviceadded to the atlasBoolean and string flags read by applications at runtimeService,
SAP Job Scheduling serviceadded to the atlasCalls an application endpoint on a schedule and logs each runService,
SAP Software-as-a-Service Provisioning serviceadded to the atlasRegisters a multitenant application for subaccount subscriptionsService,
Show 2 more
Loggingecosystems revisedThe BTP services answering this were in the corpus while the capability was not on the BTP map, so browse counted them behind the door and had no group to render them in. The BTP door is a reading of its own — a fallback to CAP's would assert something false about a service you bind rather than install.Capability,
Multitenancyecosystems revisedThe BTP services answering this were in the corpus while the capability was not on the BTP map, so browse counted them behind the door and had no group to render them in. The BTP door is a reading of its own — a fallback to CAP's would assert something false about a service you bind rather than install.Capability,
Tue 8
46 changes
A modern workflow for SAP Cloud Integration with CAP and Azure DevOpspublishedCAP used to build tooling rather than an application: the development workflow for Cloud Integration is limited to what the Integration Suite offers, so the author puts a CAP service and Azure DevOps around it. An unusual use of the framework, and the reason to read it.Blog,
Adding Shell Plugin to SAP Fiori CAP Application and Deploying to Cloud Portal ServicepublishedA launchpad shell plugin built as a CAP application and deployed to the Cloud Portal service — extending the shell around your app rather than the app itself.Blog,
Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation AppspublishedA process that drafts its own text: ChatGPT writing job postings, SAP Build Process Automation carrying them through approval, and CAP in between. Presented as a generic pattern the author expects to be adapted rather than copied.Blog,
Build, Configure, and Deploy SAP CAP Projects to the CloudpublishedA full CAP application with a Fiori UI taken from creation to the cloud in one post. Long, and it covers the configuration between the two that shorter guides skip.Blog,
Show 42 more
Building a SaaS Multitenant Application Using SAP CAP Framework — Without a DatabasepublishedMultitenancy with the database taken out, which is a useful way to see what is left: the approuter and its tenant host pattern, the XSUAA instance in shared tenant mode, and the SaaS Registry binding that makes a subscription happen. Everything here is subscription lifecycle and routing, so the parts that are usually entangled with HDI container provisioning are visible on their own.Blog,
CAP Developers - Call to Action to mitigate and Apply Solution provided in SAP Note 3747787publishedFour malicious npm package versions published on 29 April 2026 that exfiltrate credentials and propagate into adjacent repositories, and what a CAP developer should check. A security advisory rather than a technique, and dated precisely for that reason.Blog,
CAP Heaven? Not Yet — But You Can See It from HerepublishedAn assessment from someone with Java, Azure and AWS behind them as well as ABAP and Fiori, which is a rarer vantage point than it sounds. The title is the verdict.Blog,
CAP multitenancy with Work ZonepublishedA gap in the tooling and the manual edit that closes it. cds add portal wires the Portal service, which is deprecated; Work Zone supports multitenancy but has no equivalent command. The author runs the portal command anyway and then rewrites the resource and module config in mta.yaml to point at Work Zone. Short, and honest that it is a workaround rather than a supported path.Blog,
CAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma RuntimepublishedThe 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.Blog,
CAP, RAP, or Both: Stop Hiding Behind 'It Depends'publishedOpens by refusing the answer every other post on this gives — "both are complementary, choose based on context" — and then commits to a framework, including the parts usually left out: the staffing bias behind the decision, and what to do about a landscape with thousands of Z-objects. Argument, not tutorial.Blog,
Consuming SAP Build API's made easy with SAP Cloud SDK in your CAP applicationpublishedReaching into SBPA from CAP the other way round — reading its tasks and workflows rather than starting them. The author starts from the plain Axios version and says what it costs: the connection and the authentication are the work, not the call. Cloud SDK is used to generate a typed client from the OpenAPI document and then to resolve the connection through either a service binding or a destination, shown for client credentials and for user token exchange.Blog,
Declarative Programming in CAP: Less Code, More ValuepublishedAn argument for annotations over handlers, made from the case where it is most obvious: repetitive validation logic that could be declared instead of written. Describes what you want rather than how to get it, and lets the runtime decide the how.Blog,
Deploy a Full-Stack CAP Application in SAP BTPpublishedFive tutorials taking the Developer's Guide application from running locally to running on BTP — preparation, the deployment itself, role assignment, and integration with Build Work Zone. Published twice, once for Cloud Foundry and once for Kyma, with the same shape and different descriptors; indexed once, because the second is the first with the runtime swapped.Workshop,
Deploying a CAP Application to SAP Cloud Platform, Kyma runtime & connecting an iOS apppublishedKyma when it was new on the platform, taken from a CAP application through deployment to a native iOS client on the other end. Written by someone working the mobile side, so the parts about what a device needs from the service are more careful than usual.Blog,
Deploying first CAP Project in SAP Cloud : A Step-by-Step GuidepublishedThe terminal route rather than the template wizard, from cds init to a deployed application, with each command written out. For the case where the generated project is the thing you are trying to understand.Blog,
Developing CAP java/node.js mixed mono Multitenant SaaS Applications with Shared DatabasepublishedTwo CAP projects, one Java and one Node.js, in one npm workspace sharing a single tenant database. The interesting part is which sidecar wins: both sub-projects get an MTX sidecar, both have cds.xt.SaasProvisioningService switched off, and a third onboarding project keeps provisioning to itself. Configuration listings rather than prose, and it assumes you already know why you would want this.Blog,
Extensions for SAP Build Process Automation - Actions from CAP Node.js ServicepublishedThe direction of travel reversed: the CAP service is the thing being called, exposed as an Action so that a no-code process can consume it. Short by design — it is an introduction to a developer tutorial, and it says outright that the goal is to cover every step rather than to model a real use case.Blog,
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-6]publishedThe last part: the Fiori application built and deployed into the HTML5 Application Repository, separately from the service it talks to. Opens with a checklist of the five parts before it, which is the clearest statement of what the whole series covers.Blog,
Getting your head into Cloud Application Programming model multitenancypublishedOpens by telling you it is out of date and pointing at the HANA Academy series instead, which is more honest than most posts manage. What survives the staleness is the discussion and context around multitenancy that the title promises — the reasoning, not the commands.Blog,
Hello React & Vue : SAP CAP’s New UI Layer is Here!publishedCAP gaining a UI layer for React and Vue, which changes the default assumption that the front end is UI5. Short, and the significance is larger than the length.Blog,
HTML5.Timeout for CAP destinations in mta.yaml longer than defaultpublishedA page and a half about one property that has to be raised when a CAP destination is slower than the default allows — and it now opens with its own correction, dated October 2025, that the property is called timeout rather than HTML5.Timeout, credited to a commenter. The correction is why it is worth keeping.Blog,
Implementation of Observability using OpenTelemetry in SAP BTPpublishedTracing across a landscape rather than inside one service — BTP applications, integrations, workflows and automations that also call non-SAP microservices the customer runs. That span is where correlation stops being a nice-to-have, and it is the half @cap-js/telemetry's automatic instrumentation does not reach on its own.Blog,
Kyma Evolution: Transforming SAP Kyma into a tailor-made SaaS Platform for sbs extensionspublishedWritten by an extensibility expert building against Cloud ERP under clean core, and it treats Kyma as something to shape rather than to adopt — what has to be added to the runtime before it is a SaaS platform for CAP extensions. The Partner Reference Application post is the hands-on sequel.Blog,
Multitenant application using Cloud Application Programming Model (CAP)publishedA 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.Blog,
Multitenant Business Applications with CAP | Hands-on Video TutorialspublishedA hands-on video series from the SAP HANA Academy on building multitenant applications with CAP, with the written post as its index. Referenced by other posts here as the more current alternative to their own text.Blog,
Multitenant SaaS applications on SAP BTP using CAP - The Reloaded Version!publishedAn announcement rather than a tutorial, and it is the one that changes how the rest of the series should be read: the Cloud Foundry and Kyma code lines and their documentation were merged into a single sample, so the runtime becomes a choice inside one repository instead of a fork in the reading path.Blog,
Multitenant SaaS applications on SAP BTP using CAP? SAP BTP, Kyma Runtime!publishedThe Kyma counterpart to the Cloud Foundry Tried-and-True series — the same SaaS application, the same requirements, a Kubernetes runtime underneath. The two code lines were later merged, which the Reloaded post announces.Blog,
Multitenant SaaS applications on SAP BTP using CAP? Tried-and-True!publishedThe opening post of the Cloud Foundry series, and the one that states the shape of the whole thing: a sample built out of a partner co-innovation project with BCG, then delivered in three graded versions — Basic, Advanced, Expert Features — against a fictional partner's requirements. Read it for the motivation and the map; the implementation is in the three that follow.Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Advanced VersionpublishedWhat the basic version leaves out and production needs: central user management, and reaching an on-premise S/4HANA from a subscribed tenant. Framed as a step towards production readiness rather than as production itself, which is the honest reading — the Expert Features post is where the rest of that distance is covered.Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Basic VersionpublishedThe version deliberately bounded by what a trial or pay-as-you-go account can hold — the authors point out a PAYG owner can run it for nothing on free-tier services. Scenario first, then the architecture diagram, then a component-by-component walk through what each service in it is for.Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Expert FeaturespublishedThe last of the four, and the one carrying the features that are optional until they are not. Each is written up as a self-contained tutorial in the sample repository rather than inline, so the post is a guide to which of them applies to your landscape.Blog,
Part 2: Runtime Architecture & Cost efficiency gainspublishedThe technical half of the Kyma Evolution series: why a cluster tuned for CAP multitenancy is not just somewhere to run containers, and where the cost efficiency actually comes from.Blog,
Quickly Deploy a Sample CAP Application to BTPpublishedPrerequisites first and at length — account, dev environment, CLI tools, MBT — because that is where a first deployment actually fails. The deploy itself is short once they are true.Blog,
SaaS Self-Onboarding and One-Domain Concept in SAP BTP, Kyma Runtime using CAPpublishedTwo requirements that only appear once a SaaS application has customers: subscribing a tenant end-to-end without the provider doing it by hand, and serving every tenant from one domain instead of one host per subscriber. Kyma runtime, and the post is a summary pointing at an Expert Feature tutorial in the sample repository — it says so itself, offering a one-minute read as the entry point.Blog,
SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js ServicepublishedThe follow-up that carries the identity through. It takes the CAP service from the Actions tutorial and puts the calling user's identity behind it — an XSUAA instance, a trust configuration, an OAuthSAMLBearerAssertion destination, and the service changed to use that instance — so a step runs on behalf of a person rather than as the process.Blog,
SAP Cloud Logging Serviceでコンテナメトリクスを監視するpublishedIn Japanese. Container metrics for a CAP Node.js application into SAP Cloud Logging Service, and the reason it exists is that the obvious route does not apply: Spring Boot Actuator covers the Java side, and Node has no equivalent, so the author reaches for Telegraf instead. The procedure is deliberately independent of application logic — bind the instance, add a startup script and a config file — so it works against an application you already have.Blog,
Streamlined Kyma deployment for CAP applicationspublishedUnder two thousand characters on getting a CAP application onto Kyma with less ceremony than the long guides require. Short by design.Blog,
Surviving and Thriving with the SAP Cloud Application Programming Model: Deployment to SAP BTP, Kyma runtimepublishedAn episode of the author's #CAPTricks series, and it reads like one — long, opinionated, and organised around the things that actually go wrong on the way to a deployed CAP application rather than around the documented happy path.Blog,
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) AppspublishedThe two routes out of a CAP application into a process, side by side: a destination with OAuth2ClientCredentials, the same destination with principal propagation, and Event Mesh with a CloudEvents payload. Written before @cap-js/process existed, so it is the record of what the plugin now does for you — useful when the plugin does not fit, and useful for reading what it is actually doing underneath.Blog,
What's new in SAP Cloud Application Programming Model – January 2026publishedDecember and January together: the new @assert feature, revised documentation, CDS editor work, and Kyma deployment additions.Blog,
What's new in SAP Cloud Application Programming Model – November 2025publishedThe November edition, led by the Status Transition Flows feature presented at reCAP 2025.Blog,
What's new in SAP Cloud Application Programming Model – September 2025publishedThe monthly release communication for CAP itself, and this edition carries the MCP servers and the Application Frontend Service integration. Kept because a dated list of what shipped when is the only record of that; three editions are indexed here rather than the whole run.Blog,
Workflow development using SAP Cloud Application Programming Model and SAP Build Process AutomationpublishedAn argument about where logic belongs rather than a wiring guide. The author's case is that pulling mapping, preprocessing and JavaScript into the process model makes it unreadable to the process owner who has to maintain it, so the model should stay thin and CAP should hold the domain model, the authorisation annotations, the events and the API consumption. Each of those is then shown in turn against SBPA — including publishing CAP events into process visibility.Blog,
@cap-js/audit-loggingdescription revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.CDS plugin,
@rizing/cds-customer-stepbystep-toollinks revised404 from the GitHub API. Found by the first full run of scripts/check-links.mjs — the citation had a checked date and nobody had re-read it.Generator,
@sap/cds-oysterlinks, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.CDS plugin,
Mon 7
14 changes
@rizing/cds-customer-stepbystep-tooladded to the atlasTool completing a CAP project's deployment configurationGenerator,
A 25x faster mta.yaml build for SAP CAP Node.js projectspublishedOne change to the build descriptor, arrived at after discarding the obvious alternatives — the author reports trying shell scripts, npm caching and offline installs, swapping npm for pnpm, and cds build --no-clean, all of which helped and none of which was this. The value is as much in the record of what was ruled out as in the trick itself.Blog,
CAP is important because it's not importantpublishedAn essay rather than a technique: what CAP actually is, what it gives you, and the case for treating it as foundational precisely because it is not the interesting part of an application. Written in 2019, when that argument still had to be made, and the title is the argument. Also recorded as a Tech Aloud podcast episode and a CodeTalk, both linked from the post.Blog,
cds-feature-toggleadded to the atlasFeature-toggle pattern for CAP CDSCDS plugin,
Show 10 more
dynamic-external-cds-joinadded to the atlasCAP plugin joining external entities with internal tables at queryCDS plugin,
SAP CAP - Optimize your build MTA projects with several ui appspublishedWhat 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.Blog,
SAP Cloud Application Programming Model (CAP) - start herepublishedThe orientation post for CAP, published in 2018 and revised in 2020 and again in 2021 with help credited to Iwona Hahn — which is the unusual part: a starting-point index that was maintained rather than left to rot, and says so at the top. Read as the shape of what a newcomer was pointed at, and as a marker of how much of that changed inside three years.Blog,
Speed up deployment for CAP using TurborepopublishedImpatience as a method: minutes of waiting on MBT and cf deploy sent the author looking for alternatives. It is fair to MBT first — a wrapper doing the whole deployment in one go, creating services and applications along the way — before showing what Turborepo changes about the build half. The trade it makes is explicit rather than assumed.Blog,
The fastest way to a deployable CAP app on SAP BTP Cloud FoundrypublishedThe gap between an application that runs locally and one that runs deployed — binding, bundling, the database connection, authorization — treated as the problem rather than as setup. Since updated for cds up, which is the shortest answer the core now offers, and the post carries that update inline rather than leaving the original standing.Blog,
The Future of Continuous Delivery for SAP Cloud SDK and SAP Cloud Application Programming ModelpublishedA direction note on the Continuous Delivery Pipeline that Cloud SDK and CAP projects were expected to start from, written by someone on the inside as its future was being decided. Dated 2020, so read it for what was being weighed rather than for what to run — and as one of the few places the reasoning behind a tooling direction was written down at all.Blog,
Tips for running CAP nodejs in SAP BTPpublishedDeliberately not a summary of capire: the author says up front that nothing here repeats the documented best practices, and the subject is configuration for running cloud-natively rather than correctly. Examples target Cloud Foundry, with the claim that they hold for Kyma too.Blog,
Trigger an SAP Build Process Automation Workflow from CAP Using the @cap-js/process PluginpublishedA step-by-step setup for starting a Build Process Automation workflow from CAP through the plugin rather than through direct REST calls, which is how it had to be done before. Covers both ends: deploying the process in the SBPA designer and finding the workflow instance id it produces, then wiring the CAP side to it. Written against the first beta, released 26 April 2026, so the shape is settled but the surface may not be.Blog,
@sap/cdsreleased @sap/cds 10.1Guidance that a CAP Node.js application needs the SAP Cloud SDK to resolve a destination in production. It still does for anything outside the three authentication types named above.Package,
mtxs-reviewsdomain revisedA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.Sample,
Sun 6
2 changes
DevOps with SAP BTPpublishedHow SAP frames a delivery pipeline for applications on BTP Cloud Foundry: continuous integration through the SAP Continuous Integration and Delivery service and its pipeline templates for CAP and Fiori, transport and change management across environments, and a section on reasonable alternatives for teams with existing CI infrastructure. Culture first, tools second, and explicit that the setup differs on other BTP environments.Reference architecture,
Multitenant SaaS Application using CAPpublishedSAP's reference architecture for a multitenant SaaS application on BTP built with CAP: one deployment serving many tenants with logically separated data, the subscription and onboarding flow, and the BTP services the design leans on. Written for partners and line-of-business teams building on BTP, and it is SAP's own side of the shape multitenancy takes on BTP.Reference architecture,
Wed 2
2 changes
@sap/cds-oysteradded to the atlasWebAssembly sandbox for tenant-specific extension code in CAPCDS plugin,
@sap/cdsreleased 10.1.0A deployment whose messaging webhooks are reached anonymously with no auth configured, or whose collection-bound action is called by users its @restrict.where excludes.Package,

Mon 31
19 changes
@cap-js-community/business-metricsadded to the atlasBusiness-level metrics from CDS annotations via @cap-js/telemetryCDS plugin,
@cap-js-community/feature-toggle-libraryadded to the atlasLive-updatable feature toggles for CAP, backed by RedisPackage,
@cap-js-community/mtx-tooladded to the atlasCLI for operating tenants of multitenant CAP applicationsCLI,
@cap-js/cap-operator-pluginadded to the atlasGenerates Helm charts for the CAP Operator on KubernetesGenerator,
Show 15 more
@cap-js/n8nadded to the atlasTriggers n8n workflows from a CAP applicationCDS plugin,
@cap-js/telemetryadded to the atlasOpenTelemetry instrumentation for CAP servicesCDS plugin,
@sap/cdsadded to the atlasCAP Node.js runtimePackage,
@sap/cds-mtxsadded to the atlasMultitenancy, tenant provisioning and extensibility for CAPPackage,
cap-n8nadded to the atlasIntegration of CAP with n8n workflows and triggersCDS plugin,
cap-ui-telemetryadded to the atlasUI5 frontend performance and error capture for CAPCDS plugin,
mtxs-reviewsadded to the atlasMultitenant CAP application using cds-mtxsSample,
Configurationcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Deploymentcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Health checkscore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Loggingcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Multitenancycore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Telemetrycore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Tenant extensibilitycore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Workflow integrationcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Sun 30
1 change
@cap-js/audit-loggingadded to the atlasCAP integration with the SAP Audit Log serviceCDS plugin,
Thu 27
1 change
Workflow integrationthe core changed in @cap-js/n8n 0.0.1Guidance that n8n triggering from CAP has no SAP-official path and is community territory only. Since August 2026 there is an SAP-published plugin alongside the independent one.Capability,
Thu 20
1 change
@sap-ux/telemetryreleased 2.0.0Telemetry setups that pass only an instrumentation key for an Application Insights resource outside westus2.Package,

Tue 14
1 change
@sap/cds-oysterreleased 0.5.1Configuration that sets runtime to oyster, or that relies on extension-allowlist to gate code extensions.CDS plugin,
Thu 2
2 changes
@sap/cdsreleased @sap/cds 10.0Node.js code and posts that read the result of an INSERT, UPDATE or DELETE as a single object or a row count.Package,
@sap/cdsreleased @sap/cds 10.0Guidance that a non-Fiori client has to spell out draft notation to reach the active data of a draft-enabled entity.Package,

Mon 29
1 change
@cap-js/telemetryreleased 2.0.0Setups that pair the plugin with CAP 8, or that install @opentelemetry/host-metrics beside it.CDS plugin,
Thu 25
1 change
Job schedulingthe core changed in CAP Java 5.0.0Advice that CAP Java has no scheduling of its own.Capability,
Mon 1
3 changes
@sap/cdsreleased 10.0.0Setup notes that run CAP on Node.js 20.Package,
@sap/cdsreleased 10.0.0Handlers that read Decimal or Int64 values as numbers.Package,
@sap/cdsreleased 10.0.0Code that calls cds.compile.to.hdbcds().Package,

Sat 30
1 change
@sap-ux/telemetryreleased 1.0.0Examples and test setups written for the CommonJS build, such as a Jest configuration without ESM support.Package,

Thu 23
1 change
Job schedulingthe core changed in @sap/cds 9.9.0Advice that CAP's own scheduling takes intervals only, and that a cron cadence needs a plugin or an external scheduler.Capability,
Thu 16
1 change
@cap-js-community/feature-toggle-libraryreleased 1.3.4The CDS plugin drops the legacy plugin activation used by @sap/cds before 7.3.0, so plugin mode needs @sap/cds 7.3.0 or later.Package,

Fri 27
1 change
Workflow integrationthe core changed in @cap-js/process 0.1.0Guidance that calling SAP Build Process Automation from CAP is always a hand-written HTTP integration. Since March 2026 there is a first-party plugin for it — though the typed, process-specific service still does not work locally and needs a hybrid or production connection.Capability,

Mon 2
1 change
@sap/cdsreleased 9.7.0Setup notes that add express to a CAP project because @sap/cds lists it as a peer dependency.Package,

Mon 19
1 change
@cap-js-community/feature-toggle-libraryreleased 1.3.2Setup notes that run the library on Node.js 18.Package,

Mon 6
1 change
@sap/cds-oysterreleased 0.2.0Extension examples that call this.action() or register a before-READ handler.CDS plugin,

Fri 29
1 change
@sap/cdsreleased 9.3.0Handlers that read the token through req.user.tokenInfo or cds.context.http.req.authInfo.Package,

Wed 11
1 change
@cap-js-community/mtx-toolreleased 0.10.0Runbooks that rebind or delete HDI containers with --hdi-rebind-tenant, --hdi-rebind-all, --hdi-repair-bindings or --hdi-delete-tenant.CLI,

Wed 7
5 changes
@sap/cdsreleased 9.0.0Code and posts that call cds.outboxed() or configure cds.requires.outbox; a temporary compatibility layer keeps them working in 9.Package,
@sap/cdsreleased 9.0.0Clients that create a record with PATCH.Package,
@sap/cdsreleased 9.0.0Setups that set cds.features.odata_new_adapter=false.Package,
@sap/cdsreleased 9.0.0Setups that still use @sap/cds-hana or sqlite3 as the database service.Package,
Show 1 more
@sap/cdsreleased 9.0.0cds.test requires @cap-js/cds-test to be installed.Package,

Fri 25
1 change
@cap-js/telemetryreleased 1.3.0The telemetry-to-otlp kind switches to gRPC on its own when the endpoint uses port 4317, where it exported over http/protobuf before. @cap-js/hana's promisified driver API is traced by default, switched off with cds.requires.telemetry.tracing._hana_prom = false.CDS plugin,

Mon 31
1 change
Deploymentthe core changed in @sap/cds-dk 8.9.0Tutorials that present cds add mta, then mbt build, then cf deploy as the only path. That sequence still works, but since March 2025 cds up does it in one command, and is still beta.Capability,

Sat 7
1 change
@cap-js-community/mtx-toolreleased 0.9.0Running the tool on Node.js 16, or against an application still on the old cds-mtx library.CLI,

Thu 4
1 change
@sap/cds-mtxsreleased 2.0.1Multitenancy setups that keep @sap/instance-manager in the project as the way @sap/cds-mtxs creates tenant containers.Package,

Tue 20
1 change
@cap-js-community/mtx-toolreleased 0.8.0A service token fetched with uaas --uaa-service.CLI,

Fri 18
1 change
@cap-js/audit-loggingreleased 0.1.0Guides that set cds.features.audit_personal_data: true, annotate entities with @AuditLog.Operation, or expect reads of sensitive data to be logged by default.CDS plugin,

Thu 22
1 change
Multitenancythe core changed in @sap/cds 7.0.0Any tutorial or sample that provisions tenants through @sap/cds-mtx. That ran on cds 6; on cds 7 and later the app won't start until it migrates to @sap/cds-mtxs.Capability,
Wed 7
1 change
@cap-js-community/feature-toggle-libraryreleased 0.6.1Code that reads toggle metadata with getFeatureConfig or getFeatureConfigs.Package,

Tue 5
1 change
Multitenancythe core changed in @sap/cds-mtxs 1.0.0The core gained a rewritten multitenancy library, @sap/cds-mtxs, alongside the existing @sap/cds-mtx. Where the old library stored tenant extensions as source files and ran a build on the server on every activation, the new one stores only compiled csn files, runs the build locally before deploy, and drops the separate META-tenant container — tenant metadata now lives beside application data.Capability,
Fri 1
1 change
@cap-js-community/mtx-toolreleased 0.6.0Command lines from earlier guides that call uaap or uaas with their pre-0.6.0 meaning.CLI,

Wed 22
1 change
@cap-js-community/feature-toggle-libraryreleased 0.5.6Feature configuration files that set enabled on a toggle.Package,
Everything the feed holds.