NewSAP Cloud Application Programming Model
Change
Kind
Origin
Domain
2969 changes
@sap/cds-analyticsadded to the atlasCDS plugin adding embedded analytics to CAP for SAP Analytics Cloud
Error handlingcoverage by ecosystem revisedReassessed against the graph (check:capabilities): brandeis-consulting-abap-prc arrived after the block was last looked at, and the block named no community kinds.
Effective Axios Error Logging for Robust SAP Integrationsexplains 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).
SAP Cloud Application Programming Model(CAP):カスタムロジックの実装 – Part 2publishedA walkthrough of implementing custom logic in a CAP Node.js service for the capire bookshopcapire/bookshopThe primer of CAP: a bookshop small enough to read in one sitting, whose Books and Authors every CAP explanation, including this graph's, assumes you have already seen.sap official, cap sample, registering before, on and after handlers around the generated CRUD service for its Books and Orders entities. The before handler validates an incoming order's amount and runs a transactional CQN UPDATE to decrement stock, raising a 400 or 409 through req.error when the amount is invalid or no rows match; an after handler on READ appends a discount note to overstocked books.
Don't "let it crash", is this the new CAP guideline?publishedDinu traces a change in error handling in CAP's Node.jsNode.jsA cross-platform JavaScript runtime that servers, command line tools and scripts written in JavaScript are run with. For the things here, the prerequisite a repository names when its build is a set of npm scripts. runtime: @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap@8.2.0 adds a
cds.server.shutdown_on_uncaught_errors config flag, defaulting to true, but invoking an operation with an undefined variable no longer takes the server down, with or without the flag, where the same code crashed it on cds@6 and cds@7, and the author notes the old behaviour was already missing in cds@8.1. It still crashes with features.odata_new_adapter turned off to use the old OData parser, so it is the new OData adapter, like the REST adapter before it, that answers an uncaught error with a 500 instead of taking the process down.Show 5 more
Error handlingcore coverage revisedcds-error-outboxcds-error-outboxA CAP plugin that captures errors raised by CAP services into a database entity, deduplicates them so a repeating failure is one alert, and mails it over SMTP or Microsoft Graph.independent, cap, an independent cds-plugin first seen on 2026-09-07, carries a provides edge to this capability on the CAP door, so SAP-official and independent providers are both present there. 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 runtimes.
Error handlingecosystems revisedWidened to ABAP: dominikpanzer/RESULT-for-ABAP and furkancosgun/EITHER-FOR-ABAP return failures as values, SchwarzIT/sap-usi-exception converts exception texts into BAPIRET2 and SYMSG, and abapify/throw raises an exception from a text or a system message.
Effective Axios Error Logging for Robust SAP IntegrationspublishedTwo logged failures printed side by side, and the point is made by looking at them: one tells you what went wrong and one does not. Axios buries the useful part of an HTTP error, and this is what to unwrap before logging it from a CAP service.
cds-error-outboxadded to the atlasCaptures CAP service errors, deduplicates them and mails alerts
Error handlingcore 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.
SAP CAPv7 - Node.js Highlights and ExperiencespublishedAn account of upgrading a 100+ table CAP Node.js project from v6 to v7, working through breaking changes in @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 7: event handlers now always receive an array, service paths move under /odata/v4/... unless serve_on_root is set, and cds-serve replaces cds run. It goes deepest on the GraphQLGraphQLServing the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one.SAP only plugin, @cap-js/graphql@cap-js/graphqlA protocol adapter that generates a GraphQL schema from the model and serves it, so the same services answer GraphQL without a second definition of them.sap official, cap: the /graphql endpoint it serves, Composition results wrapped in a nodes connection, and offset-based pagination reached through OData's top and skip rather than GraphQL's own limit and offset.
CAP: GraphQL as new protocolpublishedWritten days after @cap-js/graphql@cap-js/graphqlA protocol adapter that generates a GraphQL schema from the model and serves it, so the same services answer GraphQL without a second definition of them.sap official, cap appeared, by somebody who went looking for it — an introduction to GraphQL alongside what the adapter actually does to a CAP service. The first outside account of the capability, and still one of very few.
SAP GraphQL in CAPm (node.js)publishedAdding the GraphQL protocol adapter to a CAP project when it was new — an entity, some data, the feature switched on, and a check that it answers. Short, and it is the earliest account here of CAP speaking something other than OData.
@cap-js/graphqldescription 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.
Show 2 more
GraphQLcore 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.
@cap-js/graphqladded to the atlasGraphQL protocol adapter generated from the CDS model
Importing an external data model using CDS Graphical Modeler for Visual Studio Codeexplains 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).
Importing external edmx files to your CAP project using the CDS Graphical Modelerexplains 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).
Introducing the Cloud Application Programming Model (CAP)publishedSAP's own general-availability announcement for CAP, laid out as a Golden Path: a data model and service defined in CDS gets a generated service provider that serves metadata publishingMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.SAP and community, narrow by design and CRUD requests, fills in primary keys and audit data, and writes trace and audit logsAudit loggingRecording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what.SAP only without application code. The same CDS model carries annotations that translate to OData vocabularies and generate a Fiori elements app skeleton, which is how Fiori annotationsFiori annotationsDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.SAP and community, unassessed work in CAP.
Importing an external data model using CDS Graphical Modeler for Visual Studio CodepublishedWalks through the CDS Graphical Modeler for Visual Studio Code: creating a "Customers" entity, importing an external OData model from an edmx file into the CDS model, and drawing a managed association from the new entity to an entity from the imported namespace. The import happens through the modeler's GUI rather than the
cds import command, and the imported edmx becomes a CDS file the modeler can open directly.Show 10 more
SAP Cloud Platform Backend service: Tutorial [12]: CDS : local: buildpublishedCompiling a CDS model locally with the
cds command-line tool, installed from @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap via SAP's own npm registry, before uploading it to SAP Cloud Platform Backend service: cds compile converts the model to CSN by default, --to edmx or --to edm produces the OData V2 or V4 metadata document, and --to hana or --to sql produces the database-specific definition files. It shows the local build catching an error the CDS editor's own validation misses — an entity with no key, valid CSN but invalid OData — before the same model reaches the server's compiler.Metadata publishingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.
SAP ORD Made Simple: What It Does and Why It’s Crucial in your SAP Landscape + Purpose and ValuepublishedExplains Open Resource Discovery (ORD), the metadata protocol SAP services use to self-describe their APIs, events and entity types for discovery across SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp, SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp and SAP DatasphereSAP DatasphereSAP's cloud data warehouse: spaces, modelled views and analytic models over data brought in or federated from source systems, with the business context carried along rather than rebuilt.sap official, btp. Points to SAP's @cap-js/ord@cap-js/ordGenerates Open Resource Discovery documents from a CAP model.sap official, cap as the reference implementation that lets CAP applications publish ORD-compliant metadata, the piece metadata publishingMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.SAP and community, narrow by design marks as beyond the EDMX and CSN the core emits on its own. Shows how to confirm ORD support for a published API by checking its ORD ID on the SAP Business Accelerator Hub.
Where ORD Is Used in SAP Datasphere, SAP Business Data Cloud & SAP DatabrickspublishedOpen Resource Discovery (ORD) is the metadata standard SAP's Business Accelerator Hub attaches to APIs, and the one SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp requires of any data product — including ones DatabricksDatabricksA unified data and AI platform. sap-bdc-mcp-server creates the Delta shares it registers with SAP Business Data Cloud in a Databricks workspace. publishes — before SAP DatasphereSAP DatasphereSAP's cloud data warehouse: spaces, modelled views and analytic models over data brought in or federated from source systems, with the business context carried along rather than rebuilt.sap official, btp can discover it. Data products moving from Databricks into Business Data Cloud carry both ORD and CSN metadata side by side.
com.sap.cds:cds-feature-ordadded to the atlasGenerates Open Resource Discovery documents from a CAP Java model
com.sap.cds:cds-feature-ordprovides revisedNew CAP Java provider discovered through the CAP plugins documentation and the cap-java/cds-feature-ord repository. The repository's own README states little beyond the dependency coordinate; capire's ORD section carries the description.
Importing external edmx files to your CAP project using the CDS Graphical ModelerpublishedAn EDMX downloaded from the API hub — API_BUSINESS_PARTNER in the example — imported into the CDS model and its entities exposed as projections, done through the graphical modeller rather than
cds import. Barely a page long.@cap-js/asyncapiadded to the atlasExports AsyncAPI documents for a CAP service's events
@cap-js/ordadded to the atlasGenerates Open Resource Discovery documents from a CAP model
Metadata publishingcore 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.
ODatacoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note counted the repositories and named none of the kinds that arrived since the block was assessed; it now names the kinds and links the ones that define them. State unchanged.
@odatano/nightgatereleased 0.35.0Client code and examples written against the
/api/v1/… service paths.#BTP #SAPCAP: Quirky Nuggets (N03-N04)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).
Adding Immutable Blockchain Proofs to SAP With CAP - Cardano and OData V4explains 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).
Show 50 more
Custom Functions in OData V4 – 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).
Extend SAP SuccessFactors on SAP BTP with CAP - Create the CAP 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).
How to add OData v2 adapter proxy to your CAP projectexplains 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).
How to rename an OData V4 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).
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client 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).
ODatadescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Resolving date serialization issues when using an external OData v2 service with 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).
SAP BTP SDK for iOS & CAP with OData V4 supportexplains 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).
SAP CAP Adapter to expose OData as custom REST 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).
SAP CAP function and action with Unstructured/Dynamic Type Input/Outputexplains 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).
The Complete Guide to Calling Actions in UI5 with Custom Codeexplains 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).
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single Projectexplains 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).
UI for the BTP Application Vulnerability Reportexplains 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).
How to rename an OData V4 service?publishedRenaming an OData V4 service binding changes its Service Alias and the resulting service URL, breaking any app already deployed against the old one — shown on a /DMO/TRAVEL-based example in the SAP BTP ABAP environmentSAP BTP ABAP environmentSAP's ABAP runtime on BTP: ABAP systems developed in the ABAP Cloud model on SAP HANA Cloud, for cloud apps, OData services and side-by-side extensions of SAP S/4HANA.sap official, btp by unpublishing, renaming and republishing the binding, then reading the new URL back from the OData V4 service catalog's ServiceGroups entry. It weighs that against two alternatives: adding a second service definition and publishing it as a new service version under the same binding, or creating an entirely new service definition and binding, which keeps the original URL live during the cutover.
@odatano/nightgatereleased 0.32.0Calls to the sponsor actions that pass a
sponsorSessionId.Extend SAP SuccessFactors on SAP BTP with CAP - Create the CAP ServicepublishedWalks through writing a service definition in SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp that projects entities from an existing CDS model: one entity gets
@odata.draft.enabled because Fiori Elements only shows CRUD actions on a draft-enabled entity, and a read-only projection of an already-imported SuccessFactors OData entity fails with the generic handlers because the call is delegated to the remote service, so a custom handler is needed. Running cds watch then serves the entities, drafts and $metadata at the declared service path.SAP CAP Adapter to expose OData as custom REST ServicepublishedWalks through consuming an external OData V2 service in a CAP project —
cds import converts the Northwind service's EDMX into a CSN and cds.connect.to wires up the remote proxy — then re-exposing it as plain REST with the @protocol:'rest' annotation instead of ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design's own envelope. Shows two ways to reshape the response, renaming and dropping fields in a CDS projection or rewriting the returned objects in a custom service handler, and remaps ?pageSize and ?offset onto OData's $top and $skip in that same handler.@odatano/nightgatereleased 0.27.0Queries that read the full contract state from every
ContractActions row.@odatano/nightgatereleased 0.28.0Client code that branches on
error.code being "400".@cap-js-community/odata-v2-adapterprovides[odata] revisedThe option states the protocol it serves for this concern, from its README (docs/concepts/design-roles-and-interfaces.md, P2): the odata facet is what is served, and the adapter serves V2; the V4 the same sentence names is what it translates into, which @sap/cds serves and states. The checker's reading found the runtime the README calls mandatory carried by no edge; it is one now.
ODatacore coverage, facets revisedA role in a design is filled from evidence that an option speaks what the fixed part exposes, and that join runs over one protocol vocabulary (docs/concepts/design-roles-and-interfaces.md, P2). Declared here so options can state it; absent stays "does not say".
@odatano/nightgatereleased 0.26.0Upgrade notes that move to 0.26.0 without running
nightgate-rewrap-keys.UI for the BTP Application Vulnerability ReportpublishedAn open-source SAPUI5 front end for SAP's Application Vulnerability Report API, backed by a CAP Node.js service that projects the external findings as an ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design V4 entity and forwards each query with api.run(req.query). The CAP service reaches that API through a Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp instance configured with OAuth2ClientCredentials authentication from a service key, so the address and credentials stay out of the application code.
SAP CAP function and action with Unstructured/Dynamic Type Input/OutputpublishedA CAP action or function can take or return an unstructured type: annotate the service
@protocol: 'rest', declare the parameter or return value as @open type object {}, and a handler shapes the payload however a given request needs, shown here with a bound action and a function that returns a different structure per input. The text states plainly that ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design V4 and GraphQLGraphQLServing the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one.SAP only services require a fixed structure for action and function parameters, so the dynamic type works only over CAP's REST protocol.com.sap.cds:cds-adapter-odata-v2added to the atlasOData V2 protocol adapter built into the CAP Java runtime
com.sap.cds:cds-adapter-odata-v4added to the atlasOData V4 protocol adapter for CAP Java Application Services
com.sap.cds:cds-adapter-odata-v2provides revisedNew CAP Java protocol adapter discovered through capire and its Maven Central POM. Facts describe the pinned capire commit 8b8b5810 and the 5.1.1 release; not verified deployment compatibility.
com.sap.cds:cds-adapter-odata-v4provides revisedNew CAP Java protocol adapter discovered through capire and its Maven Central POM. Facts describe the pinned capire commit 8b8b5810 and the 5.1.1 release; not verified deployment compatibility.
@root3287/cap-segwadded to the atlasCompiler from a CDS service to SEGW model and data provider classes
ODataecosystems, description revisedThe old wording made the model a CDS model, which is false for a Gateway service modelled in SEGW. CDS now qualifies what CAP generates from rather than the concern.
#BTP #SAPCAP: Quirky Nuggets (N03-N04)publishedTwo unrelated findings in one post, which is the format of the series: the OData operators tried against a CAP service — with a schema of deliberately awkward types to try them on — and undeploying database artifacts, which is the half people hit in anger. Numbered N03 and N04 of a run that continues either side.
Custom Functions in OData V4 – SAP Cloud Application Programming ModelpublishedFunctions 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.
How to add OData v2 adapter proxy to your CAP projectpublishedThe problem is stated in one line — a UI5 application that only speaks OData v2 in front of a CAP service that speaks v4 — and the answer is a proxy in the middle rather than a rewrite of either end. Written while v4 support in the UI5 stack was still patchy, which is the whole reason the adapter exists.
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationspublishedGetting 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.
Resolving date serialization issues when using an external OData v2 service with CAPpublishedDates coming out of an external OData v2 service in a shape CAP does not expect, and what to do about it. A narrow bug report with a fix, and the kind of thing that costs an afternoon if nobody has written it down.
SAP BTP SDK for iOS & CAP with OData V4 supportpublishedThe iOS SDK gaining OData V4, which until then made connecting a native app to a CAP service awkward — CAP defaults to v4 and the SDK did not speak it. Short, and it marks the date that stopped being a problem.
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single ProjectpublishedOne 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.
@odatano/coredescription 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.
@odatano/nightgatedescription 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.
@odatano/coreadded to the atlasCAP plugin serving the Cardano blockchain as OData V4
@odatano/nightgateadded to the atlasCAP plugin indexing the Midnight blockchain, exposed as OData V4
Adding Immutable Blockchain Proofs to SAP With CAP - Cardano and OData V4publishedThe write-up behind ODATANOODATANOmaintains 4 entriesindependent, by its author: how a public blockchain gets reachable from CAP as an ordinary OData V4 service rather than through a bespoke client. The premise it starts from is worth the read on its own — SAP systems are trusted but mutable, which is what an immutable anchor is for — and Cardano is chosen for peer-reviewed research and formal methods rather than for popularity. Written as an experiment with feedback invited, not as a recommendation.
The Complete Guide to Calling Actions in UI5 with Custom CodepublishedWritten because the documentation is thin and the samples sparse, and openly as a note to the author's future self — hand-coding an action call has become a rare task for anyone mostly working in Fiori elements, which is exactly why it is hard to look up when it comes round. Comes with a CAP sample project, so the service half is there too.
ODataid, core coverage revisedcommunity-owns-it described V2 alone. Across the whole capability the core owns V4 and stops at the V2 runtime on purpose, having deprecated it — the core is narrow here by decision, not by absence.
@odatano/nightgatereleased 0.23.0Offline installs that expect the prover keys inside the npm tarball.
@cap-js-community/odata-v2-adapteradded to the atlasExposes a CAP service as OData V2
ODatacore coverage revisedThe old sentence said V2 is 'explicitly out of scope for the core', which the V2 Support section disproves. It is in scope as documentation and out of scope as runtime — a narrower and more useful distinction.
@odatano/corereleased 1.8.0Configurations that select the CSL transaction builder through
TX_BUILDERS or txBuilders.@cap-js-community/odata-v2-adapterreleased 1.12.0Descriptions of the adapter that say it does not activate itself as a CDS plugin, and anything stating Node.js 16 support.
ODatathe core changed in @cap-js-community/odata-v2-adapter 1.10.0Any instruction to install
@sap/cds-odata-v2-adapter-proxy. That package has not been published since March 2023 and is deprecated, so guidance written before then names a dependency you should no longer add — including a good deal of the V2 writing from 2019 to 2022.Edge Integration Cell : Design, deploy and manage APIspublishedWalks through creating an API artifact in API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp on the customer-managed Edge Integration Cell runtime, including the option to generate the artifact by importing an OpenAPIOpenAPIHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.SAP and community, narrow by design specification rather than from a URL or by hand. It then attaches an Authentication policy and a Quota step capped at four calls per minute, deploys, and shows both the resulting 401 and the quota-breach error in the Monitor logs. The author frames it as the first of a series on Edge Integration Cell's policies.
Part 2 – Empowering SAP BTP CAP Services through Open API Spec and Annotations for Effective Communication, Collaboration and GovernancepublishedWalks through generating an OpenAPIOpenAPIHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.SAP and community, narrow by design specification for a Node.js CAP service: installing cds-swagger-ui-expresscds-swagger-ui-expressServes a CAP service's OpenAPI definition as a browsable Swagger UI, which is the page @cap-js/openapi's document does not come with.independent, cap, bootstrapping it in server.js, a sample CDS data model with associations and compositions, and the YUML diagram and endpoint details the Open API Preview renders in Business Application Studio. Also shows gating the Swagger UI behind a user-defined environment variable so it is served in development and QA subaccounts but excluded from the production deployment on Cloud Foundry. Second of a three-part series; the first covers the concepts and the third goes deeper into annotations.
Adding a Swagger UI to Your SAP Cloud Application Programming Model / Node.js Serviceexplains 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).
Invoke OpenAPI-documented APIs remotely with 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).
Show 13 more
OpenAPIdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Swagger UI | SAP BTP Extension Generators | 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).
@cap-js/openapireleased 1.7.0OpenAPI documents generated before 1.7.0 for services without a
@protocol, which described REST paths for them.OpenAPIecosystems revisedabap-openapi, abap-openapi-ui and ABAP-Swagger generate code from OpenAPI documents and serve Swagger UI in an ABAP system. SAP-samples/manage-apis-codejam imports APIs by their OpenAPI specification into SAP API Management, which runs on BTP as part of Integration Suite.
OpenAPIname 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.
Adding a Swagger UI to Your SAP Cloud Application Programming Model / Node.js ServicepublishedThe problem stated from the other side of the wire: a CAP and HANA backend consumed by frontend developers with no SAP background, who said in the first meeting that they could not work from what the service offered. A browsable API page is the answer, and this is the post the Swagger UI plugin indexed here exists to serve.
Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming ModelpublishedThe 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.
Swagger UI | SAP BTP Extension Generators | Hands-on Video TutorialspublishedA blog post wrapped around a video playlist from the SAP HANA Academy — Swagger UI for CDS, added to the BTP extension generator series. The written half is an ingredients list and a table of contents; the substance is in the recordings.
@cap-js/openapidescription 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-swagger-ui-expressdescription 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.
OpenAPIcore 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.
@cap-js/openapiadded to the atlasGenerates OpenAPI documents from a CDS service
cds-swagger-ui-expressadded to the atlasSwagger UI for a CAP service's OpenAPI definition
Pagination and streamingcore 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.
Serve your application over MCPcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted providers, and sap-security-mcp no longer provides this capability. The unmapped state is unchanged.
From SAP Sales and Service Cloud V2 APIs to AI: Building an MCP Server with CAP Node.jspublishedA step-by-step CAP Node.js walkthrough that wraps the SAP Sales Cloud V2 Case API as a remote service, then exposes the resulting service over both OData V4 and MCP through a single
@protocol: ['odata-v4', 'mcp'] annotation together with @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap's per_action_tool setting. Each CDS action — listCases, getCaseById, createCase, patchCase — becomes its own MCP tool served at /mcp/caseservices, discoverable through tools/list and invoked from a natural-language request.SAP Meets the Agentic Web: CAP MCP - UI5 WebMCPpublishedA Devtoberfest 2026 session (CAP-42) that puts MCP and WebMCP side by side: MCP exposes a backend to an agent, WebMCP exposes the tools of a web page to whatever agent arrives at it, and only Chrome behind a flag and Cloudflare's Kite browser support the second one today. The CAP half starts with two agents scraping a Fiori elements app with PlaywrightPlaywrightA library that drives Chromium, Firefox and WebKit from code, written for end-to-end browser testing. For the things here it is the browser a tool starts itself, to get through an SAP login or to load a page headless and photograph it. and browser dev tools, then annotates the catalogue service with the MCP protocol through @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, after which the agent calls the generated describe tool instead of parsing pages. The UI5 half registers a search-authors tool on the browser's model context API inside the same app, with the cross-origin isolation header the API requires, and lists it through the WebMCP Chrome extension — the agent run against it ends on an exhausted Gemini key rather than a result.
What's in Daniel Hutzel's brain?publishedA Devtoberfest 2026 session in the building-apps track, in which Daniel HutzelDaniel Hutzelgave 3 talks, contributed to 32 entriessap official and DJ AdamsDJ Adamscreated 22 pieces, contributed to 20 entriessap official work through what the CAP team is building for agents. A bookshop gets an MCP endpoint beside its OData one from a single annotation, with the plugin writing the coding agent's configuration itself; in the xt-travels sample five services that know nothing about each other are served over MCP and an agent does the orchestration the hand-built UI and its value helps used to do. Hutzel then annotates a service as an agent so the ReAct loop and the choice of model move into the CAP service, and finally drops MCP for a skill that teaches the agent CQL instead, which is where the edges to Serve your application over MCPServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design, Agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed and Agent guidanceAgent guidancePackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from agent access to your code, where the agent reads the real project instead of being handed a file about it.SAP and community, core adopted it come from. The mechanism under all of it, a plugin file in the package root and event handlers that can be added to any CAP service, is the edge to Plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only.
Show 59 more
CAP in the age of AIpublishedSeven live episodes of Hands-on SAP Dev in which DJ AdamsDJ Adamscreated 22 pieces, contributed to 20 entriessap official works through CAP's AI features with the people who build them, each one a screen-share against a sample project. The first three are @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap: the
@mcp annotation on a service, the describe, query and call tools, CQL as the query format, and what authorisation takes out of the tool list. From episode three the run moves to A2A and @cap-js/agents@cap-js/agentsSAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author.sap official, cap — human approval of an action, agents.md and skills, session persistence, telemetry and sub-agents — and the last two episodes are vector embeddings in CDS, local on SQLite and native on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp.CAP in the age of AI #1 - the MCP adapterpublishedThe episode that opens the series and the first pass over @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, with four of the people building it on the call. Two of the adapter's tools are worked through:
describe, the one an MCP client reaches for first to get the overview of what it may do, and query, which the panel establishes as read-only. It also writes the server entry into a local agent's own configuration file, which episode three comes back to as auto-wiring.CAP in the age of AI #2 - more on the MCP adapterpublishedWhat the query tool costs in tokens, and the third tool @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap registers. Counted against a model running locally under llama.cpp, the same query is 26 tokens as CQL and 173 as CQN, and the tool definition sent with every system prompt drops from around 5,500 tokens to around 600 — the reason CQL became the default format. The
call tool then exposes a service's unbound actions and functions, as one generic tool or, behind a flag, one tool per action with its own description and input schema; a question from the chat about extension points gets the answer that the adapter does the tools, which the panel calls a small subset of the protocol.CAP in the age of AI #3 - from MCP to A2ApublishedThe episode that finishes @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap with authorisation and then crosses to agents.
@requires and @restrict are the same annotations CAP already has, and the plugin reads them to filter the tool list and the describe output per user and per request, so a model is not told about entities the caller cannot reach — where the OData metadata of the same service lists every exposed entity regardless. The second half annotates a service with @agent from @cap-js/agents@cap-js/agentsSAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author.sap official, cap, which serves it over A2A with an agent card and a chat preview, runs first against a mocked response and then against SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp bound with cds bind and a hybrid profile, and reuses the MCP adapter's tools rather than defining new ones.Agentic AI on BTP: a Multi‑Agent App with Pydantic AIexplains 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).
Agentic AI on BTP: a Single Agent with LangGraphexplains 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).
Agentic CAP: Build MCP servers and enterprise AI agentsexplains 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).
BTP Audit Log MCP Server: Security Monitoring with AI Assistantsexplains 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).
CAP Node.js Expert Session #6 - The MCP Adapterexplains 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).
MCP Servers are the New Z-Tablesexplains 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).
Serve your application over MCPdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
The Easiest Way to Expose a CAP Node.js Project as an MCP Serverexplains 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).
Third-Party MCP Server Access to SAP Solutions on BTPexplains 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).
Third-Party MCP Server Access to SAP Solutions on BTPpublishedDescribes external MCP servers and custom servers on BTP, assigning their operators responsibility for authentication, scoped identity, API limits, logging and lifecycle. The permitted use remains conditional on the SAP API Policy, while SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp and Joule Studio are described as SAP-provided paths. Hosting a server on BTP does not automatically supply its governance controls.
Model Context Protocol Adapter — CAP guidepublishedDocuments @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap and com.sap.cds:cds-adapter-mcpcom.sap.cds:cds-adapter-mcpThe MCP protocol adapter for CAP Java, serving an @mcp-annotated Application Service as an MCP server with three generated tools, describe, query and call, and data changes only through unbound actions.sap official, cap, service annotations, generated describe/query/call tools and local client setup. The guide records Java doc-comment configuration, unbound-action-based data changes, incomplete XSUAA PKCE support and the adapter’s governance boundaries.
@cap-js/mcpprovides[mcp-servers], provides, description revisedThe maintainer explicitly approved this public wording after independent review. Keeps the accepted ADR-0066 application of the SAP gateway/proxy prohibition in history, removes the internal decision identifier from reader-facing prose, and preserves all implementation restrictions.
@gavdi/cap-mcpprovides[mcp-servers], provides revisedConverts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained.
@neoimpulse/cap-js-mcpdescription, provides[mcp-servers], provides revisedConverts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained.
@odatano/core-mcpprovides[mcp-servers], provides revisedConverts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained.
@odatano/nightgate-mcpprovides[mcp-servers], provides revisedConverts the text answer to controlled list values. Its documented conditions remain in the capability relationship; original citations and runtime scope are retained.
cap-mcp-pluginprovides[mcp-servers], provides revisedResolves the requested review findings while preserving the structured comparison values, runtime scopes and implementation restrictions.
com.sap.cds:cds-adapter-mcpprovides[mcp-servers], provides, description revisedResolves the requested review findings while preserving the structured comparison values, runtime scopes and implementation restrictions.
Serve your application over MCPcore coverage, coverage by ecosystem, core coverage, description, facets revisedThe comparison separates exposed contracts, context mechanisms, execution paths and surface selection; provider explanations retain conditions and restrictions. The capability definition and all nine provider conversions must be published together; accepting only the vocabulary leaves legacy provider strings incompatible.
Agentic CAP: Build MCP servers and enterprise AI agentspublishedCAP applications become AI agents over the Model Context Protocol and the Agent2Agent protocol, which is the serve your application over MCPServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design concern, and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp is the LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design through which AI is embedded in a CAP app, with recommendations from the SAP-RPT-1 model as the abstract's example. The abstract names the two protocols and the one model and does not say which packages carry them. A two-hour TechEd 2026 session in a hands-on room (Tuesday 27 October, Berlin), presented by Daniel HutzelDaniel Hutzelgave 3 talks, contributed to 32 entriessap official, Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official, Marc Huber and Sami Lechner, written here from SAP's abstract; the recording is not yet published.
From Dashboard to Conversational AI in Minutes: Adding MCP to an Existing CAP ApplicationpublishedA walkthrough of adding @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap to an existing CAP service behind the SuccessFactors Localization Dashboard: two annotations (
@odata, @mcp) expose the service over MCP beside its existing OData endpoint, and doc comments added to the 18 entities and their fields are surfaced through the describe tool so a querying model gets business context instead of bare field names. During local development cds watch auto-registers the endpoint in ~/.claude.json, and the author connects the same endpoint to Joule Work Desktop as an MCP connector so users can ask coverage questions in natural language.September 15th: What's New on developers.sap.compublishedThomas Jung walks through a week of changes aimed at agentic consumption of developers.sap.com itself: the hosted MCP serverServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design gains a published
.well-known/mcp.json manifest, curated tools (search_tutorials, get_tutorial_step with a Markdown format option, search_channels), and a listing in the ORD catalog beside its OData, REST and GraphQLGraphQLServing the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one.SAP only APIs. It also documents the site's existing A2A endpoint for the first time and ships a way to turn a tutorial into an installable, cryptographically signed AI Skill with a generated verification script, both concrete instances of agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed; separately, five broken GraphQL example queries were fixed and the full SDL is now served, and new sitemap.md, llms.txt fixes and ORD entries round out the site's own metadata publishingMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.SAP and community, narrow by design.Serve your application over MCPecosystems, name revisedThe Commerce and SuccessFactors providers reach into a system from outside and moved to agent access to your systems with their slots.
CAP Node.js Expert Session #6 - The MCP AdapterpublishedDaniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official and DJ AdamsDJ Adamscreated 22 pieces, contributed to 20 entriessap official add @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap to a bookshop service, inspect its describe, query and action tools, and query the catalogue through an AI agent. The session distinguishes this runtime adapter from the development-time MCP server and demonstrates automatic registration of the running service with a local agent. The recording describes the adapter as beta in July 2026, with read-only queries and writes through unbound actions.
Agentic AI on BTP: a Multi‑Agent App with Pydantic AIpublishedSplits a single CAP/TypeScript agent that had grown to juggle five BTP MCP servers behind one bloated tool list into btp-multiagent-app, a Python and Pydantic AI rewrite where the Cloud Foundry and BTP Core MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design each get a dedicated specialist agent, with an audit log specialist scaffolded but left disabled, behind an orchestrator whose only tools are delegation calls to those specialists, which is the agent-toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed pattern the piece works through. Each specialist authenticates to its MCP server over Streamable HTTP with OAuth 2.1, and a shared module centralises the SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp GenAI Hub model setup behind two credential layouts, one for local runs and one for the Cloud Foundry service binding, the LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design side of the rewrite. Tool lists per agent drop from well over a hundred to a dozen or two, and routing failures become separable from tool-misuse failures by reading the trace.
Agentic AI on BTP: a Single Agent with LangGraphpublishedA CAP TypeScript agent puts a LangGraph StateGraph in front of AzureOpenAiChatClient from @sap-ai-sdk/langchain, reaching SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp's Generative AI Hub, and lets its tool-calling loop draw on five deployed MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design — OData MCP Proxyodata-mcp-proxyA config-driven proxy that turns OData and REST endpoints into MCP tools from a JSON file — no code — and runs on BTP Cloud Foundry against BTP Destinations.independent, btp, CI MCP ServerCI MCP ServerAn MCP server that exposes SAP Cloud Integration's OData APIs as tools, defined entirely in one JSON config file, so an assistant works integration content, logs and configurations in natural language.independent, btp, AI Core MCP ServerAI Core MCP ServerAn MCP server that exposes SAP AI Core's APIs as tools, defined entirely in one JSON config file for a proxy, so deployments, configurations and scenarios are managed through an assistant.independent, btp, BTP MCP ServerBTP MCP ServerBTP Core Services as MCP tools, and the only server in this corner that renders dashboards inside the chat — a subaccount overview with drill-down, a geomap of data-centre locations, consumption and users.independent, btp and BTP CF MCP ServerBTP CF MCP ServerThe Cloud Foundry V3 API on SAP BTP as MCP tools — apps, orgs, spaces, services, routes and quotas — declared in one JSON config file and run by odata-mcp-proxy.independent, btp — through @langchain/mcp-adapters' MultiServerMCPClient. Because agent, servers and APIs share one XSUAA tenant, the chat service forwards the signed-in user's own JWT instead of a service account, so each downstream server enforces that user's own authorizations. Past roughly a hundred combined tools the single prompt slows down and stops separating concerns, which is why the author's next post splits it into one specialist agent per MCP server behind an orchestrator.
BTP Audit Log MCP Server: Security Monitoring with AI AssistantspublishedWouter Lemaire builds an MCP server over SAP BTP's Audit Log Retrieval API using odata-mcp-proxyodata-mcp-proxyA config-driven proxy that turns OData and REST endpoints into MCP tools from a JSON file — no code — and runs on BTP Cloud Foundry against BTP Destinations.independent, btp, with a single entity set and zero custom code, so an AI assistant can answer natural-language questions like "Were there any configuration changes yesterday?" by calling AuditLogRecords_list against a BTP destination authenticated with the Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp's service key. It covers the destination setup, the entity-set configuration that maps the PascalCase entity name to a lowercase auditlogrecords path, and handling the API's 500-record pagination limit.
Serve your application over MCPcore coverage revisedcapire audit 2026-09-27, link-only pages read a fourth time: MCP services are one of the three things SAP frames as CAP's native AI support, in the one sentence the section's index says of its own.
Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.jspublishedA CAP Node.js service imports the S/4HANA Cloud Outbound Delivery OData v2 API's EDMX metadata with
cds import, proxies its reads and a custom createDelivery action against it, and annotates the service @protocol: ['odata-v4', 'mcp'] with @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap's per_action_tool setting on, so the custom action gets its own MCP tool rather than one generic call_action. It tests the result with raw JSON-RPC tools/list and tools/call requests before deploying to SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp.Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.jspublishedA step-by-step walkthrough that wraps SAP S/4HANA Cloud's Outbound Delivery OData v2 API in a CAP Node.js service and exposes it through @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, so an MCP client can list the generated tools, query the delivery entities and call a custom createDelivery action over JSON-RPC. The remote S/4HANA connection is configured two ways in package.json: direct Basic Authentication credentials for local hybrid testing, and a named BTP destination for the app once deployed to Cloud Foundry.
@odatano/core-mcpreleased 0.3.0An
.mcp.json or setup guide that configures the server with ODATANO_BASE_URL and ODATANO_TOKEN.@odatano/nightgate-mcpreleased 0.7.0An
.mcp.json or setup guide that configures the server with NIGHTGATE_BASE_URL and NIGHTGATE_TOKEN.com.sap.cds:cds-adapter-mcpadded to the atlasMCP adapter turning a CAP Java service into an MCP server
com.sap.cds:cds-adapter-mcpprovides revisedNew CAP Java protocol adapter discovered through capire and its Maven Central POM. Facts describe the pinned capire commit 8b8b5810 and the 5.1.1 release; not verified deployment compatibility.
Serve your application over MCPcoverage by flavor revisedSAP's Sapphire 2026 ABAP MCP Server announcement, checked against its own documentation, turned out to answer agent-code-access, not this capability. None of the ABAP door's three providers of this capability states ABAP Cloud as a flavor; abap-ai/mcp names SAP NetWeaver 7.52, a classic-ABAP requirement, and the concern is not one of the classic-only kinds ABAP Cloud excludes, so it reads as unmapped rather than not-applicable.
MCP Servers are the New Z-TablespublishedA single CAP service exposed as three overlapping MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design tools, queried by the same prompt nineteen times, returned the same tool every time — evidence, the author argues, that tool selection rests on the resemblance between a prompt and a tool's description rather than on any binding a where-used list could enumerate before retiring it. It contrasts that setup with @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, which exposes a whole service as three generic tools instead of one per operation, and quotes the adapter's own beta documentation admitting no rate limiting, audit logging, input validation or approval workflow, and no use as a gateway to SAP Application APIs. From there it names four small Tool governanceTool governanceControlling what an agent may call, with which authorisations, and leaving an audit trail of what it did. The authorisation question that MCP exposure raises but does not answer.SAP and community, unassessed practices it has adopted: an owner recorded in the tool's own metadata, logging every invocation, deprecating inside the description, and exposing fewer tools.
Serve your application over MCPcoverage by ecosystem, framing by ecosystem revisedThe framing said what is exposed on BTP is usually SAP's own product. That still holds for the hosted servers, and the Integration Suite gateway is the case it did not cover.
Serve your application over MCPecosystems revisedAdded a day earlier for a CPI configuration that has moved to the BTP door. A capability listing an ecosystem with no door produces an "also in" link to a 404, which is how this was caught.
@neoimpulse/cap-js-mcplinks, description revisedThe npm description is wrong — it is the sibling trim plugin's line, pasted. Anyone reading the registry entry, agents included, is told this package trims strings. It does not.
Serve your application over MCPdomain, description, ecosystems revisedAn SAP-published MCP server entered from the sap-ai-mcp-servers catalogue answers this concern on the BTP door, and the door had no tile for it to sit under.
@neoimpulse/cap-js-mcpadded to the atlasMCP server inside a CAP application with model and query tools
Examine the details of the Model Context Protocol on startuppublishedWhat the MCP adapter actually does when a CAP server boots, watched rather than described — the companion to the tutorial that switches it on.
@gavdi/cap-mcpdescription 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.
@odatano/core-mcplinks 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.
@odatano/core-mcpadded to the atlasMCP server exposing the ODATANO Cardano-to-OData bridge as tools
@odatano/nightgate-mcpadded to the atlasMCP server exposing the NIGHTGATE Midnight attestation layer
Add MCP capabilities to a CAP servicepublishedA fifteen-minute walkthrough of turning a plain CAP service into an MCP server: annotate the service with
@mcp, install @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, and it is served alongside OData at /mcp/<path>. The part worth reading it for is what happens next — cds watch writes the endpoint into the local agent's own configuration file, so OpenCode or Claude Code can call the service without anyone editing JSON by hand. It is built on the tiny-sample facet, so there is nothing to prepare, and it shows the protocol traffic rather than only the result. Written while the adapter was in beta, and it says so.The Easiest Way to Expose a CAP Node.js Project as an MCP ServerpublishedFrom cds init to a running MCP server in a handful of steps, ending at the MCP Inspector so the result is something you can see rather than something you have to trust. The claim it makes for the plugin is the absence of work: no REST wiring by hand, the CAP application exposed as a server because the package is installed. A walkthrough rather than an argument — the reasoning about what should be exposed lives elsewhere.
Serve your application over MCPcore coverage revisedAssessed against the capire MCP adapter page and the June 2026 release notes. The boundary is unusually explicit for a beta feature: capire enumerates the governance it does not provide and forbids gateway use outright, which is what the community plugins here are answering.
cap-mcp-pluginadded to the atlasMCP server generated from a CDS model, forked from @gavdi/cap-mcp
Serve your application over MCPcore 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.
@cap-js/mcpadded to the atlasExposes CAP services as MCP servers for AI agents
@gavdi/cap-mcpadded to the atlasGenerates an MCP server from annotated CDS entities and actions
@cap-js/mcpreleased 1.4.2Configuration that sets
toon_format to switch the output format.Serve your application over MCPthe core changed in @cap-js/mcp 1.1.0Guidance that you must hand-write an MCP server to put a CAP service in front of an agent. That was true until mid-2026 and is not now — what is left to build is governance and anything that writes data.
Real-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSocketsexplains 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).
Streaming LLM Output with CAP and WebSocketsexplains 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).
Reading Between the Lines: Under-Documented Fiori Elements Capabilities in SAPUI5 1.149publishedReads SAPUI5 1.149's framework source, not its release notes, to show Fiori Elements shifting side-effect refresh, AI field placeholders and multi-user drafting from controller extensions into what the backing service annotates. Event-driven SideEffects push over a WebSocketWebSocketPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.Community only channel through @cap-js-community/websocket@cap-js-community/websocketA WebSocket adapter for CDS services, speaking either the plain WebSocket protocol or Socket.IO, so a service can push instead of being polled.community org, cap, while Draft handlingDraft handlingLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.SAP and community, narrow by design gains ABAP RAP's live field locking on CAP Node.js through Sören LeibachSören Leibachmaintains 6 entries, wrote 1 post, contributed to 5 entriesindependent's own cap-collaborative-draftcap-collaborative-draftA cds-plugin that gives a CAP Node.js service the OData contract, tables and handlers Fiori elements needs for collaborative draft, so a second user joins an open draft instead of meeting HTTP 423.independent, cap plugin. Both rest on Fiori annotationsFiori annotationsDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.SAP and community, unassessed such as
Common.SideEffects and CollaborativeDraft.enabled, which the frontend reads rather than requiring a manifest flag.A Practical Real-Time CTI Widget for SAP Sales Cloud V2publishedA small CAP backend, a WebSocket channel and a UI5 widget in an iframe — enough to get telephony events into Sales Cloud without any custom backend inside the CRM. The smallness is the design.
Show 5 more
CAP WebSocketspublishedThe 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.
Real-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSocketspublishedThe other half of the author's own industrial-data post: mass ingestion is only useful if the screen keeps up, so background jobs push progress to the UI over WebSockets instead of the user reloading. Written from a mission-critical case rather than a demo.
Streaming LLM Output with CAP and WebSocketspublishedTokens arriving from the AI SDK's orchestration module, forwarded to the browser as they come rather than after the model finishes. Covers all four pieces — enabling WebSocket support in CAP, a service with actions and events, the streaming itself, and a frontend on the native WebSocket API — which is what makes it the clearest case for why a CAP service would want a socket at all.
@cap-js-community/websocketdescription 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.
@cap-js-community/websocketadded to the atlasWebSocket and Socket.IO adapter for CDS services
XML payloadsdescription, ecosystems revisedSAP-samples' abap-platform-refscen-flight-soap-client and abap-platform-refscen-flight-soap-server consume and expose SOAP services from ABAP Cloud, which is XML exchanged with a system that does not speak JSON.
@neoimpulse/cap-js-xml-protocoladded to the atlasCAP plugin letting the REST adapter accept XML payloads
Analytical queriesdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Building an Analytical List Page with CAP OData V4explains 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).
Analytical queriesid revised"analytics" is the generic word for a whole product family, and this capability is one narrow thing inside CAP: $apply compiled into database aggregation. Somebody looking for where Datasphere or Analytics Cloud live found this and reasonably concluded the atlas had them. The id and the name now say which of the two it is, and the description says which it is not.
Building an Analytical List Page with CAP OData V4publishedThe annotations a CAP OData V4 service needs before an Analytical List Page will render — the write-up behind the cap-alpcap-alpAn Analytical List Page over a CAP OData V4 service, showing the aggregation annotations a CDS model needs before an analytical floorplan will render, kept in their own file beside the service.independent, cap sample indexed here. Candid about its provenance: the author credits a GitHub repository she found the approach in, and notes that the repository is no longer available, which is the whole argument for indexing the reasoning rather than only linking the code.
Show 5 more
E2E: SAP Cloud Platform Internet of Things to SAP Analytics CloudpublishedDevice data from ingestion to chart, with CAP occupying the middle: a CDS-defined persistence on HANA Cloud, and an OData service published from it for Analytics Cloud to consume live. The interesting choice is that CAP is used for the model rather than for business logic — there is barely any.
Predictive Asset Insights embedded Live analytics using CAP and SACpublishedCAP 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.
SAP Data and Analytics Showcase - Develop a Machine Learning Application on SAP BTPpublishedThe overview post of a showcase written by three authors, setting out the dataset, the scenario and the solution map before any of it is built. Its job is to say which piece goes where across the SAP data and analytics portfolio; the CAP application is one station on that map rather than the subject.
SAP Data and Analytics Showcase – Use SAP Cloud Application Programming Model to Develop a Machine Learning Application on SAP BTPpublishedThe 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.
Analytical queriescore 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.
Attachmentscoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): drops a count-like contrast with a plugin the flavor does not have.
Building an Attachment Upload and Download Solution Using UploadSetwithTable Controlexplains 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).
Consume SAP Document Management using @cap-js/sdm pluginexplains 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).
Extend Upload Set to Fiori Elements and utilize Document Management 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).
Show 60 more
How to transfer file from CAP backsideexplains 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).
Major updates to the Attachments plugin – multi-cloud support, malware scanning and moreexplains 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).
Media Handling in SAP CAPM – Backend and Frontend Implementationexplains 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).
Presenting sap-cap-sdm-plugin: Effortless Integration Between CAP (Node.js) and DMSexplains 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).
Unlocking Efficiency: Leveraging SAP BTP Document Management Service in Fiori Applications # 2explains 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).
Upload attachments in a Freestyle UI5 and CAP 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).
Uploading attachment with cap-js/attachment plugins but via External App/Postmanexplains 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).
Use SAP Document Management Service Plugin In CAP NODEJS Step by Step Guidanceexplains 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).
Working with the Attachment plugin - Cloud Application Programmingexplains 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).
Attachmentscoverage by ecosystem revisedThe five citations and four links to FileUploader.ts and UploadCollection.ts used the organisation the project has left, which now answers only as a redirect. Both files were opened at the new address on 2026-10-14 and carry the sentences quoted here, so every claim and every quote stands as written and only the addresses and their titles moved; the checked dates stay at the day each quote was last read in full.
@cap-js/attachmentsconnects[malware-scanning] revisedThe README names the scan and the HTTP 429 the service answers with, so the connection lands on the scan API SAP Malware Scanning service states (CONCEPT-005 §3.3, decision 10); the Object Store edge stays at the box, since the README says a bound instance and no more.
Attachmentscore coverage revisedThe paragraph opened with SAP's packages and never said that the runtime serves a @Core.MediaType element with nothing installed. capire's Serving Media Data page is that built-in layer, cited by pagination-and-streaming and not here. Two deliveries, said apart (docs/concepts/sap-ships-and-documents.md).
@cap-js/attachmentsconnects[malware-scanning] revisedThe second reader read the connects batch of 2026-09-19 on 2026-09-22, after its acceptance, and found: the connection to the malware scanner carried no condition while the requires edge beside it and the README both state one.
com.sap.cds:cds-feature-attachmentsconnects[object-store] revisedThe second reader read the connects batch of 2026-09-19 on 2026-09-22, after its acceptance, and found: the connection to the object store carried no condition while the requires edge beside it and the README's default, no dedicated storage target, both state one.
@cap-js/attachmentsconnects revised@cap-js/attachments required both services; the connections say what is sent to each, and that the scanner is spoken to over HTTP.
com.sap.cds:cds-feature-attachmentsconnects revisedThe plugin required both services; the connections say under which binding it talks to the scanner, and what it keeps in the object store.
com.sap.cds:cds-feature-attachmentsadded to the atlasCAP Java attachments with database storage and an Object Store module
com.sap.cds:sdmadded to the atlasCAP Java plugin for attachments in SAP Document Management
@cap-js/attachmentsprovides revisedRefresh storage and upload boundaries from the pinned README; make storage and scanning prerequisites conditional.
@cap-js/sdmprovides revisedDocument non-versioned repository scope and non-draft support. README contradicts itself on file size (100 MB versus uploads above 400 MB); no file-size value asserted.
@tklein1801/cap-js-attachmentsprovides revisedReplace the unsupported name-swapped summary with documented behaviour; preserve sourced lineage.
Attachmentscore coverage revisedReplace unsupported migration/UI boundary with sourced implementation limits; keep community additions separate. Add four CAP-scoped comparison questions and preserve other ecosystems/flavors.
cap-attachments-plusprovides revisedCurrent npm README documents destination-based cloud storage, replacing the name-swapped claim. Source repository availability remains unchanged; no cloud integration verified.
com.sap.cds:cds-feature-attachmentsprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
com.sap.cds:sdmprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
SAP Document Management service, integration optionserves ecosystems revisedAdd CAP to served ecosystems from documented CAP integration; preserve the existing BTP/UI5 contribution and source dates. CAP plugin restrictions do not apply to the service itself.
sap-cap-sdm-pluginprovides revisedPreserve the exact early release declaration and listed exclusions. Upload lifecycle and scan behaviour remain unestablished.
SAP Document Management service, integration optionadded to the atlasAPIs and a UI5 component for document management in apps
Attachmentsecosystems, coverage by ecosystem, framing by ecosystem revisedOn BTP the concern is answered by a repository service with folders and versions, which differs from the CAP, UI5 and ABAP framings of a file stored against an entity or a business object.
Attachmentscoverage by flavor, framing by flavor, coverage by ecosystem, ecosystems, framing by ecosystem revisedThe ABAP door opened with Generic Object Services and AttachmentCommentODataService, and what the concern is there differs from the CAP and UI5 framings: the file belongs to a business object in the system rather than to an entity a service defines.
Attachmentsname 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.
@tklein1801/cap-js-attachmentslineage revisedGitHub flags the repository as a fork of cap-js/attachments, but that flag is crawled as fork_of and never copied into lineage. The edge rests on the maintainer's own words instead: the README never mentions the original, the repository description does — "based on @cap-js/attachments".
Attachmentsecosystems revisedArtifacts that answer this concern sat behind the UI5 door with no tile to appear under, so browse counted them and rendered nothing. The concern is one a UI5 developer actually decides there, which is the test for opening a door rather than trimming a serves claim.
Building an Attachment Upload and Download Solution Using UploadSetwithTable ControlpublishedThe successor control to UploadSet posts the file in one request by default, and against CAP that is wrong: the record has to be created first and the content put to it afterwards. The author states the two-step shape plainly and notes it may not apply to an ABAP backend, which is the kind of boundary that usually goes unsaid. Written during a proof of concept for a reusable attachment component, and it carries the problem they hit with the control.
Extend Upload Set to Fiori Elements and utilize Document Management ServicepublishedWritten two months before there was an official plugin, and the author has left the record of that in the page: an update dated 2024-04-04 noting the CAP team released @cap-js/attachments@cap-js/attachmentsAn official CAP Node.js plugin for attachment handling, with local database storage and AWS S3, Azure Blob or GCP Object Store integration.sap official, cap, and another dated 2024-05-21 saying they tested it and wrote up the Object Store variant separately. The hand-built version underneath is still the answer when the plugin's storage choices do not fit.
How to transfer file from CAP backsidepublishedA PDF arriving from the front end, stored against the record with @Core.MediaType, and then sent on to an external service for parsing. Short, and the second half is the part that is not in the plugin documentation: getting the bytes back out of the model to forward them somewhere else.
Major updates to the Attachments plugin – multi-cloud support, malware scanning and morepublishedMulti-cloud storage and malware scanning added to the official plugin, framed through CAP's Calesi pattern — the argument being that a service interface is what lets the storage underneath change without the application noticing. The post that a triage bug hid: "attachment" had stopped matching "Attachments".
Media Handling in SAP CAPM – Backend and Frontend ImplementationpublishedFiles against a record with the front end included, which most of the attachments writing here leaves out — the entity that stores the content, the custom logic around it, and then the UI5 side that uploads and retrieves. End to end rather than one half.
Unlocking Efficiency: Leveraging SAP BTP Document Management Service in Fiori Applications # 2publishedDocument Management's own Attachment Reuse UI dropped into a Fiori elements List Report, in two variants — OData V2, and OData V4 in a CAP application. The CAP half is one of the two scenarios rather than the subject; the rest of the series is about custom Fiori apps and a process task UI, with no CAP in them.
Upload attachments in a Freestyle UI5 and CAP apppublishedAttachments where the UI is freestyle rather than Fiori elements, so none of the generated upload behaviour applies and both ends have to be written.
Uploading attachment with cap-js/attachment plugins but via External App/PostmanpublishedThe plugin is written for a Fiori elements front end; this is the case where the caller is neither — Postman and a React app. Short, and it exists because the request shape is not obvious from outside the generated UI: what to POST, what to PUT, and in which order.
Use SAP Document Management Service Plugin In CAP NODEJS Step by Step GuidancepublishedThe official plugin is documented in capire; this is somebody who set it up anyway and wrote down where it went wrong. The author says as much — the point is to spare customers the troubles, so the value is in the order of the steps and the prerequisites, not in the API.
Working with the Attachment plugin - Cloud Application ProgrammingpublishedOne instalment of the author's own series working through the CAP plugins one at a time, and it reads as that: what the plugin does, how it does it, and how to put it in a service. Written from the plugin list in capire rather than from a problem, which makes it the plainest introduction here.
@cap-js/attachmentsdescription 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.
@cap-js/sdmdescription 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.
@tklein1801/cap-js-attachmentsdescription 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.
cap-attachments-pluslinks, 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.
sap-cap-sdm-plugindescription 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.
Consume SAP Document Management using @cap-js/sdm pluginpublishedStoring attachments in a SAP Document Management repository from a CAP application, using the official plugin. The point the post makes about the plugin is that it brings its own UI: a user attaches any number of documents and one Save writes them all to the repository, so the application does not build an upload surface of its own.
Presenting sap-cap-sdm-plugin: Effortless Integration Between CAP (Node.js) and DMSpublishedThe author's introduction of the plugin, and unusually clear about its lineage: the idea came from a post about cds.plugins whose example did nothing more than append an emoji to annotated properties, and the groundwork was an earlier library, sap-cloud-cmis-client, that this builds on. Worth reading for how a plugin gets conceived as much as for what it does with Document Management Service.
Attachmentscore 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.
@cap-js/attachmentsadded to the atlasCAP Node.js attachments with database, S3, Azure or GCP storage
@cap-js/sdmadded to the atlasCAP attachments stored in an SAP Document Management repository
@tklein1801/cap-js-attachmentsadded to the atlasCAP Node.js attachments plugin with Object Store and malware scanning
cap-attachments-plusadded to the atlasCAP Node.js attachments plugin with database or cloud storage
sap-cap-sdm-pluginadded to the atlasCAP Node.js plugin mapping CDS entities to SAP Document Management
@cap-js/sdmreleased 1.11.0Deployment descriptors from earlier setup guides that do not enable HDI auto-undeploy.
Attachmentsthe core changed in @cap-js/sdm 1.0.0Guidance that treats @cap-js/attachments' object-store backend as the only officially supported place attachment bytes can live.
Attachmentsthe core changed in @cap-js/attachments 1.1.0Advice that malware scanning has to be wired up separately when using the plugin. Since May 2024 it runs by default outside the development profile, and is opted out of rather than into.
Attachmentsthe core changed in @cap-js/attachments 1.0.0Guidance that treats attachment storage as something you always build yourself on top of LargeBinary. That was the only approach before March 2024; LargeBinary is still the mechanism underneath, but the plugin is now the point of entry.
Cachingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Performance Boost and Caching Strategy for Faster Data Access using "cds-caching" in SAP 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).
@cap-js-community/commonprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge rested on a link with no quoted sentence, and the README states both halves a reader needs: the apps in the app folder with a ui5.yaml come from the file system and everything else is proxied to the remote repository, with the configuration file in the approuter folder as the prerequisite.
@cap-js-community/commonprovides, requires revisedMaintainer README documents replication configuration and the required production dependency.
Show 18 more
Cachingcore coverage, framing by ecosystem, core coverage revisedUser requires SAP ships to describe only core behavior and limits. Provider guidance belongs under The community adds. The broad tenant-key prescription is omitted; sourced tenant conditions remain on provider edges. Redis remains the served BTP option.
cds-cachingdescription, compat, requires, description revisedThe maintainer Store Types table documents independently selectable storage modes and adapters.
Cachingecosystems, core coverage revisedThe sentence was cut off mid-word. Rewritten to name the two CAP plugins by their entries, and the multitenancy warning moved here as core_coverage.note: node-cache leaves the graph because its own documentation names no SAP stack, and the lesson it carried is about every hand-wired general-purpose cache, not about one library.
Cachingecosystems revisedABAP-CACHE-BOX in this batch generates singleton cache classes over hashed tables for ABAP programs, which is application-level memoisation on the ABAP door.
Redis on SAP BTP, hyperscaler optionadded to the atlasManaged Redis from the hyperscaler via a BTP service binding
Cachingcore coverage revisedcap.cloud.sap.com does not resolve — the domain is cap.cloud.sap. Found by the first run of the link checker; the citation had carried a checked date since it was written, which is what a date alone is worth.
CAP just got faster: What's new in cds-caching 1.0publishedWhat changed in cds-cachingcds-cachingA caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support.independent, cap at 1.0, announced at reCAP 2025 by the plugin's own maintainer. The substantive change is the read-through API:
cache.rt.run(), send(), exec() and wrap() replace the bare cache.run() and cache.send(), and each returns the cache key and hit-or-miss metadata beside the result rather than the value alone. The second is quieter and easier to miss on an upgrade: user, tenant and locale stopped being folded into request-based cache keys by default and became opt-in through keyManagement, or per operation through a key template. Both of those still describe 3.x. What does not is the second half of the post: the metrics configuration it shows was reshaped at 2.0 and the statistics and dashboard settings were removed at 3.0, so take the monitoring and dashboard sections from the README instead. Read it as the successor to the introduction postBoosting performance in SAP Cloud Application Programming Model (CAP) applications with cds-cachingThe plugin's introduction post: what cds-caching is for, how it is put together and the cases it was written against. The edge holds because the plugin's README still points here as the piece to read first, so this is where a reader arriving at the plugin is sent. It predates version 1.0 and the API has moved since: the read-through calls it shows as cache.run() and cache.send() are the ones the README now lists as deprecated in favour of cache.rt.*, which returns the cache key and hit/miss metadata alongside the result, and 1.0 made user, tenant and locale awareness opt-in under keyManagement rather than folding them into request-based keys by default. Metrics and monitoring, the OData API and full TypeScript definitions arrived with 1.0 and are described in CAP just got faster: What's new in cds-caching 1.0 instead. The reasoning about when a CAP service wants a cache still reads true; the call sites need translating.published 2025-06-25, which still shows the deprecated calls.Performance Boost and Caching Strategy for Faster Data Access using "cds-caching" in SAP CAPpublishedSomebody else's account of using the plugin, which is the useful counterpart to its documentation. The case is specific: a master-data entity of more than a million rows, rarely written and constantly read, where the read-heavy shape is what makes caching worth the complexity rather than a general performance wish. Walks through integrating cds-cachingcds-cachingA caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support.independent, cap into that application and what it changed.
Cachinggap revisedSeed text. It claimed nothing credible existed for invalidation driven by CDS change events, which cds-caching answers, so the note described the corpus before that entry rather than the ecosystem.
Boosting performance in SAP Cloud Application Programming Model (CAP) applications with cds-cachingpublishedThe plugin's introduction post: what cds-cachingcds-cachingA caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support.independent, cap is for, how it is put together and the cases it was written against. The edge holds because the plugin's README still points here as the piece to read first, so this is where a reader arriving at the plugin is sent. It predates version 1.0 and the API has moved since: the read-through calls it shows as cache.run() and cache.send() are the ones the README now lists as deprecated in favour of cache.rt.*, which returns the cache key and hit/miss metadata alongside the result, and 1.0 made user, tenant and locale awareness opt-in under keyManagement rather than folding them into request-based keys by default. Metrics and monitoring, the OData API and full TypeScript definitions arrived with 1.0 and are described in CAP just got faster: What's new in cds-caching 1.0 instead. The reasoning about when a CAP service wants a cache still reads true; the call sites need translating.
cds-cachingverdict withheld revisedWithheld verdicts retired with the rings. Nothing is recused from: facts about an entry are facts whoever maintains it, and a starting-point is answered by description.to_build_on_it.
@cap-js-community/commonadded to the atlasSix CAP features in one package, from replication cache to rate limits
cds-cachingadded to the atlasCAP caching plugin for query results and remote service responses
Cachingcore coverage revisednarrow-by-design requires saying what the core does and where it stops. With the unsourced core claim removed there is no basis for either, and 'narrow by design' asserts an intent we cannot evidence. Unassessed is the honest state until someone checks.
cds-cachingreleased 3.0Any configuration snippet using statistics or dashboard, and any advice that assumes a persistent cache survives an upgrade untouched.
cds-cachingreleased 3.0.0The assumption that a slow store only delays a request: from 3.0.0 an operation past the timeout fails.
cds-cachingreleased 2.0Any configuration snippet setting metrics under the 1.x shape.
cds-cachingreleased 1.0Any code sample calling cache.run() or cache.send() directly. The calls still work but are deprecated, so a tutorial written before this shows the older shape.
Concurrency controlcore coverage revisedReassessed against the graph (check:capabilities): states what the community provider adds beyond the ETag.
Concurrency controlcore coverage revisedP1 backfill 2026-09-27: the paragraph cited providing-services#etag, an address the guide has since moved; the ETag section now lives under Generic Service Providers and both the paragraph and the new @sap/cds edge cite it.
Handling Concurrent Updates in SAP CAP JavapublishedAlice and Bob open the same employee record; Bob saves last and quietly erases Alice's change. The lost-update problem stated concretely and then answered in CAP Java, which is the only entry here on the subject — hence the capability.
CAP-level Data FederationpublishedA Devtoberfest 2026 session (CAP-31) on letting one CAP application read another's data as if it were local. The modelling half is the same for both answers, which is why the two technical edges hold: the provider defines an API service and exports it with CDS export as an npm package carrying the model, mock data and translated texts, the consumer imports it and puts consumption views on top, and only then is it wired either as service-level replication that copies the rows into local tables each time the server starts, or over the SAP HANA synonyms that cds-federation-synonymscds-federation-synonymsAn experimental CAP plugin for CAP-to-CAP data federation over SAP HANA synonyms, so one project reads another's tables without the rows being copied.sap official, cap generates, with HDI grants on the provider side and a service replacement that redirects each synonym from its mock table to the provider's container. It is worked through on xflightsxflightsA reuse package serving master-data entities (Airlines, Airports and Flights) as a service that other CAP applications compose into their own data model.sap official, cap and xtravelsxtravelsA travel-booking application built on the master data that xflights publishes, composing another package's schema into its own rather than owning master data itself.sap official, cap, including the local run where CDS watch mocks the imported service from the CSV files inside the package.
Data federationfacets, core coverage, name revisedThe concern this node holds is what capire calls data federation: making data that lives in another system available as if it were local, by federating the query, by copying the rows, or by caching what was read. Replication is one of the three strategies, and the facets declared on 2026-09-27 compare the options on exactly that axis, so a node named after one strategy read as if the other two were elsewhere. The id stays, as the 2026-09-13 rename kept it: it is the stable ref every record, edge and link carries. BTP keeps its own framing name, Master data integration. Proposed by the capire audit of 2026-09-27; decided by the maintainer.
cds-data-federationprovides, requires revisedMaintainer documentation describes two cache strategies; dependency on another cache provider does not exclude this API from the caching capability.
cds-federation-synonymsdescription revisedRetrieved the maintainer README on 2026-09-17: “This plugin is still experimental.” Record its declared status as conditional adoption guidance without inferring a production prohibition.
Show 9 more
Data federationname 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.
cds-federation-synonymsdescription 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-data-pipelineadded to the atlasScheduled READ, MAP, WRITE pipelines between CAP services
Federating, Replicating, and Caching Remote Data in CAP — Part 2publishedThe practical half of the pair. Where Part 1 sets out the terminology, what CAP does out of the box and where the gaps are, this one builds a small application that federates, replicates and caches remote data, one step at a time, with the finished project published as sales-cockpit so a reader can either follow along or start from the end. It began as a twenty-minute reCAP talk, which the author says was only room for the intro.
The Full Picture: Federating, Replicating, and Caching Remote Data in CAP — Part 1publishedPart one of two, and the concepts half: terminology, what CAP already does, and what a project still has to write. It fixes a vocabulary — federation is the umbrella for making remote data part of your model, delegation forwards each request to the remote at query time, replication is a scheduled copy into the local database, and caching is an option on either rather than a third strategy — which collides with CAP's own, since what this series calls replication is what the CAP-level Data Federation guide calls federation. From the ground the Service Integration guide covers, it lists what is left to hand-write: cross-service $expand, navigation filters across the boundary, write forwarding, timeouts and retries, then scheduling, delta detection, backoff, a guard for two app instances sharing one schedule, idempotent writes, and knowing whether the last run succeeded. That list is why the edge to cds-data-federationcds-data-federationA data federation plugin for SAP CAP applications that declares delegation, caching and replication on a consumption view through CDS annotations, instead of hand-written handlers.independent, cap holds: the second half maps it onto @federation.delegate and @federation.replicate and says which package carries which part — annotations in cds-data-federationcds-data-federationA data federation plugin for SAP CAP applications that declares delegation, caching and replication on a consumption view through CDS annotations, instead of hand-written handlers.independent, cap, the scheduled engine in cds-data-pipelinecds-data-pipelineDeclarative scheduled pipelines between CAP services — each one a linear READ, MAP, WRITE from a single source to a single target, with tracking, retry, delta support and a management API.independent, cap, response caching through cds-cachingcds-cachingA caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support.independent, cap — so it is the design rationale for the annotations, not the API reference. The gap list and the plugins answering it come from the same person who maintains them; cap-replication-democap-replication-demoReplication between systems with CAP.independent, cap and SAP's xtravels sample are cited as the hand-written form of the same work. Part 2 is announced as a walkthrough of a demo application and is not covered here.
Data federationcore 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.
cds-data-federationadded to the atlasData federation for CAP via delegation, caching and replication
cds-federation-synonymsadded to the atlasCAP-to-CAP data federation over SAP HANA synonyms
cds-data-federationreleased 0.3.0Configuration written for 0.2 that names the plugin's services or keys in their earlier spelling.
Data modellingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): independent ABAP providers (CDS Analyser, CDS field mapping, acds) now provide this capability on the ABAP door.
[Part – 2] Enrich CAP based Services with Behaviors using AnnotationspublishedThe second half of a two-part walkthrough of CAP's behavioral annotations, following on from access control and input validation in the first part. This post works through @cds.autoexpose, @cds.api.ignore, @cds.persistence.exists/skip, @cds.on.insert/@cds.on.update and the @odata.Type/@odata.singleton mapping overrides, all shaping how a CDS model is projected into a service, which is data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed. Alongside these it covers @cds.query.limit for default and maximum page sizes (pagination and streamingPagination and streamingReturning results a client can consume without loading everything — server-driven paging, and streaming large binaries rather than buffering them.SAP only), @odata.etag with exclusive and shared locks for optimistic concurrency (concurrency controlConcurrency controlStopping two people who opened the same record from silently overwriting each other — detecting that the version you read is no longer the version you are saving over.SAP and community, unassessed), and @cds.search for scoping $search to chosen elements (searchSearchFree-text search across an entity and its compositions, pushed into the database rather than filtered in the service. Declared search, database similarity search and filtering in application code are often lumped together.SAP and community, unassessed), each with a CDS code example.
A CAP Plugin for Flexible Number Range Management: cds-numberrange-pluginexplains 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).
Analyze and optimize ABAP Cloud model apps built on core data servicesexplains 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).
Show 33 more
CAP, CDS, CDL, CSN and jq - finding associationsexplains 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).
Computed field example in 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).
Create CDS Views and expose through OData service in CAPMexplains 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).
Data modellingdescription, ecosystems, entry revisedMerged the duplicate ABAP capability into this one, repointed its provides edges, content explains edges and prose links, and retired abap-data-modelling. Its old pages redirect here.
First Java Cap Applicationexplains 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).
SAP CAP(Cloud Application Programming)开发框架概述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).
Understanding Projections in CAPM: Select Only What You Need!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).
Develop a full stack Business application with SAP Cloud Application Programming ModelpublishedBuilds a full-stack CAP application in SAP Web IDE Full Stack's now-retired 'SAP Cloud Platform Business Application' template: a data-model.cds entity with its own service definition, then Fiori annotations on the generated OData. Building the project compiles that model into Catalog.xml and csn.json, the EDMX and CSN that metadata publishingMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.SAP and community, narrow by design says every exposed service gets. The entity and service definitions it writes by hand are the basic shape data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed covers, though the webIDE and MTA tooling staged around them is gone.
SAP Cloud Platform Backend service: Tutorial [11]: CDS : magic: key: generationpublishedExplains CDS's UUID key type: giving a key property
UUID gets its value generated automatically instead of a hand-picked unused number, as data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed lets an element's type do, at the cost of a 36-character value unfit for a user-facing display. It then works out how that generated value is addressed in a single-entity read URL — bare brackets in ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design V4 against the guid'...' literal V2 requires — citing the OData specification for the difference.Analyze and optimize ABAP Cloud model apps built on core data servicespublishedPerformance anti-patterns in data models built with ABAP CDSABAP CDSThe modelling layer of ABAP Cloud — view entities, projections and annotations defined above database tables, delivered with the platform rather than installed.sap official, abap under ABAP Cloud applications, and the tools that find them: the abstract names ABAP cross trace, the SQL analyzer (PlanViz) in Visual Studio Code and the SAP HANASAP HANASAP’s relational database platform, which stores application data and executes SQL and SQLScript in the database, available on-premise and as the managed service SAP HANA Cloud.sap official, btp database explorer as what the session uses to follow a bottleneck from the application to the database. The anti-patterns are taken from real business applications, which is where the data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed edge holds; which ones are shown is not in the abstract. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Ingo Braeuninger, Robert Werlich, Steffen Siegmund and Thomas Fiedler, written here from SAP's abstract; the recording is not yet published.
First Java Cap ApplicationpublishedA step-by-step walkthrough of a first CAP Java project: com.sap.cds:cds-services-archetypecom.sap.cds:cds-services-archetypeA Maven archetype that generates a new CAP Java project: a Spring Boot service with a starter CDS model, wired to the CDS Maven plugin for its build.sap official, cap scaffolds the initial Maven project, and the domain model is then rewritten in the db folder with entities, the cuid and managed aspects, associations, compositions and a CodeList, so a hand-coded event handler serving a single entity gives way to a service that CAP's generic persistence handling serves without custom code. It deploys that model to SQLiteSQLiteAn embedded SQL database engine used as a selectable local cache store by CAP caching plugins. for local development — cds deploy --to sqlite, then a Spring profile pointing at the generated database file — and ends by adding an index.cds so the model and service can be published as a reusable npm module.
Data modellingcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: the service definition page and the Node.js reflection API were cited nowhere; the Java reflection API already was.
SAP CAP(Cloud Application Programming)开发框架概述publishedA Chinese-language walkthrough of CAP built mainly from CAPire's own "About CAP" page: CDS entities, associations, compositions and aspects for data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed, with an
extend Books with @restrict: [{ grant:'WRITE', to:'admin' }] aspect as its authorizationAuthorizationDeciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact.SAP and community, unassessed example; CQL and CQN queries shown against both a local service and ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design's $select/$expand; and the service-and-event model — this.on, this.emit, srv.on — that carries CAP's async processingAsync processingDoing work outside the request that triggered it, with a guarantee that it eventually happens — deferred jobs, retries, and periodic work. Distinct from messaging, which is about telling other systems.SAP and community, narrow by design. It closes with the author's own setup: installing @sap/cds-dk, scaffolding a bookshop project with cds init, and running it with cds watch against local SQLite, mocked authentication and file-based messaging standing in for HANA Cloud, IAS and Kafka.Data modellingcoverage by flavor revisedABAP CDS is the sole ABAP-door provider of this capability, is sap-official, and states no flavor on its provides edge. SAP's own ABAP Cloud documentation (the abap-cheat-sheets ABAP Dictionary cheat sheet and the ABAP Cloud FAQ) confirms CDS view entities, not classic DDIC-based views, are how data models are built there, reachable only through released objects and public APIs. (Recorded on abap-data-modelling before the merge of 2026-10-17.)
A CAP Plugin for Flexible Number Range Management: cds-numberrange-pluginpublishedThe author's own plugin, and the reason given for writing it is about plugins rather than about number ranges: a year of using them convinced them that this was the way to extend CAP without leaving marks on the application. Sequential document numbers are the thing it does; keeping the host project clean is the thing it argues for.
cap-user-infoadded to the atlasUser details and quickview links for createdBy and modifiedBy
cds-numberrange-pluginadded to the atlasFills a CDS element from a database-backed number range
Computed field example in CAPpublishedAn answer to a Community question — how to count the entities on the far side of an association — written up as a short post rather than left in a thread. The answer combines CDS with Node.js service events, which is the seam worth noticing: some of what looks like modelling is expressed in the model and some has to be computed when the request arrives, and the boundary between them is not obvious from either side.
Create CDS Views and expose through OData service in CAPMpublishedViews defined in CDS and then exposed, which is the whole of what a small CAP service is. Written step by step from
cds init onward in Business Application Studio.SAP Incentive Management - Understanding of CSN file & CLI Command to generatepublishedCSN met from the far end: not as CAP's compiled model but as the interchange format a product hands to Analytics Cloud so a story knows the shape of the data. Explains what CSN is, why the format matters here, and the command that produces one.
Understanding Projections in CAPM: Select Only What You Need!publishedOne concept, explained by someone who had just learned it and says so — what a projection is, why it matters, and an analogy. The register is unusual here and suits the subject: projections are the first thing that makes CDS feel different from a table.
@sap/cds-common-contentprovides, artifact type, 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.
@sap/cds-compilerprovides revisedUnmapped since the seed because the capability it answers did not exist. The compiler is what turns CDL into CSN; every other tool reads the model through it.
@sap/cds-common-contentadded to the atlasISO content for CAP's countries, languages, currencies and timezones
CAP, CDS, CDL, CSN and jq - finding associationspublishedHow associations are actually represented once CDL is compiled into CSN, worked out by parsing the machine-readable form with jq. Useful less as a recipe than as a way in: anything that wants to reason about a CDS model without the compiler has to read CSN, and this is what that looks like from the outside.
@sap/cds-compileradded to the atlasCompiler from CDS models to CSN, EDMX and database schemas
@sap/cds-compilerreleased 7.0.1Builds that still produce
hdbcds artefacts, and setups running the compiler on Node.js 20.Data modellingthe core changed in @sap/cds 9.9.0Error-handling code or tests written against declarative constraints before April 2026 that match on a literal 'ASSERT' error code — they now see the constraint's own code instead.
Data modellingthe core changed in @sap/cds 9.6.0Advice that any conditional validation beyond @mandatory or @assert.range needs a handwritten handler. Since December 2025 a CXL expression in @assert covers much of that ground, model-side.
@sap/cds-compilerreleased 6.0.8Advice that CAP generates
WITH ASSOCIATIONS clauses on SAP HANA by default, or that $now is written into views as CURRENT_TIMESTAMP.Data modellingthe core changed in @sap/cds 8.0.3Build scripts and posts that call cds.compile.to.hdbtable.
@sap/cds-common-contentreleased 2.0.0Data that uses the country code
ZZZ for an unknown country.@sap/cds-compilerreleased 5.0.0Temporal-data models written with
$at.from / $at.to, and builds that rely on the hdbcds output.Database connectorscoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note counted one entry behind the door; it now names the driver and SAP HANA, which now provides the capability on this door. State unchanged.
SAP CAP With Prostgres Serice in BTPpublishedA step-by-step walkthrough of a CAP bookshop project on @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap, provisioning PostgreSQL on SAP BTP, hyperscaler optionPostgreSQL on SAP BTP, hyperscaler optionA managed PostgreSQL from the underlying hyperscaler — AWS, Azure, Google Cloud or Alicloud — consumed through a BTP service binding.sap official, btp's trial plan through
mta.yaml, building the MTA archive and deploying it to Cloud Foundry by hand, then inspecting the deployed database with pgAdmin over an SSH tunnel. It updates an earlier post by Mike ZaschkaMike Zaschkamaintains 6 entries, created 12 pieces, contributed to 9 entriesindependent on the same topic to the package CAP now ships by default, though the manual build-and-deploy sequence it shows predates cds up folding those steps into one command by a day.SAP HANA Cloudprovides revisedThe capability was added on 2026-10-24 for administering a database instance; SAP HANA Cloud ships its administration tools, so it is the core answer on BTP.
cds-mysqllifecycle 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.
Show 175 more
Bridging Python and SAP HANA: Inside the sqlalchemy-hana Open-Source DialectpublishedA Devtoberfest 2026 data-track session (DAT-21) in which one of the maintainers of sqlalchemy-hana, the open-source SQLAlchemy dialect published in SAP's GitHub organisation, opens up what sits between Python and SAP HANASAP HANASAP’s relational database platform, which stores application data and executes SQL and SQLScript in the database, available on-premise and as the managed service SAP HANA Cloud.sap official, btp. It walks the five dialect classes that render statements, types, DDL, identifiers and sequences, and the HANA specifics they absorb: the FROM DUMMY a bare SELECT needs, a limit injected when only an offset is given, string compiled to NVARCHAR, and quoted case-sensitive identifiers against Python's lowercase. The rest covers schema migrations with Alembic on HANA's transactional DDL, the recently added async support and vector types, and that HANA Cloud and HANA 2 are supported while HANA 1 is not.
Building your knowledge graph on SAP HANA CloudpublishedDevtoberfest 2026 session DAT-11, in which two enterprise architects explain what a knowledge graph is and then build one on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp. The first half sets the join across three relational tables against an ontology of classes and predicates, the subject-predicate-object triple written as a turtle file, and a SPARQL query over it, and argues that the chain of relationships is what makes a recommendation traceable back to its reasons. The demo, taken from a Discovery Center mission, curates the ontology and the RDF files for an accounts receivable scenario in VS Code, ingests the triples into HANA Cloud with SQL and walks the resulting graph outward from a customer; that is the graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only edge. It closes by separating three things that share the name: the HANA Cloud knowledge graph engine, SAP Knowledge Graph as the data, and the knowledge graph in SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp.
Combining AI Agents with the power of SAP HANA embedded ML (part 1)publishedDevtoberfest 2026 session DAT-12, the first of two parts, in which Vitaliy RudnytskiyVitaliy Rudnytskiygave 1 talk, contributed to 6 entries does a data scientist's work against the embedded machine learning of SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp by talking to an agent. The session first takes an agent apart into its LLM, its tools, its memory and the loop between them, then stacks the Predictive Analysis Library under the hana-ml Python wrapper and that under the HANA AI toolkit, whose tools an agent calls from plain English in a notebook to preview a sales refunds table, split it into train and predict tables, run a time-series check and train an AutoML forecast, keeping what it decided in Markdown memory files. That is the agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed edge; the same toolkit is then started as an MCP server over stdio and over streamable HTTP and reached from a coding agent and from Joule Work's desktop, which is where the live demo partly fails and the failure is shown.
SAP BDC in Business AI Platform: Contextualize and ReasonpublishedA Devtoberfest 2026 session (DAT-31) that places SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp as the contextualise-and-reason pillar of the SAP Business AI Platform, between the build pillar of Joule Studio and Integration Suite and the govern pillar of AI Agent Hub. It covers data products described with open resource discovery and core schema notation metadata, a data product creation agent that assembles a derived data product for overdue billing documents from the billing document and customer products and shows its lineage and fields; the data products a line-of-business application brings being readable by Joule without a BDC subscription; and the SAP-managed knowledge graph that maps business entities and their relationships for agents, held as graph dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only in the SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp knowledge graph engine as RDF triples queried with SPARQL. The closing demo has SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp answer head-count and purchase-order questions, with the generated SQL passed through a data product query that adds the restriction policy defined for that user in cloud identity services, which is why the session stands for cataloguing and lineageCataloguing and lineageFinding what data exists across the estate and what it promises — catalogs and data products, the contract a consumer can rely on, where a field came from, and what a column actually contains once you profile it. The question asked before modelling starts and again when somebody asks where a number came from.SAP and community, unassessed as much as for the products it names.
SAP HANA Data Lake Files (HDLF) Basic FunctionalitiespublishedA Devtoberfest 2026 data-track session on SAP HANA data lake files, the managed object store inside SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp that is provisioned from HANA Cloud Central, priced per API call and per stored gigabyte, and reached with the same REST API whichever hyperscaler it runs on. Two product managers set up an instance with its IP allow list, client certificates and trusts, then upload, list, read and delete files over the WebHDFS REST API and the HDLFS command-line utility — the Object storageObject storageStoring application files as objects in a bucket or container backed by a cloud storage service. Connecting a file to a business record is the separate Attachments concern.SAP only half — and cover file versions with snapshots, access policies per file, and chunked upload with a server-side merge. They then link the instance to a HANA database and query a CSV file as a virtual table: SQL on files now runs through a file adapter in the database, while the older path through the data lake relational engine is deprecated.
Accelerating Your Analytics with Delta Table Replication into SAP HANA CloudpublishedStarting with QRC 04/2025, SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp can replicate a Delta Lake table from an external Delta Sharing source directly into a native HANA table, rather than only querying it live through a virtual table. The post walks through creating a remote subscription, running a chunk-based initial load, and setting up change data capture on a schedule or on demand, each with the SQL statements and monitoring views involved, plus the simpler virtual-table-toggling and HANA Cloud Central UI alternatives.
2024/01最新版!Productivity Toolsを使ったCAPバックエンド開発②~HANA Cloud編~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).
Agentic memory: Knowledge graph engine and recall in SAP HANA Cloudexplains 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).
Building a CAP App with Fiori Integration – Part 1: Environment & HANA Cloud Setupexplains 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).
Building agentic applications with SAP HANA Cloudexplains 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).
CAP PostgreSql setup local debugging using Docker - Part 2explains 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).
CAP with PostgreSQL DB alternate to HANA Cloud DB - Part 1explains 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).
cds deploy to sqlite in-memory 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).
Configure an SAP CAP Application to Connect to an SAP HANA Cloud Database in Another Global Account or Subaccountexplains 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).
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud Connectorexplains 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).
Create a Business Service using CDS, Node.js, SQLite and a OData 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).
Create a CAP Application with SAP HANA Cloud from Scratch and Deploy to 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).
Database connectorsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Deploying CAP services with the in-memory SQLite 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).
Distributed Resiliency of SAP CAP applications using SAP HANA Cloud (Multi-Zone Replication)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).
Extend SAP SuccessFactors on SAP BTP with CAP - Deploy to SAP HANA 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).
Flexible analytics at speed: Calculation views in SAP Business Data Cloudexplains 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).
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]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).
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-3]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).
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]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).
Getting started with CAP on PostgreSQL (Node.js)explains 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).
How I migrated my on-prem xsa cds3+hana solution to cds6+sqliteexplains 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).
How to create an API to run a HANA Cloud Stored Procedure in 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).
Knowledge graph and agent memory: Build an agent that remembersexplains 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).
Lets Deep dive into CAPM and HANA Cloud --> HANACapexplains 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).
Medallion Reference Architecture for Big Data Processing in SAP HANA Cloudexplains 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).
Modernize your database landscape with SAP HANA Cloudexplains 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).
My Learnings in SAP-CAP Using MongoDBexplains 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).
Part 1: Creating and Deploying a SAP CAP Application with SAP HANA on SAP BTP (Cloud Foundry)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).
Part 2: Creating and Deploying a CAP Application with PostgreSQL, Hyperscaler Optionexplains 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).
PostgreSQL persistence adapter for CAP (Node.js)explains 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).
Run and Deploy CAP with PostgreSQL on SAP BTP Cloud Foundry (Node.js)explains 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).
Run and Deploy SAP CAP (Java) with PostgreSQL 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).
Run and Deploy SAP CAP (Java) with PostgreSQL using Official Database Adapter @cap-js/postgresexplains 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).
Run and Deploy SAP CAP (Node.js or Java) with PostgreSQL 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).
SAP BTP Showcase - Use SAP Cloud Application Programming to do Native Development on HANA 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).
SAP Business Application Studio – Using SAP HANA Tools with SAP Cloud Application Programming Model 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).
SAP CAP (Java) with Amazon Aurora PostgreSQLexplains 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).
SAP CAP (Java) with Azure Cosmos DB for PostgreSQLexplains 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).
SAP CAP Lessons Learned: Run a CAP app using SQLite 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).
SAP CAP Lessons Learned: SQLite is single threaded, HANA is notexplains 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).
SAP CAP on HANA XSA: Scaling Industrial Data Applications Beyond 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).
SFSFとHANA Cloudを使用する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).
Sharing SAP HANA Cloud instance to multiple subaccounts and creating HDI containersexplains 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).
Simple steps to deploy your CAP project to HANA 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).
SQLite as database for a multi-target (/productive) CAP Applicationexplains 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).
Stop guessing, start counting: How generative AI fixed an inventory messexplains 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).
Upload data from excel in CAP (Node.js)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).
Use SAP HANA as the Database for a CAP Java Applicationexplains 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).
Using Postgresql Database in 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).
Agentic memory: Knowledge graph engine and recall in SAP HANA CloudpublishedThe knowledge graph engine in SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp as an agent's memory: what the engine, the graph side of graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only, does in an agentic workflow, how an agent keeps what it learns there, the state agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed holds between turns, and the SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA263 on Wednesday 28 October is a two-hour hands-on on the same engine with a different cast. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Markus FathMarkus Fathgave 3 talks, contributed to 1 entry and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.
Build AI agents and applications natively on SAP HANA CloudpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp as the base for agentic applications on SAP Business AI Platform: the session goes through CAP, the SAP HANA Cloud vector engine and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, with architecture patterns and lessons learned from building AI-supported applications. SAP's abstract names the three parts of that stack and the vector engine as the database's feature in it, and describes none of the patterns. A TechEd 2026 session (Wednesday 28 October, Berlin; also DA113V, virtual), presented by Christoph Morgen and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.
Build your custom knowledge layer with SAP HANA CloudpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's multi-model engines, the knowledge graph engine among them, as the base for a custom knowledge layer over the enterprise's data, with SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp as the product that includes the database. Graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only put to an AI use; the abstract names the graph engine and not the query language or the vector side. A TechEd 2026 session (Wednesday 28 October, Berlin; also ST108V, virtual), presented by Niklas Siemer and Sebastian SchmidtSebastian Schmidtgave 1 talk, written here from SAP's abstract; the recording is not yet published.
Building agentic applications with SAP HANA CloudpublishedA CAP application extended with semantic search and agent features on top of SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's vector engine and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, built in a hands-on workshop. The abstract names the parts, CAP, the vector engine and AI Core, and the two additions: semantic search, the retrieval half of retrieval-augmented generationRetrieval-augmented generationGrounding a model's answer in data retrieved at question time: text split into chunks, each chunk embedded as a vector, and the chunks nearest to the question placed into the prompt. Semantic search is the same retrieval with a person reading the matches, and fine-tuning changes the model's weights, not its input.SAP and community, unassessed, and LLM-supported agent capabilities inside the application, which is agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed. Which embedding model, which CAP runtime and how the agent calls its tools are not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hui Li, Ritty Joseph, Shraddha Shetty and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published.
Flexible analytics at speed: Calculation views in SAP Business Data CloudpublishedCalculation views in SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, the reusable analytic modellingAnalytic modellingDefining what an analytical client actually reads — the multi-dimensional layer between stored rows and a chart: measures, dimensions, hierarchies, filters and parameters, and the associations somebody navigates them by. Distinct from analytical queries, which is a service answering the request a chart sends, and from loading a warehouse, which fills the tables underneath it.SAP and community, unassessed blocks built in its graphical modelling environment, with three newer parts the abstract names: AI-assisted modelling, refactoring, and advanced materialisation, and the way the views sit inside SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp. What a materialisation is chosen on, and what the AI assistance generates, is not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hansika Colomboge Dona, Jan Zwickel, Niklas Siemer and Thomas HammerThomas Hammergave 5 talks, contributed to 1 entry, written here from SAP's abstract; the recording is not yet published.
Get hands on with tabular AI and forecasting models in SAP HANA CloudpublishedPrediction and forecasting as predictive modelsPredictive modelsTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service.SAP only inside SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, worked through hands-on: tabular AI models such as SAP-RPT-1 for on-the-fly predictions, time series foundation models for ad hoc forecasts, and the AutoML in the predictive analysis library. The abstract names the model kinds and the library and does not say how a model is called from SQL or from an application. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Markus FathMarkus Fathgave 3 talks, contributed to 1 entry, Ritty Joseph and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published.
Knowledge graph and agent memory: Build an agent that rememberspublishedThe knowledge graph engine in SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp as an agent's memory: what the engine, the graph side of graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only, does in an agentic workflow, how an agent keeps what it learns there, the state agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed holds between turns, and the SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA205 on Tuesday 27 October is the 45-minute talk on the same engine, with a near-identical abstract and a different cast. A two-hour hands-on TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Jan Zwickel, Markus FathMarkus Fathgave 3 talks, contributed to 1 entry and Thomas HammerThomas Hammergave 5 talks, contributed to 1 entry, written here from SAP's abstract; the recording is not yet published.
Modernize your database landscape with SAP HANA CloudpublishedWhy to move a database estate to SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, and the migration tools and services for doing so, which is the platform migrationPlatform migrationMoving an application, integration or database from one platform to another: assessing what exists, converting what tooling supports, and adapting what cannot carry over. Language-level compatibility is a separate concern from moving the platform around an application.SAP and community, unassessed concern. SAP's abstract is one sentence and names none of the tools. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Niklas Siemer and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.
Road map for SAP HANA Cloud: What’s next for the AI databasepublishedSAP's road map for SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, which the abstract places as a core component of SAP Business AI Platform within SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp. The abstract promises a firsthand look at what is next for the database and names no feature, release or date, so the two edges rest on the products it names and nothing more. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Niklas Siemer and Thomas HammerThomas Hammergave 5 talks, contributed to 1 entry, written here from SAP's abstract; the recording is not yet published.
SAP HANA Cloud advisors and automationpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's advisors and the tasks they hand off: the elastic compute node, the partition, index and native storage extension advisors that produce recommendations for performance and efficiency, and SAP Automation PilotSAP Automation PilotA BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event.sap official, btp as the service that runs the resulting tasks, which is operations automationOperations automationActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling.SAP only on the database. The abstract lists the features and stops there, so what each advisor recommends and how a recommendation becomes an Automation Pilot command is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Hansika Colomboge Dona, Hui Li, Javier Martin and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.
SAP HANA Cloud as a self-managed database: Advisors and automationpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp advisors generate recommendations for database administration, aimed at system performance and efficiency, and SAP Automation PilotSAP Automation PilotA BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event.sap official, btp runs the manual and administrative tasks around the database as automated processes, which is the operations automationOperations automationActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling.SAP only concern on the database side. SAP's abstract names the two services and claims reduced operational overhead; which advisors exist and which tasks the automation covers are not said. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Javier Martin and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.
SAP HANA Cloud as the AI database for SAP Business Data CloudpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp as the AI database at the centre of SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp: the strategy behind its AI-first direction, and a Carl Zeiss speaker on how it runs in production today. The abstract names the two products and the customer and no feature, workload or figure, so the edges rest on the products as its subject. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Kush Kashyap and Thomas HammerThomas Hammergave 5 talks, contributed to 1 entry, written here from SAP's abstract; the recording is not yet published.
SAP HANA Cloud: The data foundation for contextualizing and reasoningpublishedWhere SAP is taking SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, described in the abstract as the anchor of SAP's data strategy and a unified layer to store, contextualise and reason across a business, and what that means for a data platform decision. The abstract is a direction statement and names no feature, release or date, so the one edge rests on the product itself. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST106V, virtual), presented by Matthew Zenus and Stefan Baeuerle, written here from SAP's abstract; the recording is not yet published.
Stop guessing, start counting: How generative AI fixed an inventory messpublishedAn inventory-counting application a business built on SAP Business AI Platform with SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp and generative AI, to replace recount lists kept by gut feel across SAP ERP Central Component, SAP S/4HANA and Microsoft Excel; the talk promises the app, its architecture and what went wrong. The generative AI part is LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design from application code; the abstract names HANA Cloud and generative AI as the two building blocks and says nothing about how either is used. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Ranjeet Kumar, written here from SAP's abstract; the recording is not yet published.
Talking to your database: The new data exploration tools in SAP HANA CloudpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's new data exploration tools take a business question in plain language, find the right database objects and run the query, with no data model and no SQL written beforehand, shown live on a standard business data set. SAP's abstract says the session covers how the tools work, what they need and where they hit their limits, and states none of the three. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Anna Hartmann, written here from SAP's abstract; the recording is not yet published.
Unlock predictive and generative AI with your data in SAP HANA CloudpublishedThe AI features SAP lists for SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp: the function libraries for tabular prediction and forecasting, where predictive modelsPredictive modelsTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service.SAP only run inside the database, the vector engine, the knowledge graph engine, which is graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only put to generative use, and SQL to LLM calls. The abstract names the engines and the use cases they are meant for and gives no detail of any one of them. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA204V, virtual), presented by Christoph Morgen and Javier Martin, written here from SAP's abstract; the recording is not yet published.
Database connectorscore coverage revisedcapire audit 2026-09-27, link-only pass: a page this capability owns was cited nowhere.
@cap-js/hanarequires, connects, requires, connects[0] revisedThe second reader's follow-ups on the edges accepted 2026-09-23: the driver sentence supports edges to hdb and, once added, @sap/hana-client, and carries the connection's via; the requirement on the database is conditional, as the Java sibling records it, because the guide puts the HANA configuration behind a profile and SQLite is the development default; the runtime's own README states the runtime; the one_line names the sibling database services and links them as such; the connection's via carries the override as its condition.
cap-postgres-btp-connectivityconnects[0] revisedThe second reader read the connects batch of 2026-09-19 on 2026-09-22, after its acceptance, and found: tcp rested on no quote of the edge's own; the README's line on the Cloud Connector's TCP configuration is quoted now.
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AIpublishedCAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.
@cap-js/db-servicelinks, part of, flavors[0] revisedRe-read on the package's own README in the repository — the document the subfolder link now resolves to — which carries the second sentence about forming the core of all supported databases as well.
@cap-js/hanalinks, part of, flavors[0] revisedSame sentence, re-read on the package's own README in the repository — the document the subfolder link now resolves to.
@cap-js/postgreslinks, part of revisedThe repository's README states the relation: the four subfolders are parts of one monorepo, each published on its own.
@cap-js/sqlitelinks, part of, flavors[0] revisedThe flavor rested on an install line in the monorepo's README. The package's own README says it in a sentence, and that is the document the repository link now resolves to.
cds-mysqlalternative to revisedcap-js-cds-dbs is the repository the four SAP database services are published from, not one of them — its README says 'Each of the subfolders is published as individual npm module' — so nothing installs it and nothing is an alternative to it. The edge to @cap-js/hana, a package a project would add instead of this one, stands.
com.sap.cds:cds-feature-hanaadded to the atlasSAP HANA Cloud datasource for CAP Java applications
com.sap.cds:cds-feature-jdbcadded to the atlasJDBC runtime for H2 and SQLite in CAP Java
com.sap.cds:cds-feature-postgresqladded to the atlasPostgreSQL datasource for CAP Java applications
cap-postgres-btp-connectivityconnects revisedThe adapter required PostgreSQL, the Connectivity service and the Cloud Connector as three separate things. The connection says how they line up: the database is the target, and the service is what the connection runs through.
com.sap.cds:cds-feature-hanaprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.
com.sap.cds:cds-feature-jdbcprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.
com.sap.cds:cds-feature-postgresqlprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.
Database connectorscoverage by ecosystem revisedhdb, SAP's pure-JavaScript HANA driver for Node.js, entered in the same batch, so the note counted two entries where there are now three. The assessment is unchanged: the driver is SAP's own, so core-only still holds.
SAP HANAadded to the atlasSAP's relational database platform, on-premise and in HANA Cloud
Medallion Reference Architecture for Big Data Processing in SAP HANA CloudpublishedSAP's medallion layout for SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp: structured, semi-structured and unstructured data lands raw in HANA Cloud, data lake files as the bronze layer, is cleansed into a common structure in silver, held in data lake files or the HANA database, and is curated and read-optimised in gold, from where it can also be exposed as a Delta Share. The staged path from raw to consumable is the ground loading a warehouseLoading a warehouseGetting data into an analytical store and keeping it current — connections to source systems, replication and the other integration tasks, import jobs and their lifecycle, and the monitoring that tells you a load failed before a report does. Distinct from replication, which is an application reading data that lives elsewhere as if it were local rather than a warehouse being filled.SAP and community, unassessed covers, with Spark jobs and SAP DatasphereSAP DatasphereSAP's cloud data warehouse: spaces, modelled views and analytic models over data brought in or federated from source systems, with the business context carried along rather than rebuilt.sap official, btp data flows named as ways to move data between layers and SAP Analytics CloudSAP Analytics CloudSAP's SaaS front end for analytics: business intelligence, planning and predictive in one product, and the place a Datasphere analytic model is meant to end up being read.sap official, btp among the consumers of gold. It leaves the ingestion method open, to be chosen by source, freshness and performance, and names no pipeline or schedule beyond that.
cap-postgres-btp-connectivityrequires revisedThe README names the Cloud Connector TCP mapping as a prerequisite; the edge became possible with the Cloud Connector entry in intake-20260915-cloud-connector.
Database connectorsecosystems revisedSAP-samples' hana-hdbext-promisfied-example wraps the HANA client drivers for Node.js, Go and Python, hxe-hibernate-google-app-engine reaches HANA through Hibernate's dialect, and odbc-driver-for-abap-examples connects to an ABAP system through the ODBC driver for ABAP, which widens the node from CAP's database choice to the driver question.
SAP HANA Cloudprovides revisedRAG on CDS reads that HANA Cloud supplies the vector column and the similarity function, and the capability opened to the BTP door on 2026-09-14, yet the service carried no edge to it; the store the CAP-door pipelines write into is now an option on the capability.
@sap/cds-hanaadded to the atlasDatabase adapter for SAP HANA in CAP
SAP HANA Cloudadded to the atlasManaged SAP HANA database service on BTP
Database connectorsecosystems revisedHANA Cloud and the PostgreSQL hyperscaler option are both BTP services answering which database you run on, and the capability existed on the CAP door alone — so both sat behind the BTP door with no tile to appear under.
PostgreSQL on SAP BTP, hyperscaler optionprovides revisedEntered with a delivers edge and no provides, so it was behind the BTP door with nothing to group under. database-connectors gained the BTP door the same day.
SAP HANA Cloudentry, serves ecosystems revisedAdded by me the day it was entered, and it did not hold: an ABAP developer does not choose the database — S/4 runs on HANA — so database-connectors is not a decision made on the ABAP door.
PostgreSQL on SAP BTP, hyperscaler optionadded to the atlasManaged PostgreSQL from the hyperscaler via a BTP service binding
My Learnings in SAP-CAP Using MongoDBexplains revisedThe post links its own source repository at the end and it was not in the graph. Read it: the sample is not a MongoDB adapter, so it is typed as a sample that demonstrates rather than an artifact that provides.
@neoimpulse/cap-js-restore-model-defined-typesadded to the atlasCAP plugin casting read values back to CDS model types
@sap/hana-clientadded to the atlasSAP's Node.js driver for SAP HANA
2024/01最新版!Productivity Toolsを使ったCAPバックエンド開発②~HANA Cloud編~publishedIn Japanese, and the second of a pair — database connection through to calling the API from outside, with authorisation in between. The author dates the screenshots explicitly and warns that the UI may have moved since, which is the right disclaimer for a click-through guide.
Building a CAP App with Fiori Integration – Part 1: Environment & HANA Cloud SetuppublishedA trial account taken from nothing to a CAPM project with a HANA Cloud instance behind it. Everything here is prerequisites, which the author says outright — the application is in the parts that follow.
CAP PostgreSql setup local debugging using Docker - Part 2publishedPostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. in a container so the local loop matches the deployed one — the thing SQLite quietly stops you doing. Short, and it assumes the project from part one already runs.
CAP with PostgreSQL DB alternate to HANA Cloud DB - Part 1publishedBootstrapping a CAP project on PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL., framed as a choice that depends on the client rather than on the technology. Short, and part two is where it gets debuggable.
cds deploy to sqlite in-memory databasepublishedTwo pages on what
cds deploy --to sqlite does and what it prints. A reference note rather than an argument, and the shortest entry in this capability.Configure an SAP CAP Application to Connect to an SAP HANA Cloud Database in Another Global Account or SubaccountpublishedThe case the tooling does not cover: the database is in a different global account, so there is no HDI container to bind and
cds deploy cannot do its usual job. Written for exactly that, and it says so in the subtitle — without HDI.Create a Business Service using CDS, Node.js, SQLite and a OData servicepublishedThe 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.
Create a CAP Application with SAP HANA Cloud from Scratch and Deploy to Cloud FoundrypublishedThe whole lifecycle in one post rather than a series — model, service, HANA binding, build, deploy. Useful as a single reference for the order things have to happen in, which is the part that is easy to get wrong when it is spread over six posts.
Deploying CAP services with the in-memory SQLite databasepublishedIn-memory, deployed to Cloud Foundry — so the data is gone on restart, on purpose. For a service whose datastore does not need to survive anything, which is a narrower case than it sounds and a real one.
Distributed Resiliency of SAP CAP applications using SAP HANA Cloud (Multi-Zone Replication)publishedResilience defined the way an operator would — failures happen in a complex landscape and should go unnoticed by the user — and then what multi-zone replication on HANA Cloud means for the CAP application in front of it.
Extend SAP SuccessFactors on SAP BTP with CAP - Deploy to SAP HANA CloudpublishedThe deployment instalment of the author's SuccessFactors extension series — the project already exists and the imported service is already modelled, so this is only the move onto HANA Cloud. Depends on the two posts before it and says so.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]publishedThe first of six, and it does the thing the later parts depend on: build the Incident Management application against SQLite on a laptop, with no cloud database in sight. The series is called decoupled because the front end and the back end are deployed separately, and this part is entirely the back end.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-3]publishedThe cloud database appears: a HANA Cloud instance created on BTP and mapped to a Cloud Foundry space. No application code — this is the part where the platform has to be right before the next part can connect to it.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]publishedThe switch from SQLite to HANA and the first deploy of the back end to Cloud Foundry — the point in the series where the persistence stops being a file and the build starts producing HDI artifacts.
How I migrated my on-prem xsa cds3+hana solution to cds6+sqlitepublishedThree 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.
How to create an API to run a HANA Cloud Stored Procedure in Cloud FoundrypublishedReaching 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.
Lets Deep dive into CAPM and HANA Cloud --> HANACappublishedShort, and framed as what the author does day to day on BTP rather than as a tutorial: where CAPM meets HANA Cloud and which pieces have to agree.
My Learnings in SAP-CAP Using MongoDBpublishedCAP 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 mongodbMongoDBA document database. Reached from CAP through an adapter over Mongoose rather than through the SQL database services. 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.
Part 1: Creating and Deploying a SAP CAP Application with SAP HANA on SAP BTP (Cloud Foundry)publishedOpens with the observation the whole series rests on — CAP is usually demonstrated locally, and the interesting part starts when it is deployed. Part one of the run that continues into PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. and Work Zone.
Part 2: Creating and Deploying a CAP Application with PostgreSQL, Hyperscaler OptionpublishedThe middle of a series that runs from database to Work Zone: the CAP application from part one pointed at PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. on the hyperscaler option, and deployed. The service binding and the build are where it spends its time.
Run and Deploy SAP CAP (Java) with PostgreSQL on SAP BTP Cloud FoundrypublishedSuperseded by its own author: the post now opens with a notice that @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 7.0.0 brought native PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. support and that @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap should be used instead of the packages described below. Kept because that notice is the record of when the community adapter stopped being the answer.
Run and Deploy SAP CAP (Node.js or Java) with PostgreSQL on SAP BTP Cloud FoundrypublishedBoth runtimes in one walkthrough, and it stops on schema evolution — which is the reason to read it rather than one of the several other PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. posts here, since that is where the PostgreSQL story diverges from HANA's and the deploy stops being automatic.
SAP BTP Showcase - Use SAP Cloud Application Programming to do Native Development on HANA CloudpublishedThe 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.
SAP Business Application Studio – Using SAP HANA Tools with SAP Cloud Application Programming Model projectspublishedNative 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.
SAP CAP (Java) with Amazon Aurora PostgreSQLpublishedPostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL., but the hyperscaler's own managed global database rather than BTP's option — Aurora, from CAP Java. One of a pair published the same day, the other being Azure's equivalent.
SAP CAP (Java) with Azure Cosmos DB for PostgreSQLpublishedThe Azure half of the pair: Cosmos DB speaking PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL., used from CAP Java. Same shape as the Aurora post, and reading both is how you see what is actually portable between them.
SAP CAP Lessons Learned: Run a CAP app using SQLite on SAP BTP - Cloud FoundrypublishedSQLite past the point it is meant to go — deployed, not local. Written as a lesson learned rather than a recommendation, and it pairs with the author's own note that SQLite is single threaded.
SAP CAP Lessons Learned: SQLite is single threaded, HANA is notpublishedA page long, and one of the more useful pages here: the local database serialises what the deployed one runs in parallel, so concurrency bugs are invisible until they are not. Filed by the author as something the tutorials do not make clear.
SAP CAP on HANA XSA: Scaling Industrial Data Applications Beyond the CloudpublishedCAP on HANA 2.0 XSA rather than on BTP — on-premise, and chosen for throughput. Mass ingestion through native stored procedures, which is the point at which CDS stops being the right tool and the post says so.
SFSFとHANA Cloudを使用するCAPのアプリケーション開発publishedIn 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.
Sharing SAP HANA Cloud instance to multiple subaccounts and creating HDI containerspublishedOne HANA Cloud instance, several subaccounts, an HDI container created from each — the arrangement that keeps a landscape from paying for a database per subaccount. Written against a CAP project, so the container mapping is shown from the side that has to consume it.
Simple steps to deploy your CAP project to HANA cloudpublishedWritten from the far side of a failed deploy — the author says these are the troubleshooting steps that ended up working, not a designed procedure. Short, and honest about being a record rather than a recommendation.
SQLite as database for a multi-target (/productive) CAP ApplicationpublishedOpens with "Not recommended but possible", and then names the two cases where it is the right call anyway: a showcase, and a landscape with no HANA Cloud available. The caveat is the content.
Upload data from excel in CAP (Node.js)publishedMass 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.Use SAP HANA as the Database for a CAP Java ApplicationpublishedMoving a CAP Java application off the development database onto HANA, which is the step where the persistence choice stops being invisible.
Using Postgresql Database in Cloud Application Programming modelpublishedA straight run through the official PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. guide with the steps spelled out, from initialising the server onward. Says as much itself — it follows the documentation rather than departing from it, which makes it the plainest of the PostgreSQL entries here.
@cap-js/db-serviceartifact type, 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.
@cap-js/hanadescription 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.
@cap-js/postgresdescription 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.
@cap-js/sqlitedescription 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-pgroll/postgresartifact type, 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.
@quadrio/cds-db2links 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.
cap-postgres-btp-connectivitylinks, 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-mysqllinks 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.
@quadrio/cds-db2added to the atlasDB2 adapter for CDS
cds-mongodbadded to the atlasMongoDB as a CAP database service through Mongoose
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud ConnectorpublishedAn end-to-end route from a CAP Node.js application on Cloud Foundry to a PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. database that is never made publicly reachable, over BTP Connectivity and the Cloud Connector using a TCP destination and SOCKS5. The part worth having is that it covers the deployer as well as the server: the generated PostgreSQL deployer has to reach the same private database to deploy the CDS model, and a guide that only connects the runtime leaves you with a schema you cannot install.
Getting started with CAP on PostgreSQL (Node.js)publishedRunning CAP on PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. locally in 2020, when doing so meant the community packages cds-pgcds-pgA PostgreSQL adapter for SAP CDS, built by the SAP Mentors community, which gave CAP a Postgres persistence option years before @cap-js/postgres shipped.independent, cap and cds-dbm. It now opens with a banner the author added later: @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 7.0.0 has native PostgreSQL support, use @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap instead, with a pointer to a step-by-step guide for it. Worth having for that banner as much as for the content — a post that tells you not to follow it is a dated fact about where the answer moved.
PostgreSQL persistence adapter for CAP (Node.js)publishedThe contradiction the adapter was built to resolve, stated plainly in 2020: CAP's core is open, non-intrusive and platform-agnostic, which is what would let it run outside SAP's world — except that HANA was the only officially supported production persistence and HANA exists only inside BTP. cds-pgcds-pgA PostgreSQL adapter for SAP CDS, built by the SAP Mentors community, which gave CAP a Postgres persistence option years before @cap-js/postgres shipped.independent, cap is the answer to that, and this is the post that argues for it. Read now as the front end of a story whose other end is the 2023 post recording cds-pg's deprecation in favour of @cap-js/postgres.
Run and Deploy CAP with PostgreSQL on SAP BTP Cloud Foundry (Node.js)publishedThe deployment half of the pair, two weeks after the local one, and superseded the same way: it carries the same banner directing readers to @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap and the official documentation. The two together are the community PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. path as it stood before the core absorbed it.
Run and Deploy SAP CAP (Java) with PostgreSQL using Official Database Adapter @cap-js/postgrespublishedThe post that records a handover. The author's earlier writing relied on the community projects cds-pgcds-pgA PostgreSQL adapter for SAP CDS, built by the SAP Mentors community, which gave CAP a Postgres persistence option years before @cap-js/postgres shipped.independent, cap and cds-dbmcds-dbmA delta deployment and migration tool for CAP on PostgreSQL that diffs the live schema against a reference schema with Liquibase and applies the change, never dropping tables by default.independent, cap; this one states that both were deprecated in favour of the official PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. support arriving with @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 7, and rewrites the path around @cap-js/postgres. For CAP Java it takes a different route to the initial schema.sql than the Node.js case, and it is candid that automatic schema deployment is convenient but not always what you want. Dated evidence for why two artifacts here went quiet.
Database connectorsthe core changed in @sap/cds 10.1.0Advice that SQLite cannot be configured for the production profile at all.
cds-mysqladded to the atlasMySQL and MariaDB database adapter for CAP
cap-snowflakeadded to the atlasCAP database adapter for Snowflake with OData V4 support
cds-pgadded to the atlasPostgreSQL adapter for SAP CDS from the SAP Mentors community
Database connectorscore 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.
@cap-js/db-serviceadded to the atlasBase service shared by CAP's SQLite, PostgreSQL and HANA services
@cap-js/hanaadded to the atlasSAP HANA database service for CAP
@cap-js/postgresadded to the atlasPostgreSQL database service for CAP
@cap-js/sqliteadded to the atlasSQLite database service for CAP, in memory during development
@cds-pgroll/postgresadded to the atlasCLI for DROP and RENAME schema changes beside @cap-js/postgres
cap-postgres-btp-connectivityadded to the atlasTunnels CAP Node.js to a private PostgreSQL via Cloud Connector
@cap-js/db-servicereleased 3.0.0Setups pairing
@cap-js/db-service 3.x with @sap/cds 9.@cap-js/db-servicereleased 3.0.0Pool tuning written for the pool implementation that was the default before 3.0.0.
@cap-js/hanareleased 3.0.0Setups pairing
@cap-js/hana 3.x with @sap/cds 9.@cap-js/postgresreleased 3.0.0Installing the current @cap-js/postgres into a project on @sap/cds 9.
@cap-js/sqlitereleased 3.0.0Descriptions of @cap-js/sqlite 3.x as running on the better-sqlite3 driver by default.
@cap-js/postgresreleased 2.0.1Native SQL passed to the service with
? placeholders, and configurations that set stream_compat.@cap-js/db-servicereleased 2.0.0Setups pairing
@cap-js/db-service 2.x with @sap/cds 8 or older.@cap-js/hanareleased 2.0.0Setups pairing
@cap-js/hana 2.x with @sap/cds 8 or older.@cap-js/postgresreleased 2.0.0Setups pairing @cap-js/postgres with @sap/cds 8 or earlier on the current major.
@cap-js/sqlitereleased 2.0.0Using @cap-js/sqlite 2.x with @sap/cds 8 or earlier.
Database connectorsthe core changed in @sap/cds 8.0.3Setup guidance that adds cds-pg for PostgreSQL or treats the @cap-js database services as beta-only. cds-pg was archived in July 2023 in favour of @cap-js/postgres, and since cds8 the @cap-js services are what a new project gets by default.
SAP HANA Cloud as an Esri GeodatabasepublishedSAP's design for running an Esri ArcGIS Enterprise geodatabase inside SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, so that geometries and SAP business data sit in one database and are joined in a HANA calculation view, which is the spatial part of graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only. It traces three personas: an analyst in ArcGIS Pro building query layers over that view, a developer whose CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap application models spatial types such as ST_Point in CDS, and an analyst using a Fiori app on top of such an application. The deployment advice stops at placement: ArcGIS Server and HANA Cloud go in the same region and availability zone, because Esri's certified architectures allow under 5 milliseconds of network latency between them.
Importing and exporting table datacore coverage revisedReassessed against the graph (check:capabilities): the count of sample repositories goes stale as providers arrive, and the ABAP backend importer and the Excel add-in change the shape of the answer, so the note names those kinds. The ABAP state stays core-and-community.
cds-spreadsheetimporter-pluginadded to the atlasSpreadsheet upload into a CDS entity, parsed on the server
Importing and exporting table datacoverage by ecosystem revisedA UI5 entry now answers the import side: ui5-cc-spreadsheetimporterui5-cc-spreadsheetimporterA UI5 component that adds a spreadsheet upload dialog to a Fiori elements or freestyle app and submits the rows it reads through the app's own OData model.community org, ui5 reads an uploaded spreadsheet in the browser and submits its rows through the app's own OData model. The core side is unchanged: SAP's spreadsheet export documentation still describes export only, so the previous note that no UI5 entry answers the import side is what has moved, not the reading of the core.
SAP-samples/hana-developer-cli-tool-exampleprovides, serves ecosystems, domain, provides revisedIts performance analysis, privilege grants and backup and recovery commands had no capability to sit under; Database administration was added for them the same day.
Native SAP HANA artifactsdescription revisedKeep the technology that defines the concern in the default; move implementation detail to framing_by_ecosystem.cap. Maintainer-requested scope audit.
Native SAP HANA artifactsid revisedProposed by the capire audit of 2026-09-27 with medium confidence: existing database objects used from a CDS model, custom HDI artifacts and cross-container synonyms are documented in two guides and owned by no capability; database-connectors is the driver, schema-evolution the migration. Two blog entries about cross-container synonyms had been filed under database-connectors for want of a better slot. Created by the maintainer's decision.
SAP-samples/hana-developer-cli-tool-exampleadded to the atlasDeveloper-centric command line for SAP HANA
Show 3 more
Connecting Two SAP CAP Projects Without Duplicating Your DatapublishedCross-container HDI synonyms, argued from the alternatives rather than presented as a recipe: copying the table, standing up an API, or hard-coding the values are the three things the author reports seeing teams do, and each is named as working but unclean. With synonyms in place the consuming project queries the owner's HANA tables through ordinary SQL and ordinary CAP service code, with no replication and nothing to drift between environments. Covers the same ground as Mio YasutakeMio Yasutakemaintains 47 entries, wrote 10 posts, contributed to 47 entriesindependent's 2021 post from a different angle — that one enumerates four topologies, this one argues for one of them.
How to share tables across different CAP projectspublishedFour 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.
Native SAP HANA artifactsthe core changed in @sap/cds 9.0.2Native HANA code, a calculation view or an SQLScript procedure, that navigated a CDS association on the database through the native association and expects it to still be there after an upgrade.
Query profilingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Schema evolutioncore coverage revisedReassessed against the graph (check:capabilities): cds-dbm, its quadrio fork, @sap/hdi-deploy and the cap-js-community migration check arrived after the 2026-08-31 assessment and the block named none of them. The state stays core-and-community.
SAP CAP Recent Enhancements the HANA Dev Should Know Aboutexplains 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).
SAP CAP Recent Enhancements the HANA Dev Should Know AboutpublishedThomas Jung walks through CAP features for HANA database developers that landed through late 2021: doc comments in the data modelData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed (CDL comments propagated into generated database objects via the package.json
cdsc.docs compiler option), and schema evolutionSchema evolutionGetting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step.SAP and community, narrow by design reaching general availability in the November 2021 release, using the @cds.persistence.journal annotation and cds.hana.journal settings to generate incremental hdbmigrationtable migration scripts instead of dropping and recreating tables. It also walks through two features outside those two: window functions in view column definitions, added in the December 2021 release, and a beta assert_integrity setting that generates database foreign-key constraints from 1:1 associations and compositions.SAP Developer New, July 3rd 2026publishedA "Did You Know" segment in this SAP Developer News video walks through schema evolutionSchema evolutionGetting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step.SAP and community, narrow by design: CAP's ability to add a new field to an entity, or make a compatible change to an existing one, then redeploy the model with no data loss or manual migration. The rest of the July 2026 episode covers that month's Developer Challenge, a SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp Q2 release announcement and a UI5 survey call, none explained in substance here.
Show 7 more
@sap/hdi-deployadded to the atlasNode.js deployer for SAP HANA Deployment Infrastructure containers
@sap/hdi-deployentry revisedHand-fed from its npm page. Written from the 5.7.0 README and changelog as published on the registry, and from capire's SAP HANA guide for how cds deploy uses it, all read today.
HANA Database Migration: Handling Incompatible Changes to Existing TablespublishedThe question schema evolution exists for, asked plainly: how do you restructure a table in a production system that already holds live data. Incompatible changes are the ones CAP's own alter path will not make, which is where this starts.
@quadrio/cds-dbmadded to the atlasFork of cds-dbm with deploy, load, diff and drop tasks
cds-dbmverdict withheld revisedWithheld verdicts retired with the rings. Nothing is recused from: facts about an entry are facts whoever maintains it, and a starting-point is answered by description.to_build_on_it.
cds-dbmadded to the atlasDelta deployment and migrations for CAP database adapters
Schema evolutioncore 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.
Searchcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the only independent provider behind the ABAP door is ZC8A_001, an artifact of type sample, which is not a presence; the core stays because what_core_does is sourced.
Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANAexplains 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).
Improved Search Performance in SAP BTP Core, SAP Cloud Application Programming Model, Node.js 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).
Understanding Fuzzy Search in SAP Fiori ApplicationspublishedExplains SAP HANA Enterprise SearchSearchFree-text search across an entity and its compositions, pushed into the database rather than filtered in the service. Declared search, database similarity search and filtering in application code are often lumped together.SAP and community, unassessed's fuzzy, relevance-ranked matching behind Fiori's global search bar, its exact-match Search Query Syntax operators, and how a CAP CDS project on @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap tunes the gap between them with
@cds.search and @Search.fuzzinessThreshold, shown on a Contracts entity's contractNumber field. Raising the threshold to 0.95 narrows that field to near-exact matches for structured identifiers such as contract numbers, while an unset field keeps HANA's default (~80%) fuzziness for broader free-text discovery.Show 6 more
Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANApublishedA first-person build log of a Flask orchestrator on Cloud Foundry that reduces a question to keywords, searches a Node.js service's Documents entity, and passes what it finds to Claude for a grounded answer. Getting there means learning that HANA's fuzzy
.search() matches one word but not a full sentence, fixed by splitting the query into terms and merging the per-term hits, and that provisioning SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp hits a database-level free-tier quota rather than an HDI-container one, with a stopped instance needing to be resumed first. It also covers @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, cap needing to sit in dependencies rather than devDependencies, since Cloud Foundry's buildpack skips the latter, before cds deploy --to hana can run as part of the push.Improved Search Performance in SAP BTP Core, SAP Cloud Application Programming Model, Node.js RuntimepublishedExplains CDS version 5's @cds.search annotation, which lets a service declare which elements a search query covers, and states that only String-typed elements are searched by default so the generated SQL stays simple. Covers two further changes to @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap's Node.js runtime: metadata about which elements are searchable is now cached, and search over localized text can resolve at query time instead of through a compiled view, avoiding a coalesce function that blocks filter push-down on SAP HANA. Also describes an experimental toggle, cds.env.features.optimized_search, that lets the runtime choose the CONTAINS predicate over LIKE for large data sets.
Searchcore coverage revised@kamlendra/search-vocab, an independent cds-plugin on CAP, carries a provides edge to this capability beside @sap/cds and com.sap.cds:cds-services-bom, so core-only no longer describes who is present.
Searchecosystems revisedZC8A_001 pushes similarity search into SAP HANA through AMDP and into Oracle through ADBC from ABAP classes, so the concern has an answer behind the ABAP door.
@kamlendra/search-vocabadded to the atlasCDS annotation vocabulary for entity search with schema discovery
Searchcore 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.
cds-feature-softdeleteadded to the atlasCAP Java plugin for soft delete with a softdelete aspect
cds-softdelete-pluginadded to the atlasCAP plugin turning DELETE into a flag on annotated entities
cds-feature-softdeleteprovides revisedEntered unmapped because no capability fitted: change-tracking is history of changes, data-privacy is close to the opposite, and inventing an edge would have been worse than the gap. The capability now exists, so the edge is the honest one rather than the nearest one.
cds-softdelete-pluginprovides revisedEntered unmapped because no capability fitted: change-tracking is history of changes, data-privacy is close to the opposite, and inventing an edge would have been worse than the gap. The capability now exists, so the edge is the honest one rather than the nearest one.
Temporal dataid revisedProposed by the capire audit of 2026-09-27: capire documents date-effective entities as a concern of their own, no capability named it, and nothing in the graph touched it, so the audit script could never admit it. Created by the maintainer's decision from that audit, with the core's answer read from the page.
Transaction managementid, core coverage revisedcapire audit 2026-09-27, judgement pages read a third time: the paragraph names cds.context as what carries user, tenant and locale, and the page that defines it was cited nowhere.
Transaction managementthe core changed in @sap/cds 5.0.4Handler code, and the samples it was copied from, that call cds.tx(req) before every read or write as if it were required.
A simple example of a SAP RAP Application based on Legacy API without UUID keyspublishedWalks through building a managed RAP business object over the Flight Reference Scenario's Travel and Booking entities with unmanaged save and late numbering, so CRUD operations route through the legacy /DMO/FLIGHT_TRAVEL_CREATE, _UPDATE and _DELETE function modules instead of generated persistence, a worked case of ABAP's transactional modelTransactional modelHow a business object's behaviour is defined and who owns the transaction — the choice that shapes everything downstream in an application.SAP and community, unassessed. Covers the ADJUST_NUMBERS and SAVE_MODIFIED saver methods that map preliminary draft keys to the legacy-assigned travel and booking IDs, and a GetDefaultsForBookings action that proposes the next booking ID during draft handlingDraft handlingLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.SAP and community, narrow by design.
@neoimpulse/cap-js-uppercaselinks revisedThe repository declared in package.json returns 404.
@neoimpulse/cap-js-trimadded to the atlasCAP plugin stripping whitespace from strings on write via @cds.trim
@neoimpulse/cap-js-uppercaseadded to the atlasCAP plugin uppercasing strings on write via @cds.uppercase
cds-natslifecycle 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.
Automate BTP Custom Domain certificates using Let's Encryptexplains 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).
Quick tip: event/task scheduling in CAP Node.js (in alpha state)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).
Async processingcoverage by flavor revisedABAP-PRC is the first option here to state ABAP Cloud: its README says the framework core is written in ABAP for Cloud Development on released APIs, and it runs its steps through the background processing framework or as application jobs. The paragraph on SAP's own mechanisms is unchanged and keeps its 2026-09-14 assessment date; no survey of the other providers was made. Its README lists SAP BTP ABAP Environment and S/4HANA Cloud Public Edition as coming soon, and its Fiori apps are classic BSP objects.
Show 21 more
Async processingcore coverage revisedcapire audit 2026-09-27, proposed pages read a fourth time: the description draws the line between queued work and messaging, and the events index states that line in SAP's words.
Async processingcoverage by flavor revisedNo ABAP-door artifact carries a provides edge to this capability, so the reading rests on SAP's own documentation: ABAP Cloud runs deferred work through the released Background Processing Framework (bgPF), built on bgRFC and integrated with RAP's COMMIT WORK, and through the released application job framework, while bgRFC itself, CALL FUNCTION ... STARTING NEW TASK and SM36 batch jobs are Standard ABAP mechanisms that SAP-samples/abap-cheat-sheets places outside ABAP for Cloud Development.
Async processingecosystems 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.
Automate BTP Custom Domain certificates using Let's EncryptpublishedCertificate lifecycle management as an application: a CAP backend, a Fiori elements UI, the Custom Domain service, Cloud Foundry routes and the Job Scheduler, so requests, renewals and cleanup stop being manual. Part two of the author's BTP Toolbox.
cds-natslinks 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.
@odatano/watchadded to the atlasCAP plugin watching Cardano addresses and emitting events
cds-natsadded to the atlasNATS messaging service for the CAP Node.js runtime
Quick tip: event/task scheduling in CAP Node.js (in alpha state)publishedA note on something spotted in capire's May 2025 release notes rather than a technique: CAP Node.js is to support scheduling events — actions and functions included — with callbacks, currently alpha and explicitly subject to change. Useful as a dated marker of the core moving into ground the community has been covering, and the alpha caveat is the point rather than a footnote.
@cap-js-community/event-queueverdict revisedVerdict rings retired. What the ring compressed now lives in readings derived from facts (liveness, compatibility, reach) and in the description fields, so a thing can be dead as a dependency and still worth reading. VISION §9.
@cap-js-community/event-queueadded to the atlasTransactional processing of asynchronous and periodic CAP events
@cap-js-community/sap-afc-sdkadded to the atlasSDK for SAP Advanced Financial Closing scheduling providers on CDS
Async processingcore 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.
Async processingthe core changed in @sap/cds 10.0A rolling upgrade straight from @sap/cds 8 to 10, which the guide says can double-process messages; drain the queue or upgrade through 9.
@odatano/watchreleased 0.1.8Setups that configure
cds.requires.cardano-watcher or export BLOCKFROST_KEY or KOIOS_KEY.@odatano/watchreleased 0.1.5The expectation that adding an address, credential or policy replays its past transactions.
@odatano/watchreleased 0.1.1Configurations that set
blockfrostProjectId, batchSize or the webhook options.@odatano/watchreleased 0.1.1Configuration is read consistently from
cds.env.requires.watch, where earlier releases mixed config keys; the changelog marks this as breaking.Async processingthe core changed in @sap/cds 9.5.1Descriptions of outbox delivery as bound by a fixed cross-tenant poll interval — since this release the default path triggers processing from the submitting request instead.
@cap-js-community/event-queuereleased 2.0.0Configurations that set
redisNamespace.@cap-js-community/event-queuereleased 2.0.0Processors written on the assumption that returning no status marks an event as erroneous.
Async processingthe core changed in @sap/cds 7.4.0Guidance that says enabling cds.requires.outbox gives an in-memory-only queue, or that database-backed delivery needs its own separate configuration. Since November 2023, outbox: true already means persistent-outbox.
Destinationscoverage by ecosystem revisedReassessed against the graph (check:capabilities): the entry is in the graph, so the name links to it and not to its repository (WRITING section 3.6).
Destinationsecosystems revisedui5-middleware-destination was staged in intake-20261019-bestofui5 under ui5-build-tooling; its drafter left out a destinations edge because this capability was not open on the UI5 door. The UI5 reading comes from the README of SAP's backend-proxy-middleware.
Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]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).
BTP CAP : How to Connect to Remote Services Locally in CAP Applicationexplains 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).
Show 79 more
Connect to Public Cloud API in Node.js via Authorisation Codeexplains 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).
Consume Remote Services in a Full-Stack CAP Applicationexplains 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).
Consume SOAP Web Services in 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).
Consuming data from SAP Datasphere in SAP BTP 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).
Establishing connectivity between a local CAP runtime and on-premise systemsexplains 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).
Extend SAP SuccessFactors on SAP BTP with the 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).
Extending SAP Sales and Service Cloud V2 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).
From REST to Datasphere: A CAP-based Integration Approachexplains 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).
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-5]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).
How to Access On-premise OData from the Business Application Studio - CAPM Developmentexplains 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).
How to Call a Remote OData API from Your Local CAP Java Projectexplains 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).
Implementing Dynamic Subaccount-Based Routing in SAP CAP with SAP BTP Destinationsexplains 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).
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]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).
SAP BTP Destinations in a Nutshell Part 1 - Motivation & NoAuthentication Destinationsexplains 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).
SAP Cloud Application Programming Model: Deep Insert (4) Consume Remote 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).
SAP Cloud Application Programming Model: Deep Insert (5) Consume Remote Service with SAP Cloud SDKexplains 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).
Sending Emails from SAP CAP Applications with Any SMTP Providerexplains 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).
Use SCP CF Destination service in NodeJs locallyexplains 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).
Use the SAP Cloud SDK in the 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).
Destinationscore coverage revisedP1 backfill 2026-09-27: the paragraph shared no page with the runtime edge because it had no page at all. capire documents the connectivity component under Outbound Authentication; the paragraph now rests on it and on the pages the edge cites.
Sending Emails from SAP CAP Applications with Any SMTP ProviderpublishedWalks through sending mail from a CAP application with no dedicated mail service: create an SMTP destination for a Gmail account in the SAP BTP cockpit, bind it to the Cloud Foundry app, and call the sap-cf-mailer npm package from a CAP service handler naming that destination. The SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp holds the SMTP host, port and app password so the handler code names only the destination, and the same handler sends plain text, an HTML body, or a message with a base64-encoded attachment.
SAP BTP Destinations in a Nutshell Part 1 - Motivation & NoAuthentication DestinationspublishedOpens a series on SAP BTP DestinationsSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp by walking through the simplest case, a NoAuthentication destination from one CAP Node.js app to another on Cloud Foundry, shown two ways:
executeHttpRequest from @sap-cloud-sdk/http-client@sap-cloud-sdk/http-clientThe HTTP client that carries a destination's credentials, so an outbound call inherits the authentication rather than assembling it.sap official, cap, and a manual sequence that reads the destination service's credentials from VCAP_SERVICES, fetches an OAuth token, and requests the destination by name before calling its URL. The manual path is written deliberately verbose to show what the Cloud SDK call does behind the scenes; later parts of the series cover the other destination types.@sapmentors/cds-scp-apiadded to the atlasNode module for CAP calling external APIs through a destination
com.sap.cds:cds-feature-remote-odataadded to the atlasRemote Services for consuming OData V2 and V4 APIs in CAP Java
com.sap.cds:cds-integration-cloud-sdkadded to the atlasSAP Cloud SDK integration for remote REST services in CAP Java
com.sap.cds:cds-feature-remote-odataprovides 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.
com.sap.cds:cds-integration-cloud-sdkprovides 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.
cdseadded to the atlasDestination resolution and axios calls from CAP configuration
Destinationscore coverage revisedThe earlier assessment rested on every provider being SAP-official and said in its own note that a community alternative appearing would make core-only wrong. cdsecdseResolves a destination from a CAP project's own configuration, then makes the outbound call with axios: the url, the method and the body are written at the call site.independent, cap is one: it reads the destination from the CAP configuration and makes the call with axiosaxiosA promise-based HTTP client for the browser and Node.js, and the client a CAP module here hands an outbound request to once the destination has been resolved., and it is independent. The samples that demonstrate this capability are unaffected, since a sample is evidence and not an option. The relationship is recorded as unassessed because nothing checked here says how the two came to be present side by side.
Destinationsname 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.
SAP Destination serviceserves ecosystems revisedThe destination is resolved by the router or the service, not by UI5 code, so the decision is made on the CAP and BTP doors.
SAP Destination serviceadded to the atlasNamed, credentialed addresses of other systems resolved at runtime
Destinationsecosystems 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.
Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]publishedThe opening of a three-part series on reaching more than one S/4HANA system from one CAP application with the user's identity carried through. This part sets up the business problem; the propagation itself is in the parts that follow.
BTP CAP : How to Connect to Remote Services Locally in CAP ApplicationpublishedThe same problem four years earlier: a CAP application that consumes a remote service, running locally against the real thing rather than against a mock.
Connect to Public Cloud API in Node.js via Authorisation CodepublishedThe authorisation code flow rather than client credentials, which is the harder half: a service key, an XSUAA instance bound to the CAP app, and a destination, with the author saying plainly that this was challenging and they hope it saves somebody the same time.
Consume Remote Services in a Full-Stack CAP ApplicationpublishedExtending the Developer's Guide application with a remote S/4HANA service — connectivity, importing the Business Partner API, and running against it. SAP publishes this as four separate paths: mock server or real S/4HANA Cloud, times Cloud Foundry or Kyma. One entry covers all four, because the difference between them is which backend and which runtime, not what you learn.
Consume SOAP Web Services in SAP Cloud Application Programming ModelpublishedCalling a SOAP service from CAP — the case the remote-service story does not cover, since CAP's own import path speaks OData and OpenAPI.
Consuming data from SAP Datasphere in SAP BTP CAP ApplicationspublishedDatasphere as the source a CAP application reads from — the case for it being that Datasphere already unified the SAP and non-SAP data, so the application does not have to. From a real project.
Establishing connectivity between a local CAP runtime and on-premise systemspublishedReaching S/4HANA, an on-premise HANA or any HTTP service from a CAP process running on your laptop — the case where the connectivity proxy the platform provides is not there and the tunnel has to be arranged.
Extend SAP SuccessFactors on SAP BTP with the SAP Cloud Application Programming ModelpublishedTwelve tutorials, about two hours, building a side-by-side extension of SuccessFactors on BTP. The spine is remote services: importing the SuccessFactors OData service definitions into a CAP model, then treating them as entities the extension reads and writes through, rather than as an API called from a handler. Indexed as one entry because the parts only make sense in order.
Extending SAP Sales and Service Cloud V2 Using CAPpublishedAn extension target that does not run on BTP at all — Sales and Service Cloud V2 sits directly on hyperscalers — so the separation between core and extension is enforced rather than encouraged. That constraint is what makes the post worth reading.
From REST to Datasphere: A CAP-based Integration ApproachpublishedThe reverse direction and a second attempt: the authors had already written data into Datasphere with a small FastAPI service on the OPEN SQL schema, and this is what changed when they rebuilt it on CAP.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-5]publishedThe consequence of decoupling: with the back end live on its own Cloud Foundry route, the front end needs a BTP destination to reach it rather than a relative path. Short, and it is the join the architecture creates.
How to Access On-premise OData from the Business Application Studio - CAPM DevelopmentpublishedA destination-naming constraint found the hard way and then corrected in public: the post carries its own update saying that with a CAPM app, a standard destination works through the studio's proxy as long as the name matches [a-z0-9-]. The update credits a comment on the post, so the correction and its source are both in the record.
How to Call a Remote OData API from Your Local CAP Java ProjectpublishedThe Business Accelerator Hub sandbox called from a CAP Java project on a laptop, with a concrete finish line — a localhost URL that returns business partners. Everything needed to get there is listed, Maven and JDK versions included.
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]publishedThe 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.
SAP Cloud Application Programming Model: Deep Insert (4) Consume Remote ServicepublishedFourth in a long series on deep insert, and the one where the target stops being local. Twenty thousand characters, project files linked, and the earlier parts on UUIDs and multi-level structures are prerequisites the author names.
SAP Cloud Application Programming Model: Deep Insert (5) Consume Remote Service with SAP Cloud SDKpublishedThe same thing again through SAP Cloud SDK, published as a deliberate comparison with the part before it — the author says outright that it does what the previous post did, differently. Reading both is how you see what the SDK is actually doing for you.
Use SCP CF Destination service in NodeJs locallypublishedReading a destination from a laptop, where the environment variable the destination service normally provides does not exist. A small gap with a real cost, since the alternative is deploying to test every change to a remote call.
Use the SAP Cloud SDK in the SAP Cloud Application Programming ModelpublishedReaching for the Cloud SDK from inside a CAP service, for the calls CAP's own remote services do not make.
@sap-cloud-sdk/connectivityartifact type, 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.
@sap-cloud-sdk/http-clientartifact type, 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.
@sap-cloud-sdk/odata-commonartifact type, 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.
@sap-cloud-sdk/openapiartifact type, 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.
@sap-cloud-sdk/resilienceartifact type, 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.
@sap-cloud-sdk/utilartifact type, 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.
@sap-cloud-sdk/connectivityadded to the atlasDestination lookup and connectivity proxy for the Cloud SDK
@sap-cloud-sdk/http-clientadded to the atlasHTTP client carrying a destination's credentials
@sap-cloud-sdk/odata-commonadded to the atlasShared machinery under the Cloud SDK's OData and OpenAPI clients
@sap-cloud-sdk/openapiadded to the atlasGenerated OpenAPI clients for the Cloud SDK
@sap-cloud-sdk/resilienceadded to the atlasTimeouts, retries and circuit breaking around remote calls
@sap-cloud-sdk/utiladded to the atlasGeneral utilities shared across the Cloud SDK packages
Implementing Dynamic Subaccount-Based Routing in SAP CAP with SAP BTP DestinationspublishedWhy environment variables are the wrong place for backend endpoints in a CAP application, and what replaces them: cockpit destinations resolved at runtime, with the subaccount or instance identified as the request is handled. The argument is about redeployment — an endpoint kept in the environment means a deploy every time it moves — and the shape it produces is one codebase serving several landscapes without a build per landscape.
@sap-cloud-sdk/connectivityreleased 4.0.0Advice that destination caching has to be switched on explicitly.
@sap-cloud-sdk/connectivityreleased 4.0.0
iasToXsuaaTokenExchange is disabled unless it is set.@sap-cloud-sdk/connectivityreleased 4.0.0Code that calls
destinationForServiceBinding().@sap-cloud-sdk/connectivityreleased 4.0.0Code that calls
getAgentConfigAsync() or uses the result of getAgentConfig() synchronously.@sap-cloud-sdk/resiliencereleased 4.0.0Middleware lists that import
circuitBreakerHttp.@sap-cloud-sdk/utilreleased 4.0.0Code importing
assoc from @sap-cloud-sdk/util 3.x.Destinationsthe core changed in @sap-cloud-sdk/connectivity 4.0.0Advice written before March 2025 that assumes every destination lookup is a fresh call to the destination service. A stale cached destination, not a slow round trip, is now the first thing to check.
@sap-cloud-sdk/connectivityreleased 3.0.0Code that passes
Protocol.HTTPS.@sap-cloud-sdk/connectivityreleased 3.0.0Code that passes
IsolationStrategy.Tenant or IsolationStrategy.Tenant_User.@sap-cloud-sdk/connectivityreleased 3.0.0Code that sets
timeout or enableCircuitBreaker on a destination or token lookup.@sap-cloud-sdk/http-clientreleased 3.0.0Code from 2.x samples that calls
.timeout() or passes timeout to executeHttpRequest().@sap-cloud-sdk/openapireleased 3.0.0Code that calls
.timeout(ms) on a generated OpenAPI request builder.@sap-cloud-sdk/resiliencereleased 3.0.0
ResilienceOptions and the resilience() function are added; the function returns an array of middlewares based on the options given.@sap-cloud-sdk/resiliencereleased 3.0.0Destination or token fetching configured with
timeout or enableCircuitBreaker.@sap-cloud-sdk/utilreleased 3.0.0Code calling
variadicArgumentToArray from @sap-cloud-sdk/util 2.x.Document outputcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the service is a provider on this door and the text named it without the link. Wording otherwise unchanged; the state stays core-only.
Generating PDF on BTP CF using CAP and Puppeteerexplains 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).
How to Generate and Download PDFs on the fly without persisting in CAP Applicationexplains 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).
Using Custom Actions to display PDF from SAP BTP Forms service into a CAP SAPUI5 applicationexplains 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).
Show 11 more
@cap-js/printdescription, requires, connects, compat, provides, changed in revisedThe changelog dates two moves in the plugin's own answer: multitenancy and draft-enabled entities in 0.2.0, translated labels in 0.2.1. Without them nothing said whether a piece written in 2025 predates either.
Document outputcore coverage revisedThe boundary held, but the reader had nothing to check it against. The README's model requirement is the test: the document has to be a LargeBinary attribute before the plugin will print it.
Document outputecosystems revisedWidened to ABAP and BTP: abap2xlsx, AntonSikidin/zcl_docx, beraadim/zcl_pdf, bizhuka/xtt, victorizbitskiy/zspool_pdf and monstermichl/HandlebarsABAP produce spreadsheets, Word files, PDFs and filled templates from ABAP, and SAP-samples/forms-service-by-adobe-samples integrates SAP Forms Service by Adobe with the ABAP Environment.
Generating PDF on BTP CF using CAP and PuppeteerpublishedA headless browser rendering the PDF, which is the answer people reach for when the document is really a web page. The Cloud Foundry part is the difficulty: Puppeteer needs a browser in the buildpack, and that is what the post is actually about.
How to Generate and Download PDFs on the fly without persisting in CAP ApplicationpublishedStreaming a generated document straight to the client without writing it anywhere first — which sidesteps the retention question a stored file creates, and is the distinction worth having beside the attachments capability.
Using Custom Actions to display PDF from SAP BTP Forms service into a CAP SAPUI5 applicationpublishedA requirement that arrived after the application was finished — render a PDF from the record currently open on an object page — and the join it needed: the Forms service bound to the CAP application, a custom action on the service, and a button on the object page header calling it.
@cap-js/printadded to the atlasPrints documents held in CAP entities through SAP Print service
@salvatorela/cap-plugin-adobe-formsadded to the atlasCAP plugin wrapping the SAP Forms service by Adobe on BTP
Document outputcore 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.
@cap-js/printreleased 0.2.1The UI labels and messages the plugin generates for the
print action and its value helps carry translations.@cap-js/printreleased 0.2.0Anything written against 0.1.x saying a draft-enabled entity, or an entity with a composite key, cannot be annotated
@PDF.Printable.Event Meshcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note made a claim about every provider and named none, and the SAP services that arrived since the block was assessed (Advanced Event Mesh, the Integration Suite event broker, Cloud Application Event Hub) shape the answer. The state stays core-only, since every provider counting for the door is sap-official.
Event Add-On for ERP: All you need to know about the new Event StudiopublishedA Devtoberfest 2026 integration-track session (INT-43) on Event Studio, the browser-based part of the Event Add-On for ERP that defines events in an S/4HANA or ECC backend without code and sends them to a broker. A custom sales-order event is built live — fields picked into a payload that is published as a CDS view entity, a trigger on a classic business object, a static topic — and arrives in a queue on SAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp, which is where the Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design edge holds. The rest of the demo covers health and exception monitoring in SAP Cloud ALM, the AsyncAPI definition replicated to Event Portal, and the AI assistant and MCP server now inside Event Studio.
IntegrAItion: Event-Driven IntelligencepublishedA Devtoberfest 2026 session, INT-33, whose line is that agents fail because they are not informed enough rather than not clever enough, and that events are how they get informed: what an event is, the source-broker-consumer split, notification against data events, and topic filtering as the thing that decides which agents are woken at all and what that costs in tokens. It covers Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design as the concern — topics, subscriptions, filters and queues — and SAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp as the product, down to its event portal and catalogue, the mesh and cluster managers and distributed tracing. The closing demo sends an S/4HANA product-defect event through the mesh to wake an agent in Joule Studio, which fetches what it still needs over MCP and reports to a person the next morning.
Event enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEMpublishedWalks through connecting SAP's ABAP-side Data Replication Framework to Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp by way of the AIFAEM add-on, bypassing SAP Cloud Integration: a custom ABAP class maps business-partner replication data into AIF, which publishes it to AEM in CloudEvents format. The author's own disclaimer favours the standard pattern instead — a Standard DRF Replication through an Integration Suite iFlow with the AEM adapter — and presents this direct, custom-ABAP route only as a documented alternative.
Show 71 more
[Blog Post] SAP Event Mesh - Consuming S4 events simultaneously in CAP-based applications and SAP Integration Suiteexplains 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 Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant Scenarioexplains 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).
Build real-time event-driven integrations for your enterpriseexplains 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).
Build your own event-driven scenario with advanced event meshexplains 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).
CAP - Specifying the queues to be consumed from SAP Event Meshexplains 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).
Complete Guide: Setting Up CAP Plugin for Advanced Event Mesh with OAuth Authenticationexplains 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).
Event Driven Architecture with Event Mesh - Part-1explains 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).
Event Driven Architecture with Event Mesh – Part-2explains 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).
Event Meshdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Event-driven Extensions for SAP SuccessFactors on SAP BTP – Connecting the Dotsexplains 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).
Event-Driven Multi-Tenant Architecture on SAP BTP with CAP and SAP Event Meshexplains 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).
How to use a CAP application to manage DMQ messages on SAP Advanced Event Meshexplains 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).
Implementing Event-Driven Architecture in CAP Java using SAP Event Meshexplains 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).
Integrating SAP S/4HANA Invoicing with KSeF Using SAP Event Mesh and 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).
Migrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event Meshexplains 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).
Modern integration at TÜV Rheinland: APIs, events and cloud transformationexplains 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).
Publish events from CAP Node.js applications to Event Mesh of Integration Suiteexplains 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).
Unlock composable business using SAP Integration Suite, advanced event meshexplains 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).
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2explains 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).
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2explains 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).
Build real-time event-driven integrations for your enterprisepublishedEvent-driven integration with SAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp inside SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp: where events beat request-response, how publish and subscribe decouple systems, and what a phased move to event-driven integration looks like. Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design as architecture; the abstract names no broker protocol and no CDS mapping. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Daniel Dorst and Karsten Strothmann, written here from SAP's abstract; the recording is not yet published.
Build your own event-driven scenario with advanced event meshpublishedAn event-driven scenario built on SAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp: queues, topics and subscriptions first, then filtering and event replay, in two parallel tracks, a guided one for newcomers and a second for experienced practitioners. It covers the brokered side of Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design; which systems publish and consume, and which protocol the clients speak, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Claudia Carabineiro, Emily Mui, Karsten Strothmann and Tobias Griebe, written here from SAP's abstract; the recording is not yet published.
Modern integration at TÜV Rheinland: APIs, events and cloud transformationpublishedTÜV Rheinland's migration from SAP Process Orchestration to SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp with API-led connectivity and event-driven architecture, told through business cases. The abstract names what was used: the SAP Integration Suite, Event MeshSAP Integration Suite, Event MeshThe event broker activated inside SAP Integration Suite: queues, topic subscriptions and webhook subscriptions, reached over AMQP, MQTT and HTTP.sap official, btp capability, API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp, generative AI for faster development and SAP Cloud ALMSAP Cloud ALMSAP's application lifecycle management product, run by SAP as a service: implementation projects with their tasks, requirements, features, documents and test management, and the operations side of a landscape. For the things here it is the system a server reads over the published Cloud ALM APIs, on behalf of an agent. for monitoring. It states nothing about how any of them was used, so the edges rest on the names and on the Platform migrationPlatform migrationMoving an application, integration or database from one platform to another: assessing what exists, converting what tooling supports, and adapting what cannot carry over. Language-level compatibility is a separate concern from moving the platform around an application.SAP and community, unassessed the story starts from. A TechEd 2026 session (Wednesday 28 October, Berlin), written here from SAP's abstract; the recording is not yet published.
SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and WebhookspublishedA step-by-step walkthrough of wiring Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp to publish and consume events between an on-premise S/4HANA system and Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp, contrasting persistent queues (one subscriber, kept until consumed) against unpersisted topics, and WebSocketWebSocketPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.Community only's AMQP transport against webhook delivery for the same queue. Two tested findings support it: a queue consumer running in continuous consumption mode receives a message ahead of a webhook on the same topic, and a message stays queued and is retried (almost 8770 times in under a minute, in the author's test) until the consumer processes it successfully.
Unlock composable business using SAP Integration Suite, advanced event meshpublishedSAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp as SAP's product for event-driven, real-time and loosely coupled integration between SAP and third-party systems, which the abstract ties to composable business architecture. The session is about that product and the Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design concern it answers; the abstract states the positioning and no feature, topic or protocol, and a speaker from CCB Management Services is listed without a stated case. A TechEd 2026 session (Tuesday 27 October, Berlin; also IN111V, virtual), presented by Goran D. Stevanovic and Karsten Strothmann, written here from SAP's abstract; the recording is not yet published.
@cap-js/advanced-event-meshreleased 1.1.0Setup notes that add the plugin to a CAP 8 project.
Beginners Guide to Advanced Event MeshpublishedA scenario-by-scenario walkthrough of Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp, run through Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp iFlows: publishing and consuming queue messages, dead message queue setup with retry counts and acknowledgment modes, direct messages, durable topic endpoints and selectors, time-to-live, REST Delivery Points, replay by replication group message ID, parallel consumers with partition keys, and the request-reply pattern. Each scenario is built and verified step by step against a Solace trial account standing in for AEM.
Event-driven Extensions for SAP SuccessFactors on SAP BTP – Connecting the DotspublishedWalks through an event-driven extension for SAP SuccessFactors: Automated Configurations registers the SuccessFactors system against an SAP BTP account with an integration token, and a SuccessFactors custom integration then pushes events, such as an employee joining or leaving, to a topic in Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design that a CAP application subscribes to. The SuccessFactors APIs themselves are downloaded as EDMX files from SAP API Business Hub and imported into the CAP project, the same EDMX-import path behind service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design, so CAP generates the client used to call them. A reference application, RunSmooth, ties Automated Configurations, Event Mesh and CAP together end to end.
Event Meshcore coverage revisedcapire audit 2026-09-27, proposed pages read a fourth time: the paragraph says messaging rests on intrinsic eventing, and the events index says the same in SAP's words.
SAP Codejam on Event Driven Build ProcesspublishedA hands-on CodeJam walkthrough of an event-driven flow: a Business Partner creation event from a simulated S/4HANA Cloud system is published to SAP Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp, where the author configures topics, queues and subscriptions and forwards it through a REST Delivery Point to SAP Build Process AutomationSAP Build Process AutomationSAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances.sap official, btp, which runs a business process with a human approval step and an asynchronous callback to a third-party system. The event producer stays unaware of its consumers, with SAP Build acting purely as an orchestrator reacting to events.
How to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata PollpublishedWalks through building a Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp flow that polls the S/4HANA Business Partner ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design API on a timer, splits the response into individual records, and publishes each as an event to Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp through its adapter, with the topic set dynamically from a grouping property. Selects fields and expands associations with $select/$expand against an EDMX from the API Business Hub, and works around the OData V2 adapter's lack of JSON support by falling back to the HTTP adapter with an XML-to-JSON converter. Flags the trade-off: the pattern needs no backend change beyond activating the API, but the polled payload has to stay aligned with whatever event format the ERP pushes on change.
SAP Integration Suite, advanced event meshpart of, connects revisedThe use case for receiving Kafka messages lists the Kafka bridge as a documented contribution, and the graph held no edge from the broker to Kafka, so a generated diagram could not draw the path. From SAP's Kafka bridging pages; no protocol is entered because neither page names one.
com.sap.cds:cds-feature-advanced-event-meshadded to the atlasCAP Java plugin for SAP Integration Suite, advanced event mesh
com.sap.cds:cds-feature-enterprise-messagingadded to the atlasConnects CAP Java messaging to SAP Event Mesh
com.sap.cds:cds-feature-event-hubadded to the atlasConnects CAP Java messaging to SAP Cloud Application Event Hub
com.sap.cds:cds-feature-kafkaadded to the atlasConnects CAP Java messaging to Apache Kafka
com.sap.cds:cds-feature-redisadded to the atlasBeta connector from CAP Java messaging to Redis Pub/Sub
@cap-js/advanced-event-meshconnects, requires revisedThe README states the binding as a must, to the plan
aem-validation-service; the second reader named the missing edge.cds-kafkaprovides, requires, compat, identity, description, connects revisedcds-kafka required Apache Kafka as its broker; the connection says what the dependency could not: that messages run both ways, to and from topics.
com.sap.cds:cds-feature-advanced-event-meshprovides revisedNew CAP Java provider discovered through the repository's README and the official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
com.sap.cds:cds-feature-enterprise-messagingprovides 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.
com.sap.cds:cds-feature-event-hubprovides revisedNew CAP Java provider discovered through the repository's README and the official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
com.sap.cds:cds-feature-kafkaprovides 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.
com.sap.cds:cds-feature-redisprovides 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.
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2explains revisedFollows the reclassification of cds-kafkacds-kafkaA Kafka adapter for CAP that registers Kafka topics as a CDS messaging service over KafkaJS, so emit and on work unchanged, with per-message keys, partitions and topics set through headers.independent, cap. The post is about brokered delivery between systems: SAP's event brokers, Kafka's log and offsets, and the plugin's emit and subscribe. It says nothing about deferred jobs, retries or periodic work, which is what async processing is here.
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2explains, part of, position revisedBoth posts state the run in their own opening lines — this one is "the second in a two-part series" — and the corpus held the pair as two unrelated entries. Part 1 is not a container, so it is part one and this runs from 2.
cds-event-monitoringadded to the atlasStores, browses and resends messages a CAP service receives
Migrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event MeshpublishedA migration walkthrough for switching an SAP ERP or S/4HANA on-premise system from classic SAP Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp to SAP Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp: new RFC destinations to the broker's REST, handshake and token endpoints, trusting its certificate, activating the AEM business configuration set, and re-pointing the NetWeaver Add-On for Event Enablement's outbound object and dynamic topic mapping at the new instance. It assumes the Event Add-On for ERP (ASAAEMEE) is already installed and covers only the technical cut-over, not setting up event publishing from scratch.
Event Meshecosystems revisedWidened to ABAP: cesar-sap/abap_kafka_rest_proxy produces to and consumes from Kafka, INVIXO/abapMQ and MDJoerg/MQBA speak MQTT, and gregorwolf/AWS_SNS4ABAP receives AWS SNS notifications in an ABAP system.
SAP Integration Suite, advanced event meshadded to the atlasEvent streaming and management platform in Integration Suite
Event Meshname 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.
Event Meshadded to the atlasManaged queues and topics over AMQP, MQTT and REST
Event Meshecosystems 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.
[Blog Post] SAP Event Mesh - Consuming S4 events simultaneously in CAP-based applications and SAP Integration SuitepublishedOne S/4HANA event, two consumers at once: a CAP Java application and SAP Integration Suite. Late in a long Deep Dive series and written as such — the queues, the S/4HANA connection and the Integration Suite side were all established in earlier posts, so this is the part where they meet.
[Blog Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant ScenariopublishedThe instalment of the Deep Dive series where the framework arrives. The earlier posts consumed Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp 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.
CAP - Specifying the queues to be consumed from SAP Event MeshpublishedWritten against the edge of the convention rather than the convention. CAP creates one queue per application and names it for you; this is the case where the queue already exists, belongs to someone else, or there is more than one of them. The oldest Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp post indexed here, and the only one about taking the naming back.
Complete Guide: Setting Up CAP Plugin for Advanced Event Mesh with OAuth AuthenticationpublishedWritten because the plugin's own documentation stops short of the prerequisites and the author had to assemble them from three other sources and a help chapter. It joins them: the OIDC application in Identity Authentication, the OAuth profile in Broker Manager, the token checked before anything is wired, and only then the plugin. The author says plainly it came out of trial and error and was going to be a README.
Event Driven Architecture with Event Mesh - Part-1publishedContinues 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.
Event Driven Architecture with Event Mesh – Part-2publishedPart 1 published a message and stopped there; this closes the loop by giving it somewhere to go. A REST API built in Integration Suite is registered as a webhook on the Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp queue, and the chain is run end to end — CAP to Event Mesh to Integration Suite to Twilio — so the consumer side and the webhook configuration are what this adds.
Event-Driven Multi-Tenant Architecture on SAP BTP with CAP and SAP Event MeshpublishedThe two topics that are usually written about separately, taken together — because a shared broker is where tenant isolation stops being automatic. It starts from why microservices are decoupled at all, places Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp among the four broker services BTP offers, and then works through what changes when the publisher and the consumer are multitenant.
How to use a CAP application to manage DMQ messages on SAP Advanced Event MeshpublishedA CAP application built for the failure path rather than the happy one. Messages that land in a Dead Message Queue are deleted for good when their TTL expires, so this pulls them out first and holds them in quarantine, where a Fiori elements UI lets someone inspect a payload, correct it and reinject it. An operations tool, and a rare write-up of what to do after delivery has already failed.
Implementing Event-Driven Architecture in CAP Java using SAP Event MeshpublishedPublish and consume from the Java stack, which most of the Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp writing on the community does not cover. The MTA declaration and the credentials come first, then the emit and the handler, then the two sections that make it worth keeping: error handling with retries, and securing the events with OAuth.
Integrating SAP S/4HANA Invoicing with KSeF Using SAP Event Mesh and CAPpublishedA concrete regulatory deadline rather than a demo topic: every Polish invoice has to pass through KSeF, the national e-invoice platform, and this proposes the route — S/4HANA business events onto Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp, a CAP application consuming them and talking to KSeF. Short, and offered as an example to argue with.
Publish events from CAP Node.js applications to Event Mesh of Integration SuitepublishedThe smallest complete example:
cds init, a service with one function, cds.connect.to('messaging') and an emit to a topic. Deliberately scoped — the Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp setup is skipped and the subaccount is assumed to be the same one — so what remains is the handful of lines on the CAP side and the binding that makes them reach the broker.Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2publishedThe theory half of a pair introducing cds-kafkacds-kafkaA Kafka adapter for CAP that registers Kafka topics as a CDS messaging service over KafkaJS, so emit and on work unchanged, with per-message keys, partitions and topics set through headers.independent, cap: what the plugin is for and what it can do, with event-driven architecture set up as the reason rather than assumed. Nothing is deployed here — the running application is part two — so this is the post to read if the question is whether Kafka belongs in the picture at all rather than how to wire it.
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2publishedThe practical half: concrete use cases for cds-kafkacds-kafkaA Kafka adapter for CAP that registers Kafka topics as a CDS messaging service over KafkaJS, so emit and on work unchanged, with per-message keys, partitions and topics set through headers.independent, cap, running locally and on BTP. It opens by placing the plugin among SAP's own event-driven offerings rather than beside them, which is the part that decides whether you reach for this or for Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp — a comparison a plugin's own README rarely makes about itself.
@cap-js/advanced-event-meshadded to the atlasCAP integration with SAP Integration Suite advanced event mesh
@cap-js/event-brokeradded to the atlasConsumes events from SAP Cloud Application Event Hub in CAP
cds-kafkaadded to the atlasKafka adapter exposing topics as a CDS messaging service
Event Meshcore 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.
Event Meshthe core changed in @sap/cds 10.0.3Guidance that Event Mesh classic and
enterprise-messaging are the only Event Mesh a CAP application can talk to. That was true until mid-2026. It is still the production path while the new kinds are beta, so this widens the choice rather than replacing it.Notificationscore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the note claimed every provider is independent, a statement about who has built something; it now names the kinds, including the process framework that mails about failed objects.
Connecting On Premise Mail Destination and Sending Email Using SAP Cloud SDK JavaScript Version 3 on SAP 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).
How To Implement Alert Notification Service in Cloud Application Programmingexplains 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).
Receive Notifications from Amazon Simple Notification Service for SAP S/4HANA BTP Extension 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).
Show 16 more
@expertum/cap-email-pluginlinks, source available, description, requires revisedNeither is needed in every configuration. The README lists the Destination service for the Microsoft Graph provider alone, and package.json marks @sap-cloud-sdk/http-client optional in peerDependenciesMeta.
com.sap.cds:cds-feature-notificationsadded to the atlasBusiness notifications from CAP Java via SAP Alert Notification
com.sap.cds:cds-feature-notificationsprovides revisedNew CAP Java provider discovered through the CAP plugins documentation and the cap-java/cds-feature-notifications repository. Facts describe the pinned source revision (0.0.2-alpha); the module is listed alpha in capire's own plugins page.
Notificationsecosystems revisedApplicationLogsNotificationToFiori, SCPmsPushNotificationREST_API, easyHtmlEmail and zrss send launchpad notifications, mobile push, HTML mail and RSS feeds from an ABAP system, so the concern has answers behind the ABAP door.
@neoimpulse/cap-js-notificationslineage revisedThe README says it is a copy of cap-js/notifications. GitHub does not flag it as a fork — the code was copied rather than forked on the platform — so this one has lineage and no fork_of, which is the case the two fields are kept apart for.
@neoimpulse/cap-js-notificationsadded to the atlasCopy of @cap-js/notifications published under another scope
Connecting On Premise Mail Destination and Sending Email Using SAP Cloud SDK JavaScript Version 3 on SAP CAPpublishedMail from CAP through a company's own SMTP server rather than a hosted one, which is the case the existing answers did not cover — the author names them and says why each failed here: one needed an SMTP provider like Mailtrap, another solved it in Java. What is left is the connectivity: an on-premise mail destination reached from Node, and a hybrid profile to test it against.
How To Implement Alert Notification Service in Cloud Application ProgrammingpublishedA click-by-click setup of BTP's Alert Notification service against a CAP application. Operational alerting rather than business notification — the audience is whoever is on call, not the user — which is the distinction the Work Zone plugin here does not cover.
Receive Notifications from Amazon Simple Notification Service for SAP S/4HANA BTP Extension ApppublishedEmail notifications from a CAP application through Amazon SNS instead of anything SAP provides — a hyperscaler service used directly from the extension rather than through a BTP intermediary. The argument for it is stated as reach rather than cost: the extension gets the platform's services and the hyperscaler's at the same time.
@cap-js/notificationsdescription 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.
@cap-rp/notificationsdescription 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.
@expertum/cap-email-pluginlinks 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.
@expertum/cap-email-pluginadded to the atlasAnnotation-driven mail on CAP entity lifecycle events
Notificationscore 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.
@cap-js/notificationsadded to the atlasBusiness notifications from CAP to SAP Build WorkZone
@cap-rp/notificationsadded to the atlasRenamed copy of @cap-js/notifications under another scope
RFC connectivitycore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): erpl-node-rfc, pyrfc-mcp, rfc-connector and Cloud Connector reached this door after the block was written and change its shape from callee only to callee and caller.
Consume ABAP RFC Function Modules in 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).
Communicate from a Java Application to ABAP via WebSocket RFC using JCo - Migration GuidepublishedWalks a JCo setup from classic CPIC-based RFC to WebSocket RFC: swap the application- or message-server logon properties for jco.client.wshost and jco.client.wsport, and implement DestinationDataProvider's getSSLContext (and, for mTLS, getClientCertificate) since the new connection runs over TLS. It covers building the PKI trust on both sides — a local PKCS12 keystore for the Java side, STRUST's SSL-Server Standard certificate exported and imported for mutual trust on the ABAP side — and notes that on BTP, JCo paired with the Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp already implements this via the Connectivity serviceSAP Connectivity serviceThe proxy through which a cloud application reaches an on-premise system behind a Cloud Connector — HTTP, RFC and raw sockets — without that system being exposed.sap official, btp, so the custom SSLContext work can be skipped there.
Building Custom Joule Skills via RFC: Guide for SAP S/4HANA and ECC IntegrationpublishedWalks a Joule skill from a spoken question about a production order's status to an answer in SAP Build Workzone: a Cloud Connector tunnel and a destination in the BTP cockpit reach the S/4HANA or ECC system, a BAPI/RFC Action Project in SAP Build wraps the BAPI that reads the order, and Joule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp turns the action into a skill and deploys it. Establishing the connection and its destination before the action project exists is RFC connectivityRFC connectivityCalling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side.SAP and community, narrow by design and DestinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed done for a low-code consumer rather than a CAP service. The action type here is BAPI/RFC, alongside the OData actions Joule Studio's own entry names.
Show 11 more
Introducing open-rfc: Calling SAP RFC from Node.js Without the SDKpublishedopen-rfcopen-rfcAn SDK-free TypeScript and JavaScript client for SAP classic synchronous RFC on Node.js, with no native addon and no runtime dependencies, that works as a drop-in under @sap/cds-rfc through an npm override.independent, cap is a TypeScript and JavaScript RFC client for Node.js with no runtime dependencies and no SAP NetWeaver RFC SDK, written after SAP archived node-rfc and PyRFC and while the connector below @sap/cds-rfc@sap/cds-rfcCalls ABAP function modules over RFC from a CAP service.sap official, cap needs an S-user, an SAP Build Code licence and a private registry. The history of RFC connectivityRFC connectivityCalling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side.SAP and community, narrow by design from Node.js is the first half; the second shows the package on its own, as an npm alias for node-rfc, and through an npm override as the connector below an unchanged @sap/cds-rfc. The 0.2.3 beta stops at direct application-server connections with password authentication and classic Unicode RFC: no message-server load balancing, SNC, tRFC, qRFC, bgRFC or server mode.
SAP Connectivity servicerequires revisedThe Cloud Connector entered in intake-20260915-cloud-connector; the service's description already named it in plain words.
RFC connectivityecosystems, description revisedThe old wording put the caller in a CAP service, which is false behind the ABAP door, where the repositories answer the side being called. The caller is now anyone outside the system.
open-rfcserves ecosystems revisedA Node.js RFC client serves whoever calls a function module, and that is a CAP or Node developer; an ABAP developer exposes the module and never installs this. It was listed behind the ABAP door with no concern there to answer.
SAP Connectivity serviceserves ecosystems revisedIt provides RFC connectivity, a CAP-side concern; a UI5 frontend reaches a backend through its router, not through the Connectivity service.
SAP Connectivity serviceadded to the atlasProxy from cloud apps to on-premise systems via Cloud Connector
RFC connectivityecosystems 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.
Consume ABAP RFC Function Modules in CAPpublishedCalling an existing RFC function module from CAP instead of asking somebody to build an OData service for it — which is the actual decision, since the alternative is custom development on the ABAP side for a function that already works.
@sap/cds-rfcadded to the atlasCalls to ABAP function modules over RFC from a CAP service
open-rfcadded to the atlasSDK-free TypeScript client for SAP synchronous RFC on Node.js
RFC connectivitycore 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.
Service compositionid revisedProposed by the capire audit of 2026-09-27 with medium confidence: importing reuse packages, composing a solution from modules and choosing the deployment cut late is documented in two guides and owned by no capability; tenant-extensibility is per tenant and deployment is topology. Created by the maintainer's decision, with the core's answer read from both guides.
The ECC-to-CAP Starter KitpublishedA Devtoberfest 2026 session that builds a CAP service and a Fiori elements list report over an SAP ECC gateway service, on the argument that the CAP project, its contract and its UI survive a later move to SAP S/4HANA while the APIs behind them change. The service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design edge is the body of the demo: the metadata of the ECC flight service is saved as an EDMX file, imported with cds import so the model holds the structure and none of the data, projected read-only into a flight service, and one line of handler code forwards each read to ECC, with filtering, sorting and paging translated down to the older OData version the system speaks. The SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp edge covers the on-premise destination and the additional properties the walkthrough insists on, and the SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp edge covers the full-stack dev space, the CAP project wizard, the service center plugin for picking up another OData service, and cds watch run under the profile that uses those credentials.
CAP Service to Fetch + Create Sales Order in S4 HANA Public 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).
CAP: Consume External Service - Part 1explains 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).
Extend SAP SuccessFactors on SAP BTP with CAP - Import SAP SuccessFactors OData Services definitionsexplains 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).
Show 6 more
CAP: Consume External Service - Part 1publishedBuilds a CAP Node.js service from scratch that consumes the public NorthWind OData V4 service:
cds import turns its EDMX metadata into a CSN model under srv/external, and a CatalogService projects Products from it with a custom READ handler that runs the request through cds.connect.to('NorthWind'). Shows the same projection working two ways — against a CSV mocked under srv/external/data with the <service>-<entity>.csv naming the framework expects, then against the real service once credentials.url is added to the CAP configuration and @sap-cloud-sdk/http-client@sap-cloud-sdk/http-clientThe HTTP client that carries a destination's credentials, so an outbound call inherits the authentication rather than assembling it.sap official, cap is installed — and defers routing that connection through the Cloud Foundry DestinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed service to the next post in the series.Extend SAP SuccessFactors on SAP BTP with CAP - Import SAP SuccessFactors OData Services definitionspublishedWalks through importing the ECEmployeeProfile and PLTUserManagement OData services from SAP API Business Hub into a CAP project: downloading their EDMX files, running
cds import in SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp to generate the CSN under srv/external, and pointing the resulting cds.requires entries at a destination. The second half creates a destination and an XSUAA service instance on BTP and binds their service keys into a default-env.json file so the project can reach SAP SuccessFactors during local development.SAP CAP: Consume SAP API Hub Sandbox Data as an external service Part- 1publishedWalks through consuming SAP API Business Hub's Business Partner sandbox API from a CAP Node.js project: @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, cap's
cds import turns the downloaded EDMX into a CSN model and a cds.requires entry, a projection service exposes it, and a custom handler forwards reads to the proxy through @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap's cds.connect.to and bp.run(req.query). Reaching the sandbox needs the API key added as a header on that same credentials block, since the destination service that would carry it is left for a promised part two.CAP Service to Fetch + Create Sales Order in S4 HANA Public CloudpublishedA CAP Node.js walkthrough imports SAP S/4HANA Cloud's Sales Order OData API with cds import, adds csrf handling to the generated service definition, and forwards a custom REST action's reads and writes to the remote proxy through cds.connect.to, the pattern Service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design covers. The mta.yaml binds the SAP S/4HANA Cloud extensibility service and a SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp instance so the S/4HANA Public Cloud system's address and credentials stay outside the application, per DestinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed.
Service integrationid, core coverage, facets revisedA role in a design is filled from evidence that an option speaks what the fixed part exposes, and that join runs over one protocol vocabulary (docs/concepts/design-roles-and-interfaces.md, P2). Declared here so options can state it; absent stays "does not say".
capire/s4added to the atlasPrebuilt SAP S/4HANA integration package for CAP projects
Give Your AI Agent Some Tools: Introducing the UI5 MCP ServerpublishedAnnounces @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, SAP's open-source MCP server for UI5 development, and walks through its initial six tools. get_project_info, get_api_reference and run_ui5_linter (which applies UI5 linter@ui5/linterSAP's static analysis tool for UI5 projects: it scans JavaScript, TypeScript, XML, JSON and other files for deprecated APIs, global variables and possible CSP violations, and fixes part of them with --fix.sap official, ui5 fixes) read the project's own version, manifest and code rather than an LLM's training data, which is what agent access to your codeAgent access to your codeLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from MCP servers, which is a protocol adapter on your own running service, and from agent guidance, which is knowledge handed over as files rather than read from the thing itself.SAP and community, unassessed explains. create_ui5_app scaffolds a new JavaScript or TypeScript project, standalone or inside an existing CAP application, from templates with pre-configured OData model setups, which is generatorsGeneratorsGetting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project.SAP and community, narrow by design.
UI5 MCP Server Got Extended for UI Integration Cards GenerationpublishedVersion 0.2.1 of the UI5 MCP Server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5 adds three tools for UI Integration Cards: get_integration_cards_guidelines feeds an agent current best practices and API versions, create_integration_card scaffolds a new card project, and run_manifest_validation checks the generated manifest against the schema. The post frames these as closing the same gaps as the server's existing tools — an LLM's outdated or wrong card API knowledge — this time for scaffolding and validating a card rather than a full app.
Agent access to your codecoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the tool count and the two absence claims about who has built something.
Agent access to your codecoverage by ecosystem revisedRewritten at the maintainer's request (2026-10-25): what SAP ships named whole, and what the community adds written from what its ABAP MCP servers state about how they run, connect and sign in.
Show 39 more
AI Assisted CAP DevelopmentpublishedA Devtoberfest 2026 session (CAP-43) on building CAP applications with a coding agent, in two demos. The first asks the same question twice in a dev container, once with no MCP server configured and once with @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap registered: without it the agent answers CAP's semantic search with an outdated vector type and CQL, with its documentation search it writes the built-in vector embedding function and a working similarity query. The second installs the cap-developer plugin from capire/skillscapire/skillsSAP's own skill set for coding agents working on CAP — cap-developer, cap-add-remote-service, cap-upgrade and cap-trivia, each a SKILL.md with references beside it.sap official, cap, from a Devtoberfest preview branch, and runs its guided-development skill stage by stage — domain model, sample data, services, constraints — each stage reviewed before the next.
AI-assisted SAP development with MCPpublishedA Devtoberfest 2026 session (UI-41) that traces AI-assisted SAP development from pasting code into a chat window to coding agents with built-in connectors, and sorts the MCP servers around SAP development into SAP's own, the community's and the hosted ones, where the agent cannot change what the server allows. Four demos follow: GitHub Copilot alone explaining an ABAP report from a Git repository, @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5 reading an OpenUI5 sample app and converting it to TypeScript, mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap grounding Terraform files for a BTP subaccount the presenter had not written before, and arc-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap with Copilot in Eclipse tracing why a title longer than 40 characters is rejected and proposing the DDIC-allowed length instead. It ends on a skill that migrates an SAP Gateway project on an ECC system to RAP on S/4HANA step by step, and on a rule Marian ZeisMarian Zeismaintains 35 entries, created 25 pieces, contributed to 86 entries gives for servers written for internal use: keep them read-only, because what the agent is short of is context.
Intelligent App Development at Scale: SAP Fiori Elements + ABAP Development Tools for VS CodepublishedA Devtoberfest 2026 session (UI-33) that builds a RAP service and the SAP Fiori elements app over it from one VS Code workspace, with a coding agent driving two of SAP's MCP servers. The ABAP Development Tools for VS CodeABAP Development Tools for VS CodeSAP's ABAP tools in VS Code: editing, debugging, ABAP Unit, ATC and transports for classes, CDS and RAP objects, over RFC to an on-premise or Private Cloud system and HTTP to a cloud one, with Joule's ADT MCP server and code completion behind an AI-unit licence.sap official, abap edges hold on the demo itself: its virtual file system keeps the ABAP package beside the Fiori project, the ADT MCP ServerADT MCP ServerSAP's own ADT MCP server, and not a package: a preference inside ABAP Development Tools for VS Code that starts a local HTTP MCP server on a port you choose.sap official, abap inside it creates, changes and activates the ABAP objects, and a version not yet released publishes the service binding from the agent instead of by hand. The @sap-ux/fiori-mcp-server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5 edge covers its generators and the three-step workflow it uses for changes — list the functionality available for the application, ask for its JSON schema, then execute it — and the agent guidanceAgent guidancePackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from agent access to your code, where the agent reads the real project instead of being handed a file about it.SAP and community, core adopted it edge rests on the skills the Fiori team publishes beside it, on the session's account of what a skill adds that a server does not, and on the analytical chart demo where a skill orchestrates both servers in one task.
Agentic Engineering for SAP BTP 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).
AI-assisted full stack development using model context protocol serversexplains 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).
Boost your CAP Development with AI: Introducing the MCP Server for 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).
Building a CAP service with cds‑mcp and Cline — HANDS‑ON SUPER BASIC GUIDE [ with screenshots ] 🍌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).
Evaluating SAP’s new MCP servers: UI5, CAP, and Fiori tools in practiceexplains 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).
From SEGW and Legacy UI5 to RAP with ARC-1explains 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).
How I Use AI for Development and Why Context Mattersexplains 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).
OData to outcomes—Build AI-enabled SAP Fiori apps using SAP Fiori elementsexplains 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).
SAP Fiori Tools Update – First Release of the SAP Fiori MCP Server for Agentic AIexplains 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).
Agentic Engineering for SAP BTP ExtensionspublishedAn agent harness coordinates code generation across isolated Git worktrees, using a skills registry, SAP CAP MCP Server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap, Fiori MCP Server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5 and UI5 Web Components MCP Server@ui5/webcomponents-mcp-serverFour tools that answer an agent's questions about UI5 Web Components from the framework's own documentation — component API, integration guides, and the docs themselves.sap official, ui5 for development context. The diagram shows LiteLLM as a model proxy in front of SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, while automated checks and review gate the generated changes. The worked scenario is CAP-based extensions on BTP, with specifications written before generation and reusable skills governed across teams.
Agent access to your codeframing by ecosystem revisedBeside Agent access to your systems, the ABAP door read as two names for one thing. This one is about the code, development objects reached through ADT; that one is about business data and operations. The atlas maintainer's decision.
Agent access to your codenormative relevance revisedThe policy's agentic provision reaches every server that calls ADT for an agent; it was stated on arc-1 alone and as unsourced prose in several boundaries.
AI-assisted full stack development using model context protocol serverspublishedMCP servers in Visual Studio Code used to configure, query and change a full-stack application built with CAP, CDS and ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design: the agent access to your codeAgent access to your codeLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from MCP servers, which is a protocol adapter on your own running service, and from agent guidance, which is knowledge handed over as files rather than read from the thing itself.SAP and community, unassessed concern, a coding assistant reading and changing the project it works in. The abstract names no server, so neither @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap nor any other is attached, and it does not say which changes are made. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Sergio Guerrero, written here from SAP's abstract; the recording is not yet published.
OData to outcomes—Build AI-enabled SAP Fiori apps using SAP Fiori elementspublishedA Fiori elements app built through SAP's MCP servers: the OData V4 service comes from the MCP server for RAP, which the atlas holds as the ADT MCP ServerADT MCP ServerSAP's own ADT MCP server, and not a package: a preference inside ABAP Development Tools for VS Code that starts a local HTTP MCP server on a port you choose.sap official, abap, or from @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap for CAP, and the UI from @sap-ux/fiori-mcp-server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5, with annotations and actions added before the app is tied to SAP's AI features. Agent access to your codeAgent access to your codeLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from MCP servers, which is a protocol adapter on your own running service, and from agent guidance, which is knowledge handed over as files rather than read from the thing itself.SAP and community, unassessed on both the service and the UI side; SAP's abstract names the servers and the steps and says nothing about which AI features or which agent host. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Benedikt Schoelch, Sebastian Steinhauer, Sebastian Werner and Stefan EngelhardtStefan Engelhardtgave 1 talk, contributed to 5 entries, written here from SAP's abstract; the recording is not yet published.
@ui5/mcp-serverreleased 0.3.0Setups that rely on MCP roots to keep the server's tools inside the workspace.
@cap-js/mcp-serveradded to the atlasMCP server for CAP development: model and docs search
ARC-1 with Joule Studio: Bringing Real ABAP System Context into JoulepublishedBrings the same BTP-deployed ARC-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap endpoint into Joule through a Joule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp agent configured with Anthropic Claude Sonnet 4 and two MCP servers, ARC-1 and mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, for work that starts in SAP where the previous part started in Microsoft 365. Two read-only showcases carry the ABAP Cloud readinessABAP Cloud readinessWhether code can run in ABAP Cloud — released APIs only, no direct table access, no obsolete statements — and what to do with the code that cannot.SAP and community, unassessed edge: a clean core check of one class that reports it is not released, uses USR02 and BUT000 directly and has no ATC findings, and a modernisation backlog for package ZSD_LEGACY which, as that package did not exist, grouped 28 ZSD* objects into risk buckets instead. The route through SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp API Management or a future MCP gateway is presented as a target architecture and not yet a productive setup, because Joule Studio's documentation requires streamable HTTP destinations and does not support MCP servers that need interactive OAuth user authorisation.
Building an Enterprise-Ready SAP AI Agent with Open SourcepublishedA self-hosted chat agent for SAP systems: LibreChat as UI and orchestrator with Entra ID sign-in and SharePoint connected, a local LLM through Ollama, and two MCP servers, mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap for public documentation and the ADT MCP server vibing-steampunkvibing-steampunkAn ADT-to-MCP bridge in Go that reaches past what ADT exposes — cluster tables decoded, spool and job logs read as tables, the IMG searched, selection texts written back.independent, abap for the system itself. The ADT server runs in its read-only mode under a technical user with display authorisations only, so the agent can find a function module and pull its source, or locate a RAP business object with its behaviour definition and projection view, but cannot change anything. Two workflows show it, explaining what BAPI_DISPUTE_CREATE does in one system and planning a RAP action from a PDF specification, where the generated ABAP is copied into Eclipse by hand; the full setup is in the marianfoo/llm-client-sap-system-integration-sharepoint repository.
From SEGW and Legacy UI5 to RAP with ARC-1publishedThree ARC-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap skills, run in Cursor with Composer-2 against a deliberately rough demo on an S/4HANA 2023 trial system, turn the SEGW service
ZDEMO_MIG_PROJECTS_SRV into a managed, draft-enabled RAP business object published as OData V4, replace its ApproveProject function import and its direct UPDATE ... COMMIT WORK with the action approve_project written in EML in local mode, and rebuild the freestyle UI5 JavaScript app once in UI5 TypeScript and once as a Fiori elements list report and object page driven by metadata extensions. What the published transcripts add is how the agent got there: it found the generated MPC class names and the custom logic in DPC_EXT only by reading the system, the skills made it print the extracted model and stop for confirmation before writing, and @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap and @sap-ux/fiori-mcp-server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5 each had their own job beside it. The demo is small on purpose, and the post says a productive SEGW service that calls BAPIs, carries custom authorisation logic or supports deep inserts is not solved with one prompt.How I Use AI for Development and Why Context MatterspublishedPart one of the AI ABAP development series traces a move from pasting ChatGPT output and error messages back and forth to tools that search, read docs and inspect files themselves, and holds that the context around a model decides more in real projects than benchmark results do. In SAP work the grounding comes from mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, which brings SAP Help, GitHub repositories, style guides and DSAG guidelines into the session, and context for changing a class also means the tables it uses, the classes it calls and similar implementations. Agentic autonomy is a slider set per project, with the time saved on typing moved into planning and review, and the post stops before ABAP: SAP's MCP servers for UI5, CAP and Fiori (@ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap, @sap-ux/fiori-mcp-server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5) sit in off-stack work that git and pipelines already gate, and the harder ABAP case is left to the next part.
Agent access to your codecoverage by ecosystem, framing by ecosystem, coverage by flavor, framing by flavor revisedThe HTTP resources the flavor is restricted to now have a page.
Agent access to your codecoverage by flavor, framing by flavor revisedThe UI5-door providers of this capability — @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5 and fiori-mcp@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5 — state freestyle and fiori-elements, never web-components. SAP's @ui5/webcomponents-mcp-server@ui5/webcomponents-mcp-serverFour tools that answer an agent's questions about UI5 Web Components from the framework's own documentation — component API, integration guides, and the docs themselves.sap official, ui5 does carry the web-components flavor but provides documentationDocumentationFinding the answer in what has already been written, and writing it where it has not — first-party documentation made searchable by something other than a person scrolling it, including by an agent, and a document of custom code produced from the code itself.SAP and community, unassessed, not this capability: its four tools serve the library's own API and guides and never open the project in front of the agent. No provider states web-components for agent-code-access, and the concern itself is not structurally absent from the flavor, so unmapped reads truer than not-applicable.
@ui5/mcp-serveradded to the atlasMCP server for UI5 development with ten tools
@sap-ux/fiori-mcp-serverprovides, ecosystem, links revisedlinks.repo is the whole of SAP/open-ux-tools, which carries much else besides this. Naming the package directory says which part of the monorepo the artifact is — and it is what lets a sweep tell this entry apart from the next package in the same repository.
@ui5/mcp-serverentry revisedEntered from the sap-ai-mcp-servers catalogue, which is credited as the source; the description is written from the project's own README and documentation rather than from the catalogue's line about it.
Agent access to your codeid, ecosystems revisedAn SAP-published MCP server entered from the sap-ai-mcp-servers catalogue answers this concern on the BTP door, and the door had no tile for it to sit under.
capforgeprovides revisedMCP is how this is delivered, not what it answers — artifact_type carries the transport. It helps an agent work on real code rather than exposing a running service to one, which is a different capability.
Boost your CAP Development with AI: Introducing the MCP Server for CAPpublishedThe announcement of the development-tool half of the two things called MCP here: a server that gives an agent context about the project in front of it and relevant CAP examples, so Claude Code or Copilot steers better. Names the agents it was tried with, which is more than most announcements do.
Building a CAP service with cds‑mcp and Cline — HANDS‑ON SUPER BASIC GUIDE [ with screenshots ] 🍌publishedSomebody following the CAP MCP server announcement all the way through, and writing down what it cost: a CAP service in VS Code wired to S/4HANA through a destination, plus the real bumps — Windows PATH and global installs — that the announcement does not have.
@sap-ux/fiori-mcp-serverartifact type, 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.
capforgeartifact type, 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.
Evaluating SAP’s new MCP servers: UI5, CAP, and Fiori tools in practicepublishedSomeone trying SAP's three new MCP servers rather than repeating the announcement. It sets the official positioning first — MCP as the bridge from coding assistants to SAP tooling across Cursor, Windsurf, Copilot, Cline and Claude Code, with best-practice scaffolds and BTP-aligned guardrails — and then reports what using them is actually like. The rare kind of post that tests a vendor claim.
SAP Fiori Tools Update – First Release of the SAP Fiori MCP Server for Agentic AIpublishedThe release announcement for the Fiori MCP server, placed as the step after the Project Accelerator: an assistant can create and edit Fiori applications directly rather than describing what a developer should do. The vendor's own framing, so read it beside the independent evaluation of the same servers rather than instead of it.
@sap-ux/fiori-mcp-serveradded to the atlasMCP server for creating and editing Fiori applications
capforgeadded to the atlasMCP server scaffolding CAP and CDS checked by cds compile
@ui5/mcp-serverreleased 0.2.0The supported Node.js range is ^20.17.0 or 22.9.0 and later. The release also added the
get_typescript_conversion_guidelines tool.Agent access to your systemsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Agent access to your systemscore coverage, coverage by ecosystem, description revisedMaintainer requested complementary boundaries so a CAP bridge can connect system access and application MCP exposure, while implementation restrictions remain explicit. Domains, providers and task classifications are unchanged.
Agent access to your systemsentry revisedSplit out of MCP servers at the maintainer's decision. That capability named a protocol and carried two concerns: exposing what you built to agents, which stays there under a name that says so, and giving agents a way into an SAP system you run, which is this one. Thirty providers moved with their own sentences; the Commerce and SuccessFactors slots moved with them. Named beside agent access to your code, its development-time sibling.
cap-mcp-bridgeprovides revisedThe concern it answers is reaching into an SAP system from outside, split out of MCP servers on this day; the sentence on the edge is unchanged.
Show 1 more
cap-mcp-bridgeadded to the atlasMCP server generating tools from a CAP or OData V4 service's metadata
Agent evalscore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): albertmink-agentic-abap-evals, an independent set of ABAP tasks and a grader for coding agents, was entered after the block was written; the count is dropped and the second kind named. State unchanged.
Agent evalscore coverage, coverage by flavor, facets, gap revisedThe note rested on "everyone" and "nobody", which nothing here sources. The replacement says what the material read on the three doors covers and what it leaves to the project, which is checkable.
Agent evalsecosystems revisedLLM-Benchmark-ABAP-Code-GenerationLLM-Benchmark-ABAP-Code-GenerationA benchmark that has a model write ABAP for 180 tasks ten times each, then feeds the SAP system's own syntax check, activation and ABAP Unit results back for up to five correction rounds.independent, abap, proposed in the same batch, measures generated ABAP across models by creating each class in an SAP system and reading its syntax check, activation and unit-test result. The concern is one an ABAP developer decides behind their own door, and the door had no tile for it to appear under.
Agent evalscore coverage revisedTwo independent artifacts provide this capability on CAP beside capire/skills: @saptarishi/cds-plugin-llm and DanKromp/skillOverflow, both entered on 2026-09-18, after the core-only reading.
Show 1 more
Agent evalsdescription, ecosystems, core coverage revisedThe validator now rejects an unmapped reading on a door with its own providers, and capire/skills (SAP-official) provides this capability.
Agent guidancecoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): docs/WRITING.md §3 rules out provider counts and absence claims in every capability field.
Beyond copilots: Agentic development with SAPUI5publishedDevtoberfest 2026 session UI-12, from the SAPUI5 team, on the year of work behind UI5/plugins-coding-agentsUI5/plugins-coding-agentsUI5's own plugins for coding agents, three of them: everyday development, modernising a legacy project, and converting one to TypeScript, each installed into Claude Code or GitHub Copilot.sap official, ui5: what a model produces for UI5 without help — outdated concepts, framework versions a decade old, generic JavaScript rules, code that does not run — and the two ways they chose to close that gap, an MCP server in September 2025 and skills packaged as plugins once agents began reading them. Three plugins are demonstrated live in Claude Code: the everyday one scaffolds an Oktoberfest tents application in about four minutes, the TypeScript conversion plugin rewrites an existing JavaScript project and reconfigures its build with the types and the transpile task, and the modernisation plugin takes a ten-year-old application through staged migrations, applying UI5 Linter's automatic fixes where they cannot break the app and the model where they can, then running the tests. @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5 is still the path for the parts that need a server, and the plugins are installed from the Claude Code and GitHub Copilot marketplaces rather than a UI5-hosted one.
Bring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentspublishedDevtoberfest 2026 session FA-11: a tour of the rebuilt developers.sap.com by the team that runs it, from the administration screens behind the home page to the agent interfaces in front of it. The site is a CAP application on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp and SAP BTP, open-sourced in full, and the half of the session that places it here is how its content reaches an agent: every tutorial is also served as markdown, a coding agent is detected and given that version instead of the HTML, a well-known agent card advertises what the site offers, and SAP Developers MCPSAP Developers MCPThe hosted MCP server of developers.sap.com, over which an agent searches SAP's tutorials, reads missions and queries the site's knowledge graph of tutorials and concepts.sap official, umbrella answers questions about tutorials, news and a reader's own completion history in Claude Code and Joule Desktop, over OAuth or a personal access token. Behind the answers sit two things working together: a knowledge graph in the HANA database over 1400 tutorials and 11,000 concepts, and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp for the Joule interactions and the embeddings, with the agent harness written for the site rather than taken off a shelf. Where neither MCP nor A2A is available, the same content is published as skills.
secondsky/sap-skillstype properties, flavors revisedRead today in the two plugins that answer the CAP and the UI5 door, which the ABAP pass had not opened. The sap-cap-capire skill's frontmatter states that it covers Node.js and Java runtimes, so CAP's two flavors rest on the maintainer's sentence where the entry previously answered in both by the serves-another-door fallback, which is the same reading off an absence. The sapui5 skill's frontmatter names freestyle apps and Fiori elements apps in one clause, so freestyle is stated, and fiori-elements moves onto that sentence from the README line about which request activates sap-fiori-tools, which said what triggers a plugin rather than what it covers. Nothing read names UI5 Web Components, so that flavor stays unstated. Stating freestyle changes an answer: the entry answered no there while it stated one UI5 flavor and now answers yes, which a reader comparing that flavor's options will see. The ABAP pair is unchanged.
Show 35 more
Werkbankprovides revisedWhat Werkbank adds for ABAP, CAP and UI5 is its catalog of development skills; the workspace itself is not specific to any of those stacks. Agent workspaces is narrowed back to BTP.
SAP Developers MCPadded to the atlasHosted MCP server of developers.sap.com tutorials and missions
SAP Developers MCPentry revisedNEIGHBOURS §5.1 named the hosted MCP as a companion to index as an artifact, and the graph had no entry for it. ecosystem: umbrella because its content covers SAP technologies across stacks (llms.txt names ABAP Cloud, CAP, Fiori, HANA Cloud and integration) and no single door holds it. No read_only: the anonymous mounts are read-only, but the signed-in tier writes progress (complete_step). No tool_count: the quickstart and the API page list different tools per mount. The site also serves a GraphQL API, not recorded as an interface here for want of a page read. /mcp/homepage is left out of the description: the quickstart lists it as anonymous and the API page as signed-in.
⚡Unlocking the Power of LLMs in CAP: Understanding llms.txt and llms-full.txtexplains 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).
Github Copilot VSCode - My Own SAP Development Rulesexplains 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).
Teaching AI Agents Best Practices: A Skills Workspace for CAP Developmentexplains 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).
Werkbankadded to the atlasLocal desktop workspace for AI conversations with SAP connectors
Agent guidancecoverage by ecosystem, framing by ecosystem, facets, coverage by flavor, framing by flavor revisedskillOverflowDanKromp/skillOverflowA collection of 41 agent skills, 37 for CAP, Fiori, BTP, UI5, ABAP, Integration Suite and HANA work and four for creating, reviewing and retiring skills, each with its own eval.independent, cap entered on 2026-09-18, after this flavor was assessed, serves the UI5 door and states no flavor, so by the flavor rule it answers in all of them. Its own skill list names SAPUI5 data binding, custom controls, i18n and testing and nothing about the component library, so it is reported as a fallback rather than read as a community presence here. Saying so is what keeps core-only honest beside the options the page lists.
capire/skillsflavors, provides revisedThe edge carried one source and no quote. Re-read both eval files on 2026-10-15: the fixture path, the expected-output field, the named assertions and the stack marker are now quoted, and the capability's two comparison properties are answered from the same sentences.
DanKromp/skillOverflowprovides revisedThe entry's own prose said the collection covers UI5 and Fiori work and the edge cited only the total count. The UI5 pass needed to know what that coverage is, because this entry states no flavor and so answers in all of a door's flavors; the two rows name the skills the fallback rests on, which is what the capability's freestyle and web-components readings now cite.
SAP Power for Kiroprovides, description revisedThe entry said it is packaged as a Kiro power and not how it gets there or which Kiro it needs; the README read on 2026-10-15 states both.
secondsky/sap-skillslinks, flavors, requires, provides, description revisedThe same correction as description.what_it_solves, on the edge that carries this artifact's answer to the capability, so the two do not state the repository's evidence model differently. The rewording also removes the two em dashes the prose scan reported in this field.
Werkbankecosystem revisedThe project homepage describes "A small, curated shelf of MCP servers and SAP development skills." Its own catalog spans ABAP (ARC-1 and ABAP Cloud), CAP (CAP Upgrade), and UI5 skills; the workspace is not specific to one stack. This intake follows the maintainer’s explicit request after the September source sweep passed it over for lacking a workspace capability; that concern now exists as Agent workspaces. The served views describe which users the project-owned install catalog addresses. Werkbank provides the workspace; each selected connector or skill supplies the stack-specific behavior. No SAP implementation capability is attributed to Werkbank itself.
cap-mtx-scaffoldadded to the atlasAgent skill for CAP multitenancy scaffolding
sap-cx-developer-companionadded to the atlasAgent skill for SAP Customer Experience APIs, CDS and errors
Agent guidanceecosystems revisedSAP Commerce opened as a product door (docs/concepts/product-doors.md, ADR-0033) and sap-commerce-skillsap-commerce-skillAn agent skill for SAP Commerce Cloud 2211-jdk21.1 and later: 21 reference guides, 58 code templates and three shell scripts, installed through the skills CLI.independent, commerce entered behind it with no tile to sit under. Packaged knowledge for the Commerce type system, service layer, ImpEx and OCC API is the same concern the node already holds on four doors, so the key was added rather than the capability forked.
cap-mtx-scaffoldentry revisedA new repository in the SAP AI Skills Library registry snapshot of 2026-10-09, registering one skill at skills/cap-mtx-scaffold. Written from the repository's own README; hard rule 7: skills are indexed, never authored here. No flavor is stated: the repository badge reads SAP CAP Node.js and the toolkits it names are Node ones, but no sentence states a flavor, so the entry says nothing rather than inferring node.
sap-cx-developer-companionentry revisedA new repository in the SAP AI Skills Library registry snapshot of 2026-10-09, registering one skill at skills/sap-cx-developer-companion. Written from the repository's own README and SKILL.md; hard rule 7: skills are indexed, never authored here. Placed behind the SAP Commerce door because the CX API explorer and the error resolver are written against Commerce Cloud OCC and Sales and Service Cloud, with CAP and BTP as served doors for the CDS half.
DanKromp/skillOverflowadded to the atlasCollection of 41 agent skills, 37 for SAP development tasks
DanKromp/skillOverflowentry revisedDiscovered through the SAP AI Skills Library and represented once at repository level. The registry listed 37 contained skills when checked; the canonical repository contained and documented 41, so the repository count is used for the artifact while both snapshots remain in the crawl record.
Agent guidancecoverage by flavor, framing by flavor revisedThe door-level framing already says the Web Components skills ship inside the library and version with it; a flavor paragraph names the two skills the flavor's provider actually carries rather than repeating the door's sentence.
SAP Power for Kiroadded to the atlasSAP skills for the Kiro IDE
secondsky/sap-skillsadded to the atlasForty SAP development plugins for coding agents
Agent guidanceecosystems revisedArtifacts that answer this concern sat behind the ABAP door with no tile to appear under, so browse counted them and rendered nothing. The concern is one a ABAP developer actually decides there, which is the test for opening a door rather than trimming a serves claim.
SAP Power for Kiroentry revisedTriaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README; the catalogue is credited as where it was found and its words are not reused. Hard rule 7: skills are indexed, never authored here.
secondsky/sap-skillsentry revisedTriaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README; the catalogue is credited as where it was found and its words are not reused. Hard rule 7: skills are indexed, never authored here.
Agent guidancedescription, ecosystems revisedThe cross-ecosystem sentence said "writes correct CAP", which was true when CAP was the only door. The CAP-specific wording moved into framing_by_ecosystem.cap where it belongs, and the node's own description now describes the concern rather than one ecosystem's version of it.
⚡Unlocking the Power of LLMs in CAP: Understanding llms.txt and llms-full.txtpublishedllms.txt and llms-full.txt for CAP — a plain-text map of the documentation, written for an agent that arrived by fetching a URL rather than one somebody configured. The convention the atlas uses for itself, applied to capire.
@patimweb/pi-cap-bestpracticesadded to the atlasSAP's capire/skills packaged for the pi coding agent
capire/skillsadded to the atlasAgent skills for CAP development, each a SKILL.md with references
Github Copilot VSCode - My Own SAP Development RulespublishedOne developer's rule files for Copilot, split by concern rather than kept as one prompt: CAP backend rules, UI5 frontend rules, Jest testing rules and Bruno collection rules, each with a scope narrow enough that an agent cannot read it two ways. The CAP file covers reusable types, managed data, soft-delete behaviour and service conventions; the UI5 file covers naming, view constraints and where annotations may live. It is the rule-file half of agent guidance rather than the skill half — nothing is packaged or published, and the value on offer is the shape of the split.
Teaching AI Agents Best Practices: A Skills Workspace for CAP DevelopmentpublishedStates the gap this capability exists for more precisely than most: an agent already knows CAP well enough to generate models, handlers and deployments, but knowing a framework and following its current practice reliably are different things, because a model defaults to whatever it saw most of during training — which may be outdated, subtly wrong, or simply not how a given team works. Skills are offered as the closing mechanism, and the post describes a workspace pattern rather than a single file, with the architecture claimed to be framework-agnostic.
Agent guidancecore coverage, gap revisedThe gap's premise was that no SAP-published skill existed. One does now, so the gap is no longer about absence — it is about how much of the corpus four skills reach.
CAP Guardianverdict revisedVerdict rings retired. What the ring compressed now lives in readings derived from facts (liveness, compatibility, reach) and in the description fields, so a thing can be dead as a dependency and still worth reading. VISION §9.
CAP Guardianadded to the atlasCAP review skill for coding agents with gates and prohibitions
Joule Studioがリリースされたので早速CAPアプリを自然言語で操作するカスタムスキルを構築してみたpublishedA walkthrough of building a custom Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella skill on a CAP bookshop app:
cds add sample and cds add mta scaffold the project and its deployment descriptor, cds compile srv/ --to xsuaa generates the role template behind the @requires: 'admin' check on AdminService from the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp (XSUAA), and mbt build packages the app for deployment to the SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp. The skill reaches the deployed ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design API through the SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp, configured with the OAuth2 Client Credentials grant using the client ID, secret and token endpoint from the app's XSUAA service key, so Joule answers a natural-language question about a book by its ID.Agent toolingcore coverage, coverage by flavor, coverage by ecosystem revisedReassessed against the graph (check:capabilities): sap-joule-studio and sap-joule, both sap-official, now provide this capability behind the BTP door, so the note's claim about every entry no longer held. The state stays core-only: no provider of another origin counts for the door.
@mi8y/cap-agents-sdm-backendadded to the atlasDeep Agents filesystem over an SAP Document Management repository
Achieve Agentic Enterprise Automation with SAP Integration Suite and Joule StudiopublishedA Devtoberfest 2026 integration-track session (INT-22), the second of that week's integration sessions, given by an SAP product expert for process automation and integration together with the product manager for Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella, who walks the audience through it. The opening states the subject: process management, automation and orchestration unified into one combined approach, which the presenters put forward as the foundation for building custom AI agents.
Show 90 more
Be the First to Understand Joule Work's Agentic ThinkingpublishedA Devtoberfest 2026 session on the agent harness behind agentic thinking in Joule WorkJoule WorkSAP’s workspace where people express a goal, work with the results in contextual Spaces and direct Joule Assistants and Joule Agents across SAP and third-party systems.sap official, umbrella: generic operating-system tools in a gVisor-isolated sandbox instead of hand-wired domain functions, a react loop, a warm pool of sandboxes torn down after each task, tenant-separated skill loading, and placeholder tokens the agent never sees swapped for real credentials at the egress path. A skill is a folder with a SKILL.md carrying metadata and instructions, and where it reaches a system, an SAP connectivity JSON that declares each connector by ORD ID with its guardrails — GET allowed by default, POST, PUT, PATCH and DELETE requiring human approval, everything else blocked. The demo uploads a cost-centre skill through the skills view, then has agentic thinking delegate over A2A through Agent Gateway to a custom agent built in Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella, whose MCP tools read cost centres from an S/4HANA Cloud system, and ends by turning the result into a PDF; the Joule Studio trace is what shows the tool call actually happened.
Building Agentic Workflows with n8n in Joule StudiopublishedA Devtoberfest 2026 session, JS-31, on SAP-managed n8n inside Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella, shown as a labs preview on a blocked-invoice scenario: a solution made of assets, an intent refined by the web agent into requirements and then a specification, and the generated workflow opened in the n8n editor that Joule Studio connects to its own n8n tenant, with the generated files committed through GitHub. The nodes carry the other edges — the human-in-the-loop node is built on SAP Task CenterSAP Task CenterOne inbox across SAP applications: tasks from S/4HANA, SuccessFactors, Ariba and BTP workflows in one list, with a public API for a custom task provider.sap official, btp, and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp is where model providers are configured centrally instead of per developer. It ends in Joule chat, where the approval task the workflow created is listed, opened and completed.
Building Code-Based AI Agents on the BAIPpublishedA Devtoberfest 2026 session on writing the agent yourself rather than configuring one, which is the agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed edge: an agent is a model with tools, skills, memory and context around it, and the session reads the code of one built in CAP as a LangGraph state graph, with an agent node that calls the model, a tools node holding the MCP clients, and the edge between them looping until no tool is needed. It then shows the shorter route, a CDS service annotated for the agent protocol with its instructions and skills in an agent.md file. SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp carries both, with the CAP service in front of it as middleware so the credentials never reach the browser, and that is what cap-agent-ui5-webuicap-agent-ui5-webuiGives a CAP agent a UI5 web interface out of the box, so an agent built in the service has somewhere to be talked to without a separate frontend project.independent, cap is demonstrated against: added as a dependency, it gives the annotated service a UI5 chat interface that can be deployed rather than only previewed. A Python multi-agent application on Cloud Foundry, where an orchestrator delegates to per-stack specialists so no single model sees every tool, closes the session.
From Intent to Arcade: Building Joule*Bert with Joule Studio and AI-Assisted Pro CodepublishedA Devtoberfest 2026 AI-track session that takes a Q*bert-style arcade game, written as an Easter egg for colleagues, through every phase Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella runs: intent analysis with its clarifying questions, a product requirements document, a specification with its task list, generated code, generated tests and deployment. The knowledge-graph lookup reports that the game maps to no enterprise process and the flow adjusts, and the presenter edits the requirements by hand when the first version declares sound out of scope. He then pushes the project to GitHub, clones it and initialises the jl command line@sap/joule-work-dev-cli-early-adoptersjl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btp so that Joule Studio's MCP servers are wired into the coding agent in VS Code, where mobile arrow keys were added afterwards; applications could not yet be deployed to the Joule Studio runtime, so this one runs on Kyma.
Meet Joule Studio and Build your First AI AgentpublishedA Devtoberfest 2026 session from the product manager of Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella, walking one agent through the whole path the tool defines: an intent, the problem statement and goals a coding agent derives from it, the business context it takes from the SAP knowledge graph, and the solution type it proposes with a stated intent fit. The demo is a collections agent that drafts dunning emails: the product requirements document names the metrics and the human-in-the-loop review, the technical specification lists the artifacts to build — the MCP tools among them — and the build is followed by a business test run against business partner 10001, technical unit tests, and deployment to the managed runtime, where the agent and its MCP server appear as deployed assets. Two points shape how it is used rather than what it produces: every asset is a file, editable in the web editor or in the code view and pushable to git, and the same solution can be built from local pro-code tools; n8n workflows are stated as delivered out of the box inside the studio.
Real Pro-Code Development with Joule StudiopublishedA Devtoberfest 2026 AI-track session that runs one agent build across both of Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella's paths. Playing a procurement manager, one presenter states the intent in the browser, answers the clarifying questions, watches the fit-gap analysis name the S/4HANA APIs the use case needs, and pushes the intent and requirements document to GitHub; the other clones it and carries on in a terminal, logging in with the jl command line@sap/joule-work-dev-cli-early-adoptersjl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btp against her landscape URL and running its init command to fetch Joule Studio's skills for OpenCode. From there the coding agent writes the specification, the discovered API specifications, the MCP translation and the agent's Python file with its model configuration and evaluation scenarios, which is the edge to Agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed; the skills themselves, which SAP says not to edit but which a developer may add to, are the edge to Agent guidanceAgent guidancePackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from agent access to your code, where the agent reads the real project instead of being handed a file about it.SAP and community, core adopted it.
SAP BDC and AI: A Perfect MatchpublishedA Devtoberfest 2026 data-track session (DAT-22) in which Business Data Cloud's CTO sets out how SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp feeds SAP's business AI platform: data products whose primary persistence is an object store and whose semantics are kept with them, the one domain model that links a supplier in Ariba to a supplier in S/4HANA, and the SAP knowledge graph, a triple store running in SAP HANA Cloud and queried with SPARQL, that SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp consults before answering. The live demo asks Joule for the available data products and the top ten open purchase orders, with the data product query agent compiling SQL over virtual tables and a space rendering a dashboard, which is the cataloguing side of this: a central registry, the Unified Customer Landscape, that every activated data product is registered in. The Q&A covers where the knowledge graph lives and what a customer may extend, base policies that turn into filter conditions on an agent's queries, and Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella as the place to build your own agents and data products.
CAP in the age of AI #4 - more on agentspublishedAsking a human first, and telling the agent how to behave. Ordering a book through @cap-js/agents@cap-js/agentsSAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author.sap official, cap happens without a question being asked; the human-in-the-loop annotation on the action turns the same request into an approve-or-reject step, which the episode follows down to the A2A status update that stores the task in an input-required state in the database — A2A itself being JSON-RPC 2.0 over HTTP with server-sent events for the stream. The rest is instructions on disk: an
agents.md in the service's own folder removes the question about how many copies to order, a skill under a skills folder is advertised by its description and read only when the agent decides the case applies, and either file makes the plugin build a deep agent instead of the plain one.CAP in the age of AI #5 - agents wrap-uppublishedThe agents topic closed out on what sits around the agent rather than inside it, now that the documentation has moved into capire. The chat preview's session is persisted in the database rather than kept in memory, traces go out through @cap-js/telemetry@cap-js/telemetryAutomatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint.sap official, cap to a self-hosted MLflow under the OpenTelemetry conventions for generative AI, and the panel is explicit that
@agent reuses the MCP adapter's code programmatically without serving an MCP endpoint. It ends in the xtravelsxtravelsA travel-booking application built on the master data that xflights publishes, composing another package's schema into its own rather than owning master data itself.sap official, cap sample, where a travel agent delegates to a hotel-service sub-agent and reaches a separately started flight service over MCP through the service binding CAP resolves anyway. Earlier in the hour the same agent answers from a model running on the presenter's laptop, reached as an OpenAI-compatible endpoint.How Redwood Software and SAP are shaping the next era of automation with Joule StudiopublishedRedwood's Field CTO describes a tech preview where an SAP Basis administrator tells SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp in natural language to pause background jobs and dependent Integration Suite iFlows for unplanned system maintenance; Joule acts as a control tower, triggering a pre-approved RunMyJobs workflow and asking for approval before the restart proceeds. The integration is built by publishing RunMyJobs operations to the SAP Business Accelerator Hub, securing access through SAP BTP with API keys and role-based permissions, and combining those actions into a skill inside Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella's low-code design canvas.
Adapting SAP Joule for Purchase Order Creation from an Existing Purchase Requisitionexplains 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).
AI-native North Star architecture — Platform Layerexplains 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).
Banking Sentinel: A Multi-Agent Credit-Risk Copilot on SAP BTP, Built on a Mixed AI Stackexplains 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).
Building an LLM Agent in CAP Java with Spring AIexplains 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).
Building an LLM Agent 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).
Building Durable AI Agents - Announcing the cds-langgraph-persistence Pluginexplains 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).
Connecting AI agents to the ABAP RESTful application programming modelexplains 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).
Event Driven SAP CAP on Kyma with Agentic AI and UI Auto Refreshexplains 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).
Generate agentic workflows using SAP-managed n8n in Joule Studioexplains 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).
Integrating and Extending Jouleexplains 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).
SAP Joule implementation in an S/4HANA private cloud 3 system landscapeexplains 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).
Joule Studioadded to the atlasSAP's managed environment for building custom agents and workflows
@cap-js/agentsdescription, provides, requires revisedHow the agent reaches a model was nowhere on the entry, while the Java module of the same plugin already carried the edge. capire's configuration table states that aicore is the default for the production and hybrid profiles and connects to SAP AI Core, with auto and mock as the development kinds, so the requirement is conditional and the condition names the alternatives.
@mi8y/cap-agents-memoryprovides revisedcapability:agent-tooling declared four comparison properties on 2026-10-15. Three are answered from the README's own opening and CAP notes, re-read the same day and unchanged, scoped to the node flavor: the package holds state between turns, it is written against LangGraph's Store API, and that state is rows in the CAP database under the request's tenant. The approval property is left out: the README says nothing about it.
@mi8y/cds-langgraph-persistenceprovides revisedThe entry stated the capability with nothing behind it while the README says exactly what the package holds. Read on 2026-10-15: checkpoints are short-term, thread-scoped state used to resume workflows, retain conversation history and support time travel, backed by CDS, requiring @sap/cds >= 10. capability:agent-tooling declared its comparison properties the same day, so the edge now answers three of them, scoped to the node flavor. The README's sentence about what to prefer for a new application has been reworded since 2026-09-21 — it now reads 'This package remains available for its existing CDS checkpointer implementation' — and the claim the page already carries is unchanged, so only the quote on the edge is new.
@sap/joule-studio-clidescription, provides, links revisedCurrent npm README for 2.0.4, published 2026-10-07, says "Installing
@sap/joule-studio-cli gives you two commands:" and lists joule and jl. SAP Help now installs this package for the new Studio workflow. The historical alpha package stays separately indexed; no unverified rename or lineage relationship is inferred.Agent toolingcore coverage, coverage by flavor, framing by flavor, facets, normative relevance revisedcapire's own guide opens with a caution naming section 2.2.2 of the SAP API Policy and stating that CAP-level agents are not an SAP-endorsed architecture or pathway for exposing, proxying or providing agentic access to SAP Application APIs. That is the core's statement about where this capability may be pointed, so it belongs beside the framing rather than only in the boundary sentence. Recorded as context to inspect, not as a coverage assessment.
cap-agent-ui5-webuidescription revisedThe README has grown well past what the page carried, and the entry stated the capability with no source at all. Read on 2026-10-15: it serves a freestyle SAPUI5 TypeScript chat client same-origin from the CDS server against the services carrying @agent, renders a picker for more than one agent where switching starts a new conversation, speaks nothing but A2A as @cap-js/agents serves it, pins that package to exactly 0.9.1 and says to expect breakage on upgrade, and ships a scripted LLM because the bundled mock can never call an action and leaves an @agent.hitl gate unreachable. The dependency on @cap-js/agents is what the plugin is written against, so it is a required edge rather than a sentence.
cds-agentsdescription, provides revisedcapability:agent-tooling declared four comparison properties on 2026-10-15. Both brings values rest on their own sentence — CAPToolkit is the raw-tool layer and the production default, CAPAgent a ready-made ReAct agent for demos and small apps — and the protocol is the one its own executor names as a client, not a protocol it serves. The state and approval properties are left out: the README says nothing about either.
com.sap.cds:cds-adapter-agentdescription, provides revisedcapability:agent-tooling declared four comparison properties on 2026-10-15. All four values are scoped to the java flavor, the only one this module states, and the last two are stated negatives rather than absences: capire states that conversation history sits in volatile memory and that @agent.hitl is not yet supported by CAP Java. The harness property is left out: neither page names an agent framework underneath the Java adapter.
Joule Studioecosystem, artifact type, links revisedThe browser builder and managed runtime do not establish a separately subscribed and bound BTP service. Keep CAP and BTP as served views: the product overview names CAP development, and the current SAP Help tutorial requires "An SAP S/4HANA system configured with an SAP BTP destination." The architecture chapter is titled "Building AI Agents with SAP Joule Studio on SAP BTP" while distinguishing the SAP-managed runtime from Bring Your Own Agent in a customer subaccount. The CLI link is backed by the current npm README, which now ships both joule and jl; its atlas record is revised in the same batch. The positive basis for web-tool is SAP’s description of a visual browser-based builder with no local setup. It identifies the hosted development interface, including provisioned access; it does not classify the runtime as an unbound or customer-hosted service.
Adapting SAP Joule for Purchase Order Creation from an Existing Purchase RequisitionpublishedA custom Joule Agent and Joule Skill, built in Joule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp to extend SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp past its built-in Purchase Order display and change features: a buyer's single sentence naming a Purchase Requisition number becomes a created Purchase Order, with the skill wrapping the Purchase Requisition and Purchase Order OData V4 APIs as Action Packages reached through two destinations. The author anchors the agent's success condition to a PurchaseOrderNumber in the skill's output rather than an HTTP status code, and reports that the Purchase Requisition item structure does not map one-to-one onto the Purchase Order creation payload.
Explaining SAP Joule for HR Business Users & Functional Consultants.publishedWritten for HR business users and functional consultants, this walks through how SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp is provisioned on SAP BTP and wired into SuccessFactors: the Joule instance sits in a BTP subaccount, SAP Build Work Zone is created alongside it, and Identity provisioningIdentity provisioningGetting users, groups and role assignments into every system that needs them, and out again when a person leaves, through provisioning jobs or SCIM APIs. Authentication answers who is calling one request; provisioning decides whether the user exists in that system at all.SAP only syncs users from SuccessFactors into Build Work Zone while Cloud Identity Services authenticates the launch through an IAS tenant. It lists five prerequisites for the connection — a BTP global account, a Joule entitlement, Cloud Identity Service and SuccessFactors admin access, and the right personas — and notes that running BTP's booster adds the Joule permission to the SuccessFactors user's profile.
Agent-led test management: Hands-on lab with Joule in SAP Cloud ALMpublishedThe Test Management Assistant, a Joule capability in SAP Cloud ALM, worked through on project scenarios: scoping requirements, detecting coverage gaps and generating test cases with AI. The edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, which the assistant runs on; SAP Cloud ALM has no entry here, and the atlas's testing concern, proving a service's model and handlers, is not this session's test management. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Christina Pickhardt, Daniel Lorenz, Niclas Weidner and Tobias Keller, written here from SAP's abstract; the recording is not yet published.
AI-accelerated RISE with SAP migration with the system transition workbenchpublishedSAP Joule for Consultants and the RISE with SAP system transition workbench in a move to SAP S/4HANA Cloud Private Edition: readiness assessments, migration workflows and the SAP tools involved. The edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, of which Joule for Consultants is a part; the system transition workbench has no entry here, and Platform migrationPlatform migrationMoving an application, integration or database from one platform to another: assessing what exists, converting what tooling supports, and adapting what cannot carry over. Language-level compatibility is a separate concern from moving the platform around an application.SAP and community, unassessed covers applications leaving older BTP platforms, not an ERP system's move. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Daniel Funkert, Kristin Aleksandrova, Mirja Kempin and Moritz Gysler, written here from SAP's abstract; the recording is not yet published.
AI-enhanced analytics with SAP Business AI PlatformpublishedSAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp data products joined to an ontology, a semantic layer the abstract says is supported by the Model Context Protocol, and read from Joule Work (SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp) and SAP Analytics CloudSAP Analytics CloudSAP's SaaS front end for analytics: business intelligence, planning and predictive in one product, and the place a Datasphere analytic model is meant to end up being read.sap official, btp: that is the architecture SAP's abstract states for its AI-enabled analytics. The abstract names the parts and not how the semantic layer is modelled or what an analytics developer builds against. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Hacen Benkhedah, Joaquin Recio HuertasJoaquin Recio Huertasgave 1 talk, contributed to 3 entries, Matilda Hyka and Oliver Huth, written here from SAP's abstract; the recording is not yet published.
Build your first agent with Joule Studio in a pro-code waypublishedThe command line interface of Joule Studio, which the atlas holds as @sap/joule-work-dev-cli-early-adopters@sap/joule-work-dev-cli-early-adoptersjl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btp, carries an agent from a structured intent through generated product requirements documentation and wired APIs to a deployment on Joule Studio's SAP-managed runtime, in one guided flow. SAP's abstract names the stages of that pipeline and promises working code at the end; what the generated requirements and APIs look like is not described. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Charan Ravikumar, Evgenii Skrebtcov, Maria Kondratyeva and Simon Endres, written here from SAP's abstract; the recording is not yet published.
Building custom Joule Agents with SAP Knowledge GraphpublishedCustom Joule Agents built in a hands-on with SAP Knowledge Graph and Joule Studio: discovering APIs from a user's intent, grounding an agent's answers in business context, and integrating data products for SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp. The agents are SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's; the Knowledge Graph is not an atlas entry, and the abstract does not say which Joule Studio edition the exercises use. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Jan Portisch, Lucas Kiesow, Pavithra G K and Rafael Martin, written here from SAP's abstract; no recording is announced.
Building enterprise agent extensions with the Joule Studio solutionpublishedExtending SAP's standard agents with third-party integrations and business actions in Joule Studio: agents that run a process across systems, call an external service, put an approval step in the middle and bring the result back into the business context, which is what SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's agents do and what Joule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp is in the atlas. The abstract names Joule Studio without saying which edition the exercise uses, and lists outcomes rather than the steps built. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Charan Ravikumar, Jacob Hornberger, Maria Kondratyeva and Michael Zadikowitsch, written here from SAP's abstract; the recording is not yet published.
Connecting AI agents to the ABAP RESTful application programming modelpublishedJoule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp connects Joule Agents to applications built with the ABAP RESTful application programming model through actions and skills, calling the OData services those applications expose their business objects through: the tools an agent may call, which is the agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed concern seen from the ABAP side. The abstract promises alternative integration patterns and does not name them. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Leon Karlau, written here from SAP's abstract; the recording is not yet published.
Discover fast-track implementation of SAP Cloud ERP with AIpublishedSAP's implementation practice for SAP S/4HANA Cloud Public EditionSAP S/4HANA Cloud Public EditionSAP's cloud ERP, run by SAP as software as a service. For the things here it is the business system a side-by-side application on BTP reads from and writes to over its published OData APIs. and the AI-driven tooling SAP says is changing stages of a project, with faster and more predictable deployments, less manual effort and lower risk as the stated outcomes. The abstract names the product, an external here, and no tool; the edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp because SAP's AI tooling for implementation in the sibling sessions TM109, TM263 and TM265 is Joule for Consultants, and whether this session shows it is not stated. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Anurag Barua and Khaled MUSILHY, written here from SAP's abstract; the recording is not yet published.
Discover how SAP Joule for Consultants transforms cloud implementationspublishedA customer's use of SAP Joule for Consultants in a cloud transformation: grounding project data, running fit-to-standard workshops faster and keeping teams aligned, followed by the technical architecture behind those capabilities and an early road map preview on feasibility for developers and enterprise architects. The edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, of which Joule for Consultants is the offering for consultants and has no entry of its own here; the abstract leaves the customer as a placeholder and the architecture to the session. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Philipp Kandziora and Yi Hsuan Lin, written here from SAP's abstract; the recording is not yet published.
Experience core foundational capabilities of SAP Cloud ERPpublishedGuided exercises in SAP S/4HANA Cloud Public EditionSAP S/4HANA Cloud Public EditionSAP's cloud ERP, run by SAP as software as a service. For the things here it is the business system a side-by-side application on BTP reads from and writes to over its published OData APIs., which SAP calls the execution backbone of the Autonomous Enterprise: validating AI capabilities against master data for industry and domain needs, generating AI-driven KPIs and reporting summaries. The product is an external here and the abstract names no AI feature by name; the edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, SAP's AI layer across its applications and the one entry the AI capabilities of SAP Cloud ERP attach to, which the abstract itself does not name. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Akshat Kharial, Ankush Thareja and Nises Soni, written here from SAP's abstract; the recording is not yet published.
From intent to extension: Joule and the future of solution extensibilitypublishedHow Joule turns natural-language intent into extensions across SAP Autonomous Suite: intent-based agent extensions, enriching the agents SAP delivers, packaging options for partners and what SAP calls a harmonised extensibility experience. The edges are to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, which does the translating, and to ExtensibilityExtensibilityLetting a customer change delivered behaviour without modifying it — key-user fields and logic, developer extensions, and the released extension points that make either safe across an upgrade.SAP and community, unassessed, the concern; the abstract names the directions and no feature that ships today. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Amitha Kamath, Oren Shatil and Richard Kuba, written here from SAP's abstract; the recording is not yet published.
Generate agentic workflows using SAP-managed n8n in Joule StudiopublishedSAP-managed n8n inside Joule Studio generates a workflow from a business intent a developer states, and the workflow is then tested and deployed, consuming line-of-business application APIs, events and agents in SAP Business AI Platform: process automationProcess automationModelling and running a business process: the process flow, the forms people fill in, decision tables, bots for repetitive steps, and dashboards over the instances that run. Starting a process from an application and reacting to it is workflow integration, and the screen a person approves a task on is task and approval UIs.SAP only with the workflow generated from intent, and agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed where the workflow calls agents. The generated workflow sends notifications to the Joule Work mobile app of SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, to Microsoft Teams or to Slack. SAP's abstract names the pieces and not how the generation or the n8n hosting works. A two-hour hands-on TechEd 2026 session (Tuesday 27 October, Berlin), presented by Rama Sulakshani Murari, Rumen Dimitrov, Seshadri Sreenivas Ramanarayanan and Venugopal Chembrakalathil, written here from SAP's abstract; the recording is not yet published.
Get to know our AI-enhanced mobile apps across the Autonomous EnterprisepublishedA demo of the Joule Work mobile app, part of SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, and selected SAP mobile apps, showing the mobile AI features meant for using SAP Autonomous Suite on the go, followed by the mobile AI patterns and how to build your own Mobile appsMobile appsBuilding a native iOS or Android app over business data: onboarding, offline sync against an OData service, device features, and the client that runs on the phone. Distinct from a web app opened in a phone's browser; operating a web app with a finger is touch operation.SAP and community, unassessed with SAP Business AI Platform. The abstract names the apps and the patterns and states no feature or tool, so what building your own involves is not said. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Sandeep Tetali and Thilo Berndt, written here from SAP's abstract; the recording is not yet published.
Inside Joule Studio runtime: Agent deployment and integrationspublishedJoule Studio runtime from the inside: the tools and services SAP manages to deploy, integrate, run, extend and operate agents at scale, and the integrations through the agent gateway and SAP S/4HANA Cloud Private Edition. The edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, whose agents the runtime runs; the atlas reaches that runtime through @sap/joule-work-dev-cli-early-adopters@sap/joule-work-dev-cli-early-adoptersjl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btp, which deploys a solution to it, and the abstract names neither the CLI nor a service by name. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Andre Lamego and Jens Huesken, written here from SAP's abstract; the recording is not yet published.
Joule and related AI offerings from SAP: One platform, many systemspublishedSAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp run across dozens of SAP systems: the SAP for Me portal, orchestration across systems, configuration and credential management, monitoring and tenant isolation are the topics SAP's abstract lists. It stays on the operating side and says nothing about building on Joule. A TechEd 2026 session (Wednesday 28 October, Berlin; also JW301V, virtual), presented by Lukas Lochner, Marvin Klaus and Mathias Rup, written here from SAP's abstract; the recording is not yet published.
Joule without walls: From personal skills to enterprise interoperabilitypublishedSAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp connects outward over two protocols, A2A and MCP, which SAP's abstract names as the foundation of its open ecosystem, with Joule Assistants as composable agents and extensibility built in. The session draws the line between a personal extension of Joule and one that needs enterprise governance; the abstract does not say where that line falls. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Mathis Boerner and Thomas Mueller, written here from SAP's abstract; the recording is not yet published.
SAP Joule for Consultants: Unified knowledge for requirements and designspublishedFit-to-standard analysis as a consultant on a cloud transformation project: connecting an organisation's data to SAP Joule for Consultants through SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, getting answers from SAP knowledge and that content, then building an expert, loading project files and running guided prompts. The edges are to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, of which Joule for Consultants is a part, and to SAP AI Core, named as the connection path; how the data is grounded is left to the session. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Anantharaman Ravi, Natalie Han, Sachin Kaura and Yi Hsuan Lin, written here from SAP's abstract; the recording is not yet published.
The road map for SAP Joule for Consultants—your go-to SAP consulting toolpublishedSAP's road map for SAP Joule for Consultants, which the abstract describes as becoming the tool for SAP software projects: landscape awareness and secure system connectivity, so that Joule understands an organisation's SAP environments and gives project teams more contextual guidance. The atlas holds no entry for Joule for Consultants, so the piece enters on SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, the product it is an edition of; the abstract states outcomes and no feature or date. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Natalie Han and Sachin Kaura, written here from SAP's abstract; the recording is not yet published.
Transform business data into AI-supported insightspublishedBusiness metrics turned into insights, narratives and recommendations by SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's agents, with People Intelligence, the SAP Snowflake solution extension for SAP Business Data Cloud and SAP Analytics CloudSAP Analytics CloudSAP's SaaS front end for analytics: business intelligence, planning and predictive in one product, and the place a Datasphere analytic model is meant to end up being read.sap official, btp connected in SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp. The abstract names what is connected and what comes out, and does not say what the exercise builds or where the Snowflake extension sits in it; People Intelligence and the extension are not atlas entries. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Babacar Toure, Maximilian Paul Gander, Neetha Pucknat and San Tran, written here from SAP's abstract; the recording is not yet published.
What’s next for agentic analytics and planning in SAP Business Data CloudpublishedWhat is next for agentic analytics and planning in SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp: SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's agents automating insight delivery, analysis, narrative generation and modelling tasks. A road map session; the abstract names the four kinds of task and no agent or date. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA806V, virtual), presented by Kristian Ruemmelin, written here from SAP's abstract; the recording is not yet published.
What’s next for the core platform capabilities of SAP Business AI PlatformpublishedA preview of the operations layer beneath SAP Business AI Platform: selected road map highlights across Joule Studio runtime, Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp and SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp, on how enterprise AI is governed and run. The edges are to the two named services and to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, whose agents the Joule Studio runtime runs; the abstract names the three areas and no highlight. A TechEd 2026 session (Tuesday 27 October, Berlin; also XP825V, virtual), presented by Andre Lamego and Jens Huesken, written here from SAP's abstract; the recording is not yet published.
Zero token architecture for Joule AgentspublishedA pattern for SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's agents in which an agent maps the solution path once, solves the problem, generates reusable code or configuration and validates it, and later requests reuse that output, so discovery is done by the model and execution is repeatable. The abstract states the pattern as an idea and names no Joule component and no case it was tried on. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by EDGAR ADRIAN MARTINEZ ARCE, written here from SAP's abstract; the recording is not yet published.
AI-native North Star architecture — Platform Layerparts revisedFilled from SAP's own pages at the maintainer's request (docs/concepts/product-doors.md was the occasion; the AI-native door reads these designs). Every part names what the graph holds; what it lacks is listed as candidates in the curation note.
Integrating and Extending Jouleparts revisedFilled from SAP's own readmes at the maintainer's request; the AI-native door reads these designs. Every part names what the graph holds; what it lacks is listed as candidates in the curation note.
Agent toolingcore coverage, facets revisedA role in a design is filled from evidence that an option speaks what the fixed part exposes, and that join runs over one protocol vocabulary (docs/concepts/design-roles-and-interfaces.md, P2). Declared here so options can state it; absent stays "does not say".
@mi8y/cap-agents-memorydescription revisedThe announcement post of 2026-09-22 states what the package is an add-on to, which the entry named only as a neighbour that had since gained a checkpointer: 'The package is designed as an add-on for @cap-js/agents and extends it with a persistence layer for application-defined memories that can be shared across agent conversations', and 'The CAP Agent runtime still provides the model, generated tools, system prompt, middleware, A2A endpoint, and checkpointing. The memory add-on contributes only the cross-session Store and the tools that use it.' The same post dates the older package's position, 'I explained ... And went on to introduce the @mi8y/cds-langgraph-persistence plugin for durable state management within CAP agents. But it's already obsolete by now, as CAP itself has a built-in Checkpointer mechanism.' The README's line on which CAP database adapters the CDS queries run against had been left out. Both post quotes and the adapter line are now on the provides edge. Re-read on 2026-09-23 and unchanged: the repository, the MIT licence, the '@sap/cds >= 10' and '@langchain/core >= 1' peer dependencies, the generated entities, the Store operations and the Vector(1536) field.
@mi8y/cap-agents-memoryadded to the atlasLangGraph Store keeping agent memory as CDS entities
@mi8y/cds-langgraph-persistencelinks, compat, description revisedThe maintainer marked the package deprecated for new applications, which the page said nowhere: the repository README reads '**Deprecated for new applications:** `@cap-js/agents` now includes checkpointer support. Prefer it for new CAP agent applications; this package remains available for existing implementations.' Reported as the maintainer's dated statement, not as a reading of ours, and the entry keeps its page, its edges and its readings.
Agent toolingcore coverage revisedThe boundary names agent memory across sessions among what capire lists as still to come, then named only the thread-scoped checkpointer as what an independent agent stores in CDS. @mi8y/cap-agents-memory@mi8y/cap-agents-memoryA LangGraph Store written against CDS: the facts and preferences an agent keeps between sessions are entities in the CAP database, read and written inside a request handler under its tenant.independent, cap, proposed in the same batch, implements LangGraph's Store across threads, so the sentence now says which of the two holds which state. Nothing was re-read on the core's side: the capire sources, the state, the relationship and assessed_at are unchanged.
Agent toolingcore coverage revisedcapire's CAP-level Agents guide and the CAP Java AI page now state what the core ships and what it plans, so the reading no longer has to say only that the ground is unassessed. The relationship stays unassessed: no retrieved document gives the history between the plugin and the independent entries.
com.sap.cds:cds-adapter-agentadded to the atlasA2A adapter turning a CAP Java service into an LLM-backed agent
com.sap.cds:cds-adapter-agentprovides revisedNew CAP Java protocol adapter discovered through capire and its Maven Central POM. Facts describe the pinned capire commit 8b8b5810 and the 5.1.1 release; not verified deployment compatibility.
SAP Joule implementation in an S/4HANA private cloud 3 system landscapepublishedWalks through enabling SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp across a three-system S/4HANA Private Cloud landscape (DEV, QAS, PRD) rather than the common single-system setup: separate BTP subaccounts for the non-production systems, a shared Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp tenant, and catalogs and roles transported from DEV through QAS to PRD. Covers single sign-on for Joule by setting Microsoft Entra ID as the corporate identity provider in SAP IAS, so authentication flows through Entra ID without the user existing in the IAS store, plus principal propagation through the Cloud ConnectorCloud ConnectorSAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow.sap official, btp into the production backend.
Integrating and Extending JoulepublishedSAP's reference architecture for SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp across SAP cloud applications: a request is checked against a Scenario Catalog of the applications' skills and a Knowledge Catalog answered by retrieval-augmented generation, combined with the user's roles and history, sent to an LLM available through the generative AI hub, and, where a Joule function is needed, turned into a call to the backend. Its identity page is the authenticationAuthenticationEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems.SAP and community, narrow by design path: each user sits in the Identity Directory of Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp with a Global User ID, Identity Provisioning synchronises role assignments into SAP Build Work Zone, whose navigation service decides which functions a user may call, and the Destination service exchanges the user's token to call a function in the user's name. Its extension page covers Joule StudioJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp in SAP Build, where Joule skills automate rule-based tasks over APIs and AI agents plan and reason with models and document grounding from SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, the ground agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed covers; a later Joule Studio page describes a managed Joule Studio Runtime on the SAP Business AI Platform, which has no entry here.
SAP Jouleadded to the atlasSAP's AI engagement layer across SAP applications
@sap/joule-studio-cliadded to the atlasCLI for Joule digital assistants and Joule Studio solutions
@sap/joule-work-dev-cli-early-adoptersadded to the atlasPro-code CLI for building and deploying Joule Studio solutions
AI-native North Star architecture — Platform LayerpublishedThe platform layer of SAP's North Star architecture, the chapter that says where agents run and what a developer builds them with. It names an AI Golden Path built on the SAP Cloud Application Programming Model, the ABAP Cloud development model with RAP and the SAP Fiori design system, and a managed agent runtime on SAP BTP that is designed to provide software development kits for building agents in any framework, an agent sandbox, container-hosted execution, a skills registry and continuous evaluations, which is the ground agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed covers. Agents are extended without changing their code through four patterns, the first of them tool extensibility through the Model Context Protocol, the concern MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design is named for; the process-layer chapter adds that a pro-code path with a standardised agent SDK and a prompt-driven path through the Joule Studio solution produce the same code artifact on the same runtime. It describes a design SAP intends rather than products that exist, and the SDK and the registry it names have no entry here yet.
Content-based Agents with SAP Joule Studio Agent BuilderpublishedJoule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp, the capability in SAP Build the page calls Joule Studio, is where an organisation creates and manages its own Joule skills and Joule agents; its Agent Builder is for a custom agent that handles a multi-step task by combining instructions, model-backed planning and reasoning, and a configured set of tools, Joule skills, document resources, MCP servers, or other agents run as subagents. The page states an agent executes inside the calling user's own security context through SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp, and can be tried against a test conversation before deployment. That is the tool-and-turn-taking ground agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed covers, here built through Joule Studio rather than in application code.
Custom Joule SkillspublishedA custom Joule skill is a workflow written to extend what Joule does out of the box for one specific business need, built and deployed through Joule StudioJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp in SAP Build; the page states this is the supported way to extend Joule's built-in capabilities. Through Joule Studio a skill reaches SAP and external APIs via the destinations already configured in the BTP subaccount and Build environment, with the workflow itself versioned, monitored and deployable from the same tool.
Joule Studio, classic editionadded to the atlasLow-code SAP Build capability for custom Joule skills and agents
Agent toolingecosystems revisedSAP-samples' btp-a2a-dispute-resolution, btp-agentic-ai-use-cases, btp-sourcing-decision-board, codejam-code-based-agents, smartrecruiters-ai-recruiting-custom-agent and the TechEd 2025 AI160, AI163 and AI165 workshops build agents on BTP with the generative AI hub, SAP Cloud SDK for AI, LangChain, LangGraph, CrewAI or Joule Studio's agent builder, none of them through CAP.
Banking Sentinel: A Multi-Agent Credit-Risk Copilot on SAP BTP, Built on a Mixed AI StackpublishedThe risk it is chasing is a graph problem stated in banking terms: a borrower who looks safe alone and is the linchpin of a group ten times the size. Multi-agent, mixed AI stack, on BTP and CAP.
Building an LLM Agent in CAP Java with Spring AIpublishedThe Java counterpart to the author's own Node.js post, and written as one: connecting to AI Core with the SAP AI SDK, then calling an agent and a tool through Spring AI. Opens with a section on libraries and workflows — which framework does what, and what is left to you — before any code.
Building an LLM Agent using CAPpublishedThe argument is that CAP is already most of what an agent framework wants — services, handlers, a typed model — so the agent is built inside it rather than beside it. AI Core through sap-ai-sdk, then Langchain for the agent and its tools. Long, with a TLDR at the top for people who want the shape without the walk.
Event Driven SAP CAP on Kyma with Agentic AI and UI Auto RefreshpublishedA prototype, described as one: a plain CAP application made to react to external events on Kyma, with an agent in the loop and the UI refreshing itself rather than being reloaded. Short — it reports what was built and why, not how to rebuild it.
@cap-js/agentsdescription 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.
cap-agent-ui5-webuidescription 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.
@mi8y/cds-langgraph-persistenceadded to the atlasLangGraph checkpointer backed by CDS for CAP agents
a2a-pluginadded to the atlasExposes an annotated CDS service as an Agent-to-Agent agent
Building Durable AI Agents - Announcing the cds-langgraph-persistence PluginpublishedThe announcement, and the argument behind it. Treating an agent as a software architecture rather than a model with tools makes a list of production requirements — identity, authn and authz, multitenancy, persistence, event-driven flows, scalability, observability, CI/CD — and the author's point is that CAP already answers most of them for BTP, which is what makes LangGraph inside CAP Node.js worth doing. The post then narrows to one of those requirements, durability, and the checkpointer that supplies it. Written from a year of building agents next to real business systems rather than as a framework tour.
cds-agentsadded to the atlasToolkit turning a CAP service into tools for agent frameworks
Agent toolingcore 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.
@cap-js/agentsadded to the atlasCDS plugin for building agents inside a CAP service
cap-agent-ui5-webuiadded to the atlasUI5 web interface for an agent built in a CAP service
Agent toolingthe core changed in @cap-js/agents 0.9.1Guidance that CAP has no SAP-official building block for an in-app agent and that LangChain or LangGraph wiring is the only route. Since August 2026 there is a sap-official plugin for it, though how it relates to those independent frameworks is not yet assessed here.
Joule Studio, classic editionreleased agent builder, generally available 2025-12-19Guidance that Joule Studio builds skills only, or that connecting a Joule agent to an MCP server needs the new Joule Studio.
Content FilteringpublishedContent filtering screens a large language model's input and output for low-quality, irrelevant or unsafe content: the four categories it names being hateful, violent, sexual and vulgar content, checking a request once on the way in and once on the way back. The page states smaller models can do this filtering efficiently, reading perplexity scores to flag anomalies, with the aim that SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp produces content meeting a stated safety standard, which is the ground content filteringContent filteringChecking what goes into a model and what comes out of it against content rules, and stopping or flagging a request that fails them. Distinct from data masking, which hides values: a filter refuses content.SAP only covers on the BTP door.
Data MaskingpublishedData masking replaces identifiable or confidential text in a prompt with placeholders such as <Person_0> or <Organization_1> before it reaches a large language model, using pattern matching and machine learning to find what to replace. The page states SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp supports it as a feature and sets out five steps for applying it, defining the masking scope, choosing a technique, preserving the prompt's intent, checking compliance and risk, then testing and monitoring the result. That is the shape data maskingData maskingReplacing the personal or confidential values in a prompt with placeholders before it leaves for a model, and putting them back in the answer. Anonymisation, where the values are gone for good, and pseudonymisation, where they return, are the two forms; which fields count as sensitive is the application's question, not the module's.SAP only takes on the BTP door.
Document extractioncoverage by ecosystem revisedReassessed against the graph (check:capabilities): removed the provider-count and absence claims (docs/WRITING.md §3); the states are unchanged.
Using BTP Document Extraction Service into actual App developmentpublishedWalks through calling SAP Document AI's REST API directly: getting a client-credentials bearer token from the service key's UAA, then POSTing to /document/jobs with a file and an options body naming the document type and the header fields and line items to extract (paymentTerms, documentDate, taxId, description for an invoice), and polling the returned job id until the status resolves. Covers the trial-account booster and its own UI for uploading a document and testing extraction before moving to Postman and a small Python script that lists jobs over the same bearer token.
Cloud Integration with Document AIpublishedWalks through connecting Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp to SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp: an iFlow posts a prescription PDF to Document AI's job API, polls the job endpoint until it completes, and a groovy script reads back the result, keeping only the fields above a stated 60% confidence threshold. The scenario is a hospital extracting a new patient's past illnesses, allergies and blood group from uploaded prescriptions, matched against a custom extraction schema.
Hands on SAP Document AI: Next-generation intelligent document processingexplains 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).
Show 16 more
How SAP Document AI brings agentic intelligence to business documentsexplains 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).
Integrate CAP application as outbound channel for SAP Document AIexplains 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).
Integrating SAP Document Information Extraction (Document AI) with SAP CAP – Step by Stepexplains 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).
SAP Document AIexplains 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).
Hands on SAP Document AI: Next-generation intelligent document processingpublishedSAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp configured and run by hand: schema design, splitting and classifying documents, enriching the extracted data and custom prompting are the exercises SAP's abstract names. Document extractionDocument extractionGetting structured data out of a document somebody sent you — an invoice, a purchase order, a scanned form — instead of having a person key it in. The mirror image of document output, and a different problem from reading a service: the input is a file, the shape is unknown until something reads it, and the answer arrives with a confidence rather than a guarantee.SAP only from the configuring side, with the schema the participant's own; which document types or models the exercises use is not stated. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Christoph Lenschow, Tobias Weller and Tomasz Janasz, written here from SAP's abstract; no recording is announced.
How SAP Document AI brings agentic intelligence to business documentspublishedSAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp as SAP's abstract now describes it: composable, agent-ready skills for schemaless extraction, classification and summarisation of business documents, so Joule Agents can read and act on unstructured content, plus new document foundation models and agentic validation in its workflow engine. That widens document extractionDocument extractionGetting structured data out of a document somebody sent you — an invoice, a purchase order, a scanned form — instead of having a person key it in. The mirror image of document output, and a different problem from reading a service: the input is a file, the shape is unknown until something reads it, and the answer arrives with a confidence rather than a guarantee.SAP only past the fixed-schema fields the atlas entry records; the abstract names the features and not their release state. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Dheeraj Diwan, Soeren Leibach and Tomasz Janasz, written here from SAP's abstract; the recording is not yet published.
What a Second Document AI Workshop Taught Me About GovernancepublishedFrom questions raised at a second SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp workshop: the retention period for extracted data is a setting in the service's administration rather than a fixed property, with the source file deleted after processing and the decommissioning period for the extracted data configured to the customer's own policy. It also draws a boundary readers kept merging: Document AI extracts across languages but does not translate, so turning a document into a reviewer's own language is a separate step, pointing on BTP at SAP Translation HubSAP Translation HubSAP's translation service for software texts and documents, drawing on repositories of verified and company translations and on machine translation by SAP's neural MT or large language models.sap official, btp.
SAP Document AIinterfaces revisedAn interface may be named and stays a field (docs/concepts/design-roles-and-interfaces.md §3.2, P7): the hub's catalogue states the two APIs' titles, versions and states, and SAP's Help pages name the channels and the workspace, so a design's arrow can say which surface it lands on and a reader has the page to open. The inbound channels read mail: SAP's Help page names mail as the only channel type, so the SharePoint folders the reference architecture mentions are its claim and not the maker's. No status is entered: the hub's state is a crawled claim reported beside the interface.
SAP Document AIparts, areas, edges, roles, edges[client to docai] revisedThe ingestion page links the upload operation of document_information_extraction_api_v2 as the API-based integration, and the service now names that surface (docs/concepts/design-roles-and-interfaces.md §3.2, P7), so the arrow says which API it lands on and wears its protocol.
Use Free Tier to Create a Service Instance for SAP Document AIpublishedFour steps in the SAP BTP cockpit that end with a service key for SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp: open the cockpit, check the subaccount's entitlements and add the service on the free tier plan if it is not listed, create the instance, then create the key. It names the plans to use in production instead, blocks_of_100, embedded_edition and premium_edition, and stops at the credentials, before any document is uploaded.
Use Free Tier to Subscribe to SAP Document AI Basic UIpublishedEight steps from an entitled subaccount to the SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp basic UI open in a browser, and most of them are identity work rather than document work: getting a tenant for Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp, which the basic UI requires, activating the account and establishing trust with the subaccount, then subscribing, creating a user and assigning the Document_Information_Extraction_UI_Templates_Admin role collection. Using the UI to read a document is the subject of Use Machine Learning to Extract Information from Documents with the SAP Document AI Basic UI, which this tutorial names as what to read next.
SAP Document AIpublishedSAP's reference architecture for SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp, first as SAP composes the service on BTP for document extractionDocument extractionGetting structured data out of a document somebody sent you — an invoice, a purchase order, a scanned form — instead of having a person key it in. The mirror image of document output, and a different problem from reading a service: the input is a file, the shape is unknown until something reads it, and the answer arrives with a confidence rather than a guarantee.SAP only: OCR, pretrained models, customer-defined schemas and LLM calls through SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp and its Prompt Registry in one pipeline, with tenant-isolated persistence in SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. and an object store. Its scenario pages then lay out a solution in three layers: intake through Outlook and SharePoint inbound channels, the workspace UI, the Joule Work mobile app or the upload API; classification and extraction with a confidence score per field, automatic confirmation above a threshold and review of the rest in the workspace; and posting through outbound channels, directly to a REST API, through an SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp flow, or through a CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap service that maps the fields and calls SAP S/4HANA over OData. Enrichment beyond the service's own master data lookup is left to a CAP application or an Integration Suite flow triggered from an outbound channel, and direct API posting leaves error handling, retries and monitoring to the application.
Document extractionecosystems, coverage by ecosystem, coverage by flavor revisedGrep of data/artifacts for capability:document-extraction finds only SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp, ecosystem btp, serving cap and carrying no flavors — no UI5 provider, own or serving, states web-components, so core-only and not-applicable are both closed. Checked ui5.github.io/webcomponents: the ui5-file-uploader control opens a file picker and exposes selected files through a read-only property, moving a file the same way SAPUI5's UploadCollection does without reading it, so the flavor's own position is the same unmapped reading as the door's rather than not-applicable.
SAP Document AIadded to the atlasExtracts header fields and line items from business documents
Integrate CAP application as outbound channel for SAP Document AIpublishedDocument AI will call you back when extraction finishes, and the callback is where this goes wrong: the CAP application has to accept an unauthenticated POST from outside without dropping CSRF protection for everything else. The answer is a middleware hooked into the CAP bootstrap, and the post spends its length on the token lifecycle rather than on the extraction.
Integrating SAP Document Information Extraction (Document AI) with SAP CAP – Step by SteppublishedThe forward direction, in full: a PDF or scan arriving at a CAP service, sent to Document Information Extraction, and the fields coming back into the model. Long, and step-by-step in the literal sense — the service binding and the request shapes are all written out.
SAP’s compositional design system: Craft enterprise UIs with AI on the flyexplains 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).
SAP’s compositional design system: Craft enterprise UIs with AI on the flypublishedSAP's compositional design system is the engine behind the generated interface in Joule Work, the front of SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp: SAP's abstract says AI assembles the UI at runtime from primitives and composites under a body of design knowledge, inside a brand-safe design system, and that the session covers the architecture that keeps the result consistent. A third shape of Generative UIGenerative UIPutting an interface inside an agent conversation: a tool result or an agent's reply shown as controls a person can work in, where text would have been. Two things go by the name. A prebuilt web UI that an MCP tool points to and the host renders in a sandboxed iframe, which the MCP Apps extension specifies, is selected by the model and not generated by it; a user interface rendered from a stream of JSON objects the agent sends, which the A2UI specification describes, is. Generating an application's source at design time is generators.Unmapped beside the two the capability describes, since here the model composes the interface at runtime. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Philip Miseldine and Sophia Levens, written here from SAP's abstract; the recording is not yet published.
LLM integrationcoverage by ecosystem, core coverage, coverage by flavor revisedReassessed against the graph (check:capabilities): the note claimed who provides the capability behind this flavor, which moves with the corpus. The flavor state is unchanged.
What an AI infra engineer sees when opening SAP's AI stack (1/3): the model gatewaypublishedA first look at SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp's Generative AI Hub from someone who builds gateways outside SAP for a living: the orchestration service harmonizes provider calls onto one API (a model name string switches providers, and SAP Note 3437766 carries the current model list, token rates and deprecation dates), runs a fixed, non-reorderable module pipeline — templating, masking through SAP Data Privacy Integration, grounding, content filtering, then the model call — and retries down an ordered fallback list whose entries can each carry their own model and rules. It places @sap-ai-sdk/orchestration@sap-ai-sdk/orchestrationThe Orchestration Service client of SAP's AI SDK, which applies templating, grounding, filtering and masking around a model call rather than in the application.sap official, cap among the official JavaScript, Java and Python SDKs, and notes SAP's own LiteLLM provider as a way to put a different gateway in front of it.
🟣 Bring AI into Your ABAP Applications with ISLM: Build, Integrate, and Consume AI NativelypublishedDevtoberfest 2026 session AI-11, from the product manager and product owner of Intelligent Scenario Lifecycle Management: ISLM as the place an AI use case is registered, deployed and operated inside an SAP S/4HANA system, and what has been added to it for generative AI. The demo builds a custom scenario end to end — an intelligent scenario of type generative AI, a connection to SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, a GPT-5 mini model, an orchestration flow template that configures data masking, input and output filtering and translation into the user's logged-in language, then prompts with a grounding query over five companies' return-policy documents — and consumes it from an ABAP report through the ABAP AI SDKABAP AI SDKSAP's reuse library for calling a large language model from ABAP code, powered by Intelligent Scenario Lifecycle Management and reaching the models in the Generative AI Hub; delivered with SAP BTP ABAP environment, SAP S/4HANA Cloud Public and Private Edition and SAP S/4HANA.sap official, abap, which calls the orchestration API and returns the summary as JSON. Two newer pieces follow: SAP RPT, the relational pre-trained transformer for tabular prediction, called with context rows and query rows and answering with a confidence value and no training step; and system-triggered agents, where an application job in the ABAP system starts a billing-creation agent that reaches S/4HANA OData APIs as tools through the agent gateway with principal propagation. The closing availability matrix states the generative AI capabilities for on-premise and private cloud from the 2021 release, with SAP notes to implement on lower ones.
🟣 Enable Your AI application to Run on Multiple Models to Ensure Resilience and CompliancepublishedDevtoberfest 2026 session AI-21. A cross product owner on the SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp team gives the reasons an AI application ends up on more than one model — a model down at the hyperscaler, a data centre that is not allowed to run it, a version being deprecated — and runs a joke app that answers from Gemini 2.5 Flash in EU10 and from Claude 4.5 Haiku in Asia-Pacific. The walk through AI Core's parts is where the edges hold: prompts kept as templates in the prompt registry, imported through the launchpad and the APIs or synced as YAML from a git repository (Prompt managementPrompt managementKeeping the prompts an application sends to a model as templates with placeholders, stored and versioned apart from the code that calls them, so a change of wording is not a deployment. What people conflate under it: the template filled at runtime, the registry it lives in, and the orchestration step that fills it.SAP only); the evaluation service scoring one prompt across up to four models per run on built-in or model-as-judge metrics, and the prompt optimizer generating variants against one metric (Agent evalsAgent evalsKnowing whether an AI feature still behaves after a model, prompt or schema change. Regression testing for non-deterministic output, against fixtures that reflect real business data.SAP and community, unassessed); and the orchestration service harmonising the providers behind one message format with a priority-sorted fallback list (LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design). The session also states where a metric has to be designed rather than picked: an exact-JSON match scores an email generator at zero, so the joke app's custom metric judges topic and family-appropriateness instead.
Show 96 more
How to implement business AI capabilities in ABAP CloudpublishedA Devtoberfest 2026 session (ABA-32) on embedding AI in an ABAP Cloud application and on making SAP Joule aware of what that application can do. The first demo implements two features of a RAP travel app with the ABAP AI SDKABAP AI SDKSAP's reuse library for calling a large language model from ABAP code, powered by Intelligent Scenario Lifecycle Management and reaching the models in the Generative AI Hub; delivered with SAP BTP ABAP environment, SAP S/4HANA Cloud Public and Private Edition and SAP S/4HANA.sap official, abap: a determination on an uploaded receipt that sends the image together with the allowed categories and transaction types to a model reached through an intelligent scenario, then writes the extracted description, category, currency and amount back to the expense entity; and a recommendation function, triggered by a side effect on the trip title, that proposes a trip type with a score the Fiori UI sorts the proposals by and leaves the business user to accept — which is LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design from ABAP code. The second demo builds a capability for SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp in the Joule Studio code editor in VS Code, with a scenario that extracts a trip title from the user's intent and calls an OData service in the ABAP backend through a BTP destination, deploys it and asks the Joule test UI for the trip's details; the session states that agents reach ABAP only over governed remote APIs — OData, SQL and MCP — and that automatic grounding of custom OData services in the knowledge graph is upcoming rather than available.
Unlocking Tabular Foundation Models: From Experimentation to ProductionpublishedA Devtoberfest 2026 session (AI-41) on taking tabular prediction from a playground to a deployment. It sets tabular foundation models against a model trained per use case and against language models reading rows as text, explains in-context learning as examples plus the rows whose target column is missing, and tries SAP RPT 1.6 on a train-delay dataset in the RPT playground, including the column and row importance it returns with the prediction. The same prediction is then rebuilt on SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, where the tabular orchestration service plays the part the orchestration service plays for language models: a data destination, a table artifact with its CSN schema and a scenario configuration registered once at design time, after which a predict call passes only the query rows, the scenario configuration and a context-selection strategy. The last demo runs those same calls in natural language through the aicore-skillsaicore-skillsFour agent skills for SAP AI Core, published as a plugin inside SAP's AI Skills Library: admin resources, the deployment lifecycle, the foundation models in the Generative AI Hub, and the Context Registry behind tabular prediction.sap official, btp plugin in a coding agent, and one of them only resolves once the agent is told which scenario configuration to use.
CAP in the age of AI #6 - vector embeddingspublishedVector embeddings put to work in the incident managementcapire/incidents-appThe Incident Management reference application — the one SAP's own tutorial paths build, step by step, and the model cds add incidents-sample drops into a project.sap official, cap sample, answering whether this problem has been seen before. An
embedding element of type Vector is calculated and stored from the vector_embedding function, so the database refreshes it whenever the text behind it changes, and cosine_similarity compares it with a freshly embedded string; because a title says little, a scheduled action first summarises each incident's conversation through a model on SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp and the embedding is taken from that summary. The similar-incidents list is a view joining incidents to themselves, with order and limit set in a before handler on the expanded query, and the vector element excluded from the service, since OData knows nothing about vectors — on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp the function is native, while SQLite needs packages added to the project.CAP in the age of AI #7 - vector embeddings wrap-uppublishedThe same embeddings model taken from SQLite to SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, then handed to an agent. Locally it is @cap-js/ai@cap-js/aiOut-of-the-box value-help recommendations powered by SAP RPT-1, SAP AI Core as a standard CAP service, and an experimental local embedding model behind SQLite's vector functions.sap official, cap that adds the vector functions SQLite lacks and downloads an all-MiniLM L6v2 ONNX model on first start; on HANA natural language processing has to be switched on, the model name is a mandatory argument, the vectors it returns are 768 dimensions, and dimensions must match on both sides of a comparison. HANA itself can be given SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp as a remote source for other embedding models, which a
CDS.ql expression has to inject because the postfix notation only takes what the CDS model holds, and the hour ends with a search function over cosine similarity exposed over @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 1/3explains 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).
A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 2/3explains 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).
A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 3/3explains 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).
An Innovative Language Exchange App developed with SAP Build Apps, CAP, Kyma, and OpenAIexplains 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).
cds-toon-ai-protocol-adapter: a pragmatic way to cut AI token costs using SAP 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).
Creating a meal generator application with SAP Build, Cloud Application Programming and openAIexplains 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).
Elevating Data Privacy in SAP CAP based GenAI Applications with CAP LLM Pluginexplains 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).
Empowering Your Data Analytics with GPT-3 and SAP CAP Integrationexplains 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).
Enhancing Enterprise Applications: AI-powered User Experience with SAP CAP AI Pluginexplains 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).
Generative AI on 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).
How to Reduce Prompt Token Costs Using Toon = Save Moneyexplains 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).
How to use Cloud SDK for AI in an existing CAP NodeJS Project in CommonJSexplains 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).
Integrating a Custom AI Model into SAP CAP Using AI Launchpadexplains 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).
Lets Talk to the Database - CAP & SQLite Powered by Google Gemini-2.5-Proexplains 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).
Natural Language Queries for SAP CAP via MCP: The LLM Translates, CDS Executesexplains 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).
UI5 AI Features library is now an npm Packageexplains 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).
@cap-js/aiprovides[llm-integration] revisedRe-read for the capability's impact assessment. The page still carries the claim, now in a longer sentence that also names the automatic service-binding resolution and the tenant-aware resource groups and deployments the coverage paragraph leans on, so the quote is the full sentence and the date is today's.
@jerome-benoit/sap-ai-providerprovides[llm-integration], description revisedThe page opened with its index line alone, which left two facts a reader of this capability needs unsaid: that there are two routes into SAP AI Core and that only the model is replaced, not the SDK around it.
@sap-ai-sdk/foundation-modelsprovides[llm-integration] revisedcapability:llm-integration declared model_access and response_streaming on 2026-10-15. The package's own chat-completion page, read the same day, states that its chat client streams over server-sent events, which is the fact that decides whether a chat surface can show an answer as it is written; the edge rested on the repository README alone before.
@sap-ai-sdk/orchestrationprovides[llm-integration] revisedcapability:llm-integration declared model_access and response_streaming on 2026-10-15. The orchestration chat-completion page, read the same day, states that the model is the name property of the promptTemplating configuration and that the harmonised API behind it lets a different model be used without the client code changing, and that the client streams over server-sent events. Both facts decide something for a reader and neither was on the edge.
@saptarishi/cds-plugin-llmprovides revisedcapability:llm-integration declared the same two properties on 2026-10-15. This is the one option behind the CAP door whose README names providers on both sides of the SAP AI Core boundary, and the streaming value rests on the
stream method in the interface the README's own opening sentence lists. Both values are scoped to the node flavor, which is the only one this plugin states.cap-java/cds-aiprovides[llm-integration], description revisedThe 0.0.2-alpha coordinates are a fact about Maven Central and not a statement by the maintainer. capire's plugin list, read on 2026-10-15, says in SAP's own words that the Java version of the AI plugin is currently in alpha, which is the declaration a reader choosing between the two runtimes needs; it is quoted rather than paraphrased and the coordinates stay beside it.
cap-llm-pluginprovides[llm-integration] revisedThe edge that names this entry's own home capability carried nothing: no sentence, no source, and no room for the comparison property the capability declared on 2026-10-15. The README at 1.5.1, re-read the same day, names the chat-completion method and the orchestration service's harmonised APIs, and both run through SAP AI Core, which is what the property states. response_streaming is left absent: the README's feature list says nothing about streaming, and absent is not no.
LLM integrationcore coverage, coverage by flavor, framing by flavor, facets revisedTwo questions the options here answer differently and the page could not show. Which models an option reaches is the first fact a reader needs, because all but one of the CAP options are clients of SAP AI Core; whether the response can be streamed decides whether a chat surface is possible at all. Both are scoped to cap: the ABAP, UI5 and BTP options were not read for them in this pass.
ui5-cap-ai-featuresprovides[llm-integration], requires[sap-ai-sdk-orchestration] revisedThe edge read as an unconditional prerequisite while this entry's own when_not_to_use already said the package is an optional peer. The README states it in one sentence, quoted now: a frontend-only install does not need it and a backend project installs it explicitly, which is the distinction a reader deciding what to add to package.json needs. The edge to the HTML5 Application Repository is untouched; nothing was read for it in this pass.
LLM integrationcoverage by flavor revisedThe PromptInput page no longer carries the sentence this rested on. Read again on 2026-10-14 it states "The @ui5/webcomponents-ai package is under development and considered experimental - components' APIs are subject to change. Furthermore, the package supports Horizon themes only", with no version marker in it. The since-2.0 claim had no second source, so it goes rather than stand unsourced; the experimental state and the Horizon-only limit stay, in the words the page now uses, which are the words coverage_by_ecosystem.ui5 already quoted. The flavor's own assessment of who provides it was not redone, so assessed_at stands.
@shahid.la/cds-db-nlquery-mcpprovides[mcp-servers], provides, requires revisedResolves the requested review findings while preserving the structured comparison values, runtime scopes and implementation restrictions.
Behind the Autonomous Enterprise: SAP Knowledge Graph and SAP Domain ModelspublishedThe strategy behind SAP Business AI's intelligence layer: SAP Knowledge Graph for enterprise context, SAP Domain Models for SAP-specific expertise and tabular AI for predictions, unified on SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp with SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp. Knowledge Graph and Domain Models are not atlas entries, so the edges rest on the two products the abstract names as the infrastructure and on Predictive modelsPredictive modelsTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service.SAP only for the tabular AI; nothing is stated about what any of them does in the layer. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST103V, virtual), presented by Jan Portisch and Richard Grandpierre, written here from SAP's abstract; the recording is not yet published.
Build business differentiation with SAP AI CorepublishedSAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp as the orchestration layer for enterprise AI, worked through with SAP's engineers: extend Joule Agents with models from its library, ground them in SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp products, embed them in SAP S/4HANA flows, then govern, scale and monitor them from prototype to production. The abstract says what the layer does for an agent and not which services carry each step. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by David KnaackDavid Knaackgave 1 talk, contributed to 13 entries, Franziska Dobrigkeit, Hadi Hares and Jonas Israel, written here from SAP's abstract; the recording is not yet published.
Enriching AI models with SAP AI Core in SAP Business Data CloudpublishedThe integration between SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, through which data products with their semantics feed AI models for benchmarking, custom AI development and agentic analytics and applications. The abstract names the two products and the three uses and states nothing about how the data reaches AI Core or what the integration consists of. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by San Tran and Sandy Tran, written here from SAP's abstract; the recording is not yet published.
Joule and SAP Knowledge Graph: Context-aware AI across SAP solutionspublishedThe catalogue carries RA107's abstract under this title, and what it describes is SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp as the management and orchestration layer of an AI architecture: extending Joule Agents in SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, the model library in Joule Studio for contextual reasoning, connecting data products from SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp, and embedding AI in SAP S/4HANA. The SAP Knowledge Graph the title names does not appear in that text, so the edges rest on the abstract as published, and whether the session follows the title or the abstract is not known until it is recorded. A TechEd 2026 session (Wednesday 28 October, Berlin; also RA110V, virtual), presented by Jan Portisch and Pavithra G K, written here from SAP's abstract; the recording is not yet published.
SAP AI Core deep dive: Models, agents, and business context at scalepublishedSAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp read as the management and orchestration layer of an AI architecture, beyond the model runtime: SAP's abstract lists extending Joule Agents, the model library in Joule Studio for contextual reasoning, connecting data products from SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp, and embedding AI in SAP S/4HANA. It names the connections and not the APIs behind them. A TechEd 2026 session (Tuesday 27 October, Berlin; also RA107V, virtual), presented by Franziska Dobrigkeit and Hadi Hares, written here from SAP's abstract; the recording is not yet published.
SAP-RPT and TabPFN: Get started with tabular foundation modelspublishedTabular foundation models, SAP-RPT and TabPFN, in a hands-on with SAP and Prior Labs: the model families first, then predictions run through SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp with a workflow built on tabular orchestration and connected to the participant's own data for real-time predictions. A predictive modelsPredictive modelsTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service.SAP only session with the models as the subject; the abstract does not name the SDK or API the workflow is built with. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Eliott Kalfon, Janick Zaehringer-Frasch, Johannes Hoehne, Katharina Schell, Nilay Mehta and Sherene Tan, written here from SAP's abstract; no recording is announced.
Ship your own sandboxed AI operations agent to Kyma in two hourspublishedAn operations agent built and then broken on purpose: the abstract has participants deploy a reasoning agent to SAP BTP, Kyma runtimeSAP BTP, Kyma runtimeA fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions.sap official, btp, connect it to SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, give it observability over the runtime and cause a failure for it to diagnose, the operations automationOperations automationActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling.SAP only concern with an agent doing the diagnosis. Patterns for cost control and monitoring are promised at the end; the agent framework and how the sandbox is drawn are not named. A TechEd 2026 session (Tuesday 27 October, Berlin, two hours), presented by Christian LechnerChristian Lechnergave 2 talks, contributed to 12 entries, Piotr Tesny, Thorsten SandfuchsThorsten Sandfuchsgave 3 talks, contributed to 3 entries and Vipin VijayKumar, written here from SAP's abstract; the recording is not yet published.
Generative AI on SAP BTPparts, roles, paths revisedThe readme names the place for plugins and SDKs by example and leaves it open, and the RAG page names SAP's standardized services or a custom-built approach as the choice (docs/concepts/design-roles-and-interfaces.md §3). The three scenario pages are overlapping flows over the same parts, so they are not ways; the two runtimes are.
@cap-js/airequires[btp-ai-core] revisedThe second reader's follow-up: the condition had dropped the README's qualifier, 'for UI smoke tests', and read as never needed outside production. The README's test section names the binding for this repository's own integration tests, which is a contributor's setup and not a requirement of an application using the plugin, so it is not a condition here.
@cap-js/airequires 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. The README names the runtime with a version range, quoted now. The second reader also named the README's conditional requirement on SAP AI Core for the recommendations in production, which had no edge; it has one now.
@cap-js/aiprovides, description, requires revisedcapire states the version range the local embeddings need, @sap/cds ^10.1 and @cap-js/sqlite ^3.1. The database plugin is the one of the two that is an edge; the runtime range belongs to the plugin's own manifest, which was not read here.
cap-llm-pluginprovides, description, requires revisedBoth were named in the prose and in no edge. Conditional rather than unconditional, because the README ties each feature to a named service and the package itself is installable without either.
LLM integrationcore coverage revisedThe boundary is kept and made checkable against capire's new AI pages: aicore is documented as the default kind for production and hybrid, and every other documented kind (auto and mock on Node.js, ollama and mocked on Java) is for local runs.
cap-java/cds-aiadded to the atlasBridge from CAP Java to SAP AI Core, with Fiori field recommendations
cap-java/cds-aiprovides, connects revisedThe plugins required SAP AI Core; the connection says what they call it for, and when they do not.
@saptarishi/cds-plugin-llmadded to the atlasCAP service kind putting eleven model providers behind one API
Enhancing Business Processes with SAP BTP AI in SAP Integration SuitepublishedWalks through a post-exit iflow in SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp that calls an LLM through SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp's Generative AI Hub to turn a customer's free-text return comment into one of a fixed set of SAP rejection-reason codes, so an inbound ORDERS05 IDoc carries a decision (E1EDP01-ABGRU) the ERP can act on without pausing for manual review. The worked example is a Commerce Cloud returns flow into S/4HANA; the piece argues the same bounded-classification pattern fits other narrative fields — delivery-exception remarks, expense-claim justifications — where the cost of an LLM call is repaid by removing a human review step, and points to a colleague's post on the Generative AI Hub orchestration workflow for the guardrailing (prompt templating, data masking) it only names.
SAP AI Coreadded to the atlasAI runtime on BTP with the Generative AI Hub
@sap-ai-sdk/orchestrationprovides revisedPrompt management, data masking and content filtering entered as capabilities on 2026-09-14, each an orchestration module in SAP AI Core; this package is the client for all three and carried only the broader LLM integration edge.
@sap-ai-sdk/prompt-registryprovides revisedPrompt management entered as a capability on 2026-09-14 with SAP AI Core's Prompt Registry as the core answer; this package is that registry's client and had only the broader LLM integration edge.
cap-llm-pluginprovides revisedData masking entered as a capability on 2026-09-14; the plugin's anonymisation in SAP HANA Cloud is a second answer to it beside SAP AI Core's orchestration module, and it carried only the LLM integration edge.
Generative AI on SAP BTPcapability revisedThe capability moved to a neutral id when it opened to HANA, BTP and ABAP; the concern and this entry's edge to it are unchanged.
LLM integrationecosystems, coverage by flavor, framing by flavor, coverage by ecosystem, description revisedThe description named a CAP service, which is false on the UI5, BTP and ABAP doors this capability is in. Only the subject of the call changed.
@jerome-benoit/sap-ai-providerreleased 5.0.0Vercel AI SDK provider for SAP AI Core
LLM integrationecosystems revisedArtifacts that answer this concern sat behind the UI5 door with no tile to appear under, so browse counted them and rendered nothing. The concern is one a UI5 developer actually decides there, which is the test for opening a door rather than trimming a serves claim.
@geertjanklaps/cds-toon-ai-protocol-adapteradded to the atlasProtocol adapter serving CAP data as TOON instead of JSON
An Innovative Language Exchange App developed with SAP Build Apps, CAP, Kyma, and OpenAIpublishedA dormant internal app at SAP Japan revived with AI, built to solve a problem the team actually had — colleagues who could not talk to each other. Build Apps on the front, CAP on Kyma behind it, OpenAI in the middle.
Creating a meal generator application with SAP Build, Cloud Application Programming and openAIpublishedIngredients in, meal suggestions out, assembled from BTP services plus OpenAI and Google APIs. A small application built for the pleasure of it, and useful here as the plainest example of CAP holding the middle of a generative flow.
Elevating Data Privacy in SAP CAP based GenAI Applications with CAP LLM PluginpublishedThe question underneath the enthusiasm: what leaves your landscape when a prompt goes to a model. The plugin's answer is to anonymise the sensitive fields through HANA before the prompt is sent, and this is the post that explains why that is the design rather than an option.
Empowering Your Data Analytics with GPT-3 and SAP CAP IntegrationpublishedFree text in, SQL out, answer back in a sentence — the model writes the query, CAP runs it, and the model turns the rows into prose. Written in the GPT-3 window, so the model access has dated, but the three-step shape has not, and it is a different bet from retrieval: nothing is embedded, the schema is the context.
Enhancing Enterprise Applications: AI-powered User Experience with SAP CAP AI PluginpublishedStarts from the blank form nobody wants to fill in, and asks what an enterprise application should do about it. The AI is in service of that rather than the subject of it.
How to Reduce Prompt Token Costs Using Toon = Save MoneypublishedToken spend treated as a running cost rather than a detail, and TOON as the lever. Companion reading to the CAP adapter for the same format that is indexed here.
How to use Cloud SDK for AI in an existing CAP NodeJS Project in CommonJSpublishedA dependency that is ESM-only inside a project that is CommonJS, and the author's judgement that converting the project was too risky. What follows is the esbuild workaround, which is the honest answer when the ecosystem has moved and your codebase has not.
Integrating a Custom AI Model into SAP CAP Using AI LaunchpadpublishedYour own model rather than a hosted one: deployed to AI Core, made callable through AI Launchpad, then reached from CAP. The case a lot of companies ask about and few posts cover.
Lets Talk to the Database - CAP & SQLite Powered by Google Gemini-2.5-PropublishedNatural language against a CAP service on SQLite, with a non-SAP model doing the translation. Written as a learning exercise rather than a pattern, and the choice of Gemini over anything in the AI hub is the interesting part of it.
Natural Language Queries for SAP CAP via MCP: The LLM Translates, CDS ExecutespublishedThe division of labour is the argument, and it is in the subtitle: the model turns English into a CDS query and CDS runs it, so nothing generates SQL and nothing hallucinates a join. Schema annotations do the resolving. Long, with the package, the repository and the MCP registry entry all linked.
@jerome-benoit/sap-ai-providerartifact type, 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.
@sap-ai-sdk/ai-apiartifact type, 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.
@sap-ai-sdk/coreartifact type, 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.
@sap-ai-sdk/foundation-modelsartifact type, 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.
@sap-ai-sdk/orchestrationartifact type, 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.
@sap-ai-sdk/prompt-registryartifact type, 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.
cap-llm-pluginlinks, 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-toon-ai-protocol-adapter: a pragmatic way to cut AI token costs using SAP CAPsummary revisedThe summary said the plugin was not on npm and pointed readers at the repository. It is published, as @geertjanklaps/cds-toon-ai-protocol-adapter — a search for the unscoped name found nothing and the absence was asserted from that. The artifact now exists and this explains it.
@shahid.la/cds-db-nlquery-mcpadded to the atlasMCP server answering plain-English questions against a CDS schema
A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 1/3publishedThe concepts before the code: what the GPT model and its API actually offer, and what the finished chat application looks like — personalities included. Written in the weeks when the ground was moving under it, and the post carries its own change log to prove it: GPT-3.5 added on 1 March, GPT-4 on 15 March, and an admission that a series planned as two posts became three.
A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 2/3publishedThe backend: CAP with TypeScript, the entities holding chats and personalities, and the service that talks to the API. This is where the streamed completion and the repositories behind the handler come from, which is the part of the sample still worth lifting even though the model access has since been superseded by AI Core.
A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 3/3publishedThe SAPUI5 frontend of the sample, and mostly an argument for writing UI5 in TypeScript: ES imports in place of
sap.ui.define, a class with real private members in place of the underscore convention, and the service types generated from the CDS model copied into the UI package, so one IChats interface types the OData object the controller reads. The second half is structure — a formatter class and a singleton LayoutManager called from the XML view through core:require, a confirmation helper taking a callback, a dialog class resolving a promise, a generic createEntity<T> on a service class — all of it to keep every controller under 100 lines. What it says about arranging a UI5 app holds whatever model sits behind the chat; the tooling around it is of its date, and the post calls UI5's TypeScript support experimental.cds-toon-ai-protocol-adapter: a pragmatic way to cut AI token costs using SAP CAPpublishedNames a cost most CAP-plus-LLM writing ignores: every JSON payload streamed to a model is billed by its verbosity, in latency as well as money. The plugin brings TOON — Token-Oriented Object Notation — to a CAP service so the wire format changes without the service code doing so, in a REST variant and an OData one, with token counts reported on both sides.
UI5 AI Features library is now an npm PackagepublishedThe release note for a demo turning into a dependency, and it is explicit about why that matters: the earlier version worked, but using it meant cloning the repo and copying both halves, which stops working the moment one of them changes. The post walks through what shipping the CAP plugin and the be.wl.ai control library in one npm version buys — a client and server contract that cannot drift — then lists the eleven controls by group, shows the two-line configuration that activates each half, and notes that this version is actually deployed on BTP behind both a standalone approuter and Work Zone. It closes on the demo repository, written with no library source in it as the test that the package stands alone.
ui5-cap-ai-featuresadded to the atlasCDS plugin and UI5 controls for AI text features via SAP AI Core
Generative AI on SAP BTPpublishedThe reference shape for a generative AI application on BTP: a CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap backend, SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp holding data and embeddings for similarity search through its vector engine, and the Generative AI Hub in SAP AI Core as the single access point to foundation models. It shows retrieval-augmented generation on that stack and names the CAP plugins and SDKs that connect the pieces, for both Cloud Foundry and Kyma.
@jerome-benoit/sap-ai-provideradded to the atlasVercel AI SDK provider for SAP AI Core
@sap-ai-sdk/ai-apiadded to the atlasAI Core control plane API surface of SAP's AI SDK
@sap-ai-sdk/coreadded to the atlasShared internals of SAP's AI SDK
@sap-ai-sdk/foundation-modelsadded to the atlasClient for foundation models via SAP AI Core and Generative AI Hub
@sap-ai-sdk/orchestrationadded to the atlasOrchestration Service client for templating, grounding and masking
@sap-ai-sdk/prompt-registryadded to the atlasClient for prompts kept in SAP's prompt registry
cap-llm-pluginadded to the atlasGenerative AI in CAP with fields anonymised through SAP HANA
@cap-js/aiadded to the atlasValue-help recommendations and SAP AI Core as a CAP service
LLM 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.
LLM integrationthe core changed in @cap-js/ai 1.0.0Guidance that describes reaching SAP AI Core from CAP as something you wire up yourself against the raw AI Core API. That was the only approach before the plugin shipped in April 2026.
@jerome-benoit/sap-ai-providerreleased 3.0.0Error handling that imports
SAPAIError or checks error instanceof SAPAIError.@sap-ai-sdk/foundation-modelsreleased 2.0.0Code from 1.x samples that reads
response.data, passes an AbortController to stream(), or imports AzureOpenAiCreateChatCompletionRequest.@sap-ai-sdk/orchestrationreleased 2.0.0Client configurations with separate
llm and templating blocks.Prompt managementcoverage by ecosystem, core coverage revisedReassessed against the graph (check:capabilities): the note was a claim about who provides, which the option list derives.
Prompt TemplatingpublishedPrompt templating replaces a static prompt with a structured, reusable template whose placeholders are filled in at runtime, which the page says helps LLM responses stay consistent and lets the same instructions be adapted across tasks. On SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp this is implemented through the Prompt Registry, and the page states that storing prompts as plain strings in code is possible but not recommended. That is prompt managementPrompt managementKeeping the prompts an application sends to a model as templates with placeholders, stored and versioned apart from the code that calls them, so a change of wording is not a deployment. What people conflate under it: the template filled at runtime, the registry it lives in, and the orchestration step that fills it.SAP only as a stored and managed object rather than a string embedded in the caller.
Retrieval-augmented generationcoverage by ecosystem, core coverage revisedReassessed against the graph (check:capabilities): a CAP-door provider reaches Document Grounding through the LangChain vector store interface, a shape the two plugins do not cover.
Document Groundingexplains 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).
HANA Cloud’s VECTOR EMBEDDING in CAP and Comparison with OpenAI Embeddingexplains 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).
RAG with SAP HANA Cloud Vector Engine, GenAI Hub & 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).
Show 17 more
Using HANA Cloud’s "VECTOR_EMBEDDING" Function 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).
Retrieval-augmented generationcore coverage revisedcapire audit 2026-09-27, link-only pages read a fourth time: vector embeddings are one of the three things SAP frames as CAP's native AI support, in the one sentence the section's index says of its own.
@mi8y/cap-agents-aicore-vectorstoreadded to the atlasLangChain vector store on SAP AI Core Document Grounding
@mi8y/cap-agents-cds-vectorstoreadded to the atlasLangChain vector store with CDS entities for embeddings
Retrieval-augmented generationcore coverage revisedWith the core's half now stated, the panel needed the sentence that says what is added on top of it, and the two shapes differ: one retrieval method behind a service binding, or a vector table modelled on an annotated entity.
Retrieval-augmented generationcore coverage revisedcapire's Vector Embeddings guide documents embedding on write as a stored calculated element, so the old sentence, which listed embedding on write among what every entry writes by hand, no longer held. The state is unchanged: no SAP artifact in the graph carries a provides edge to this capability behind the CAP door.
@saptarishi/cds-plugin-vector-hanalinks, description, compat, provides revisedThe edge carried no statement of what this contributes. Filled from the README and the changelog, including the hybrid retrieval and metadata-filter additions the README on main does not yet document.
Retrieval-augmented generationentry revisedCompleted the intended consolidation: retained CAP framing, ABAP and HANA coverage, the detailed BTP document-grounding coverage and framing, and scoped normative relevance. Repointed relationships and retired the duplicate capability.
Document GroundingpublishedDocument Grounding is a managed retrieval-augmented-generation service under the Generative AI Hub on BTP, which SAP's page on SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp places inside that service: it ingests documents from Amazon S3, SharePoint, SAP Document Management Service, SAP Work Zone or an SFTP server, and handles chunking, embedding and retrieval itself, refreshing content automatically when a source document changes. The page states this managed path is recommended for most enterprise scenarios because it covers the whole lifecycle end to end, and offers a separate Document Grounding Vector API for data that is already chunked and embedded, for cases that need finer control over chunking and metadata.
Retrieval-augmented generationid, ecosystems revisedSAP AI Core's Document Grounding is the same concern, answering from your own documents instead of from what a model remembers, in a managed form on the BTP door; the CDS in the name is the CAP door's version of it.
HANA Cloud’s VECTOR EMBEDDING in CAP and Comparison with OpenAI EmbeddingpublishedTwo ways to produce the same embedding, run side by side: HANA Cloud's own VECTOR_EMBEDDING function against Azure OpenAI through the CAP LLM plugin. The CDS side is short — an element of type
cds.Vector maps to REAL_VECTOR on deploy — so what remains is the comparison, which is the thing you cannot get from either product's documentation alone.RAG with SAP HANA Cloud Vector Engine, GenAI Hub & CAPpublishedThe end-to-end version: a CAP service exposing the vector engine and the AI hub behind a couple of endpoints, answering where a CodeJam is on a given date. It has aged in a way the author has marked in the page itself — the section on the CAP LLM plugin now carries "(Outdated)" in its own heading — so read the embedding preparation and the retrieval shape, and check the plugin part against the package.
Using HANA Cloud’s "VECTOR_EMBEDDING" Function in CAPpublishedEmbeddings generated inside the database rather than fetched from AI Core or an external model — a Q4 2024 HANA Cloud function, used from CAP. The shift it describes is where the embedding step lives, which changes what has to be deployed and what has to be called.
@saptarishi/cds-plugin-vector-hanadescription 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.
@saptarishi/cds-plugin-vector-hanaadded to the atlasVector storage and similarity search on SAP HANA from CAP
@saptarishi/cds-plugin-vector-hanareleased 0.5.0A description of this package as a library you wire into your own handler, with the embedding on write written by the reader. That was the only route through 0.4.0; it still works, and since 0.5.0 the annotated route is the one the README leads with.
Retrieval-augmented generationthe core changed in CAP Java 4.9.0Guidance that the CAP-modelled similarity function only ever runs against HANA, or that turning text into a query-time vector always means a raw HANA call outside CQL — true for CAP Java before April 2026, not since. It does not touch Node.js, and it does not touch chunking or the embed-on-write pipeline, which is still every entry in this capability's own job.
Tool governancedescription, core coverage, coverage by ecosystem, framing by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): a count of providers removed.
SAP API Policy Evidence Skillrequires revisedThe entry described the skill as gathering evidence "through MCP servers" without naming one, because four of the five were not in the corpus. Three entered in the same batch as their own packages, and mcp-sap-docs and arc-1 were already here, so the README's own prerequisites table becomes edges. Conditional rather than required: the README states the skill degrades gracefully when one is missing and names which two raise confidence to high.
A Clearer View of Your SAP Integrations Under the New API PolicypublishedThe SAP API Policy Evidence SkillSAP API Policy Evidence SkillAssesses whether a described SAP API usage aligns with the SAP API Policy, gathering live evidence from SAP's own sources and returning a sourced assessment with a stated confidence — and routing the legal questions away from itself.independent, btp assesses one SAP interface or usage pattern at a time against SAP API Policy v.4.2026a, reading evidence from five MCP servers, among them servers for the Business Accelerator Hub and SAP Notes, mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap and a read-only ARC-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap, and returns one of four labels with a confidence level, an evidence table, residual risk and questions for SAP. It gives no compliant or not compliant answer on purpose, because SAP's FAQ (Q49) declines to publish a binding decision matrix, and it sends legal, commercial and roadmap questions to SAP and lowers its confidence when a source is not connected. Four sample runs show the method, among them ODP-RFC extraction labelled likely not aligned under SAP Note 3255746 and the same API_SALES_ORDER_SRV assessed differently for an autonomous agent behind a custom gateway and for a Boomi middleware flow; the SAP Notes and Business Accelerator Hub servers read SAP sites through a browser login, which the post says to use at your own risk.
Tool governancecore coverage, coverage by flavor revisedSuperClaude for SAP's own flavors entry states abap-cloud with the identical quote it states standard-abap with, and its README describes no guard behaviour that differs between the two, so the ABAP door's community-only reading carries over to the flavor. The concern is not classic-only — unlike SAP GUI screens or unreleased objects, which system to call is a question ABAP Cloud is asked too — so not-applicable does not fit, and the validator forbids it on a flavor a stated provider covers.
Show 4 more
Tool governancecoverage by ecosystem revisedSAP Integration Suite entered the corpus with a tool-governance edge, so community-only was no longer a true reading of the door. The evidence sentence that was in where_it_stops describes the community skill and moved to community_adds, where the core's own boundary can be stated.
SAP API Policy Evidence Skilladded to the atlasSkill assessing API usage against the SAP API Policy
SAP API Policy Evidence Skillentry revisedTriaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README; the catalogue is credited as where it was found and its words are not reused. Hard rule 7: skills are indexed, never authored here.
Tool governanceecosystems, description revisedThe first clause said "which CAP services", which was true when CAP was the only door. Governing what an agent may call is the concern; which CAP services is one ecosystem's version of it.
Audit loggingcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note counted providers, said every provider is a service although a SAP-published practice for HANA audit policies now sits behind the door, and carried a typo. The state stays core-only: that practice is sap-official and no provider of another origin counts for the door.
How to implement SAP BTP Audit log service in a CAP Applicationexplains 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).
Implementing Custom Audit Logging in SAP CAP Applicationsexplains 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).
Integrate SAP Business Technology Platform audit logs with IBM Security QRadarexplains 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).
Show 19 more
Nice patch SAP! Revisiting your SAP BTP security measures after AI Core vulnerability fixexplains 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).
SAP BTP Audit log Enable and retrieve logsexplains 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).
Integrate SAP Business Technology Platform audit logs with IBM Security QRadarpublishedWalks through pulling entries from the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp for a Cloud Foundry subaccount, via its retrieval API and a service key downloaded from the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp, into IBM Security QRadar as a Universal Cloud REST API log source. A sample audit event, a
data read event under audit.data-access, drives a custom QRadar DSM mapping event ID and category, then the walkthrough deletes a user from a Kyma role collection and shows the matching audit loggingAudit loggingRecording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what.SAP only entry arrive in QRadar as an offense.Nice patch SAP! Revisiting your SAP BTP security measures after AI Core vulnerability fixpublishedWritten after the SAPwned disclosure in SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, it argues SAP BTP's shared-responsibility model still requires the customer's own hardening: scope SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp and SAP BTP, Kyma runtimeSAP BTP, Kyma runtimeA fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions.sap official, btp app access, rotate OAuth2 client-credentials secrets, and enforce MFA and Conditional Access through a corporate identity provider rather than relying on SAP's patch alone. It then explains how the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp writes standardized events for most Cloud Foundry BTP services, and walks through onboarding a BTP subaccount into Microsoft Sentinel for SAP BTP to query those logs with Kusto and build detection rules that flag unexpected login countries or known-bad IPs and trigger automatic user blocks.
SAP BTP Audit log Enable and retrieve logspublishedWalks through enabling and retrieving records from the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp on SAP BTP's Cloud Foundry environment: the default oAuth2 service plan retains audit data for 90 days at no cost, while the premium plan adds a configurable retention period and lets an application write its own audit data. Covers the three subscription plans (premium, default for a subaccount, central for a global account) and the CLI steps to create a service instance and key, then retrieve records as JSON through the Auditlog Management Service's REST API using an OAuth2 client-credentials token in Postman.
How to enable SAP Audit Log Viewer service to collect all Audit logs from BTP Services - Part 1publishedWalks through subscribing to the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp's viewer app from the SAP BTP cockpit and creating a RoleCollection from the auditlog-management and auditlog-viewer role templates, assigned to a user or by a rule on the IDP's SAML assertion, to read audit loggingAudit loggingRecording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what.SAP only events in a subaccount. The post's own update notes that a BTP release from 19 February 2026 removed the need for that role-assignment step. It also lists which Cloud Foundry services write audit log events, pointing to each service's own auditing page rather than detailing them here.
Integrating SAP Cloud Identity Services (Identity Authentication - IAS) with SAP Audit Log ViewerpublishedWalks through wiring an Identity Authentication tenant of Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp into the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp on SAP BTP, Cloud Foundry: from the tenant's Monitoring & Reporting tile, adding the target BTP subaccount's tenant ID and subdomain ties the two together, and after a 15-20 minute wait the resulting Audit Log Viewer link surfaces logs of personal-data changes and of successful and failed authentications. Logs are then filtered by date and keyword, each entry carrying its event category, event and object type, timestamp, and the user who performed the action.
Audit loggingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.
com.sap.cds:cds-feature-auditlog-ngconnects[0] revisedThe second reader read the connects batch of 2026-09-19 on 2026-09-22, after its acceptance, and found: the for sentence names the Audit Log Event Catalog from a passage the edge did not cite; it is cited now.
com.sap.cds:cds-feature-auditlog-ngadded to the atlasCAP Java plugin sending audit log events to SAP Audit Log service
com.sap.cds:cds-feature-auditlog-v2added to the atlasCAP Java handler for SAP Audit Log service API version 2
com.sap.cds:cds-feature-auditlog-ngprovides, connects revisedThe plugin required the Audit Log service; the connection says which way the events go.
com.sap.cds:cds-feature-auditlog-v2provides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
Audit loggingecosystems revisedSAP-samples' s4hana-hana-audit-policies defines HANA audit policies for the database tenant under S/4HANA, recording security-relevant actions at database level, the same concern one layer below the application.
SAP Audit Log serviceadded to the atlasIngests and retains compliance audit data from BTP
Audit 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.
How to implement SAP BTP Audit log service in a CAP ApplicationpublishedThe setup half: binding the BTP Audit Log service to a CAP application and getting the annotated path working, which is the step before anything custom becomes a question.
Implementing Custom Audit Logging in SAP CAP ApplicationspublishedWhere the annotations stop. CAP logs personal-data operations automatically once a model is annotated; this is about the events that are not that — an unauthorised access attempt, a business action somebody wants a trail for — and what writing those yourself involves.
Audit 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.
Authenticationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): no community artifact on the UI5 door provides this capability by an edge; the middlewares the text named provide ui5-build-tooling, and the only sample on the door is not a presence. what_core_does stays, so the core remains present.
cds-common-jwt-supportlifecycle 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.
Authenticationecosystems revisedui5-middleware-oidc was staged in intake-20261019-bestofui5 under ui5-build-tooling because this capability was not open on the UI5 door. The UI5 reading comes from the README of SAP's backend-proxy-middleware.
Authenticationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Show 39 more
Building Custom Authentication in SAP 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).
Evolving the identity lifecycle for an AI-first futureexplains 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).
Execute [OAuth2 client credentials] protected REST request with SAP CAP Applicationexplains 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).
How SAP secures enterprise AI agents with identity propagationexplains 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).
SAP CAP JWT Token Flow in codeexplains 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).
Secure Service Consumption Across Hyperscalersexplains 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).
Why SAP Cloud Identity Matters for SAP Task Center: It’s About Trust and Global User IDexplains 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).
Authenticationcoverage by ecosystem, facets, framing by ecosystem revisedThe paragraph counted two services while seven entries stand behind the door, the router and the Cloud Connector among them, so it told a reader the door was smaller than it is.
Cloud Identity Servicesprovides[capability:authentication] revisedThe only sentence about this service was its one-liner, so the capability page listed it beside the OAuth server with nothing to tell the two apart. SAP's trust and federation page states what the service is and what a tenant's own policies cover, and the default identity provider page states the corporate identity provider behind it, which is the property the BTP door now compares on.
SAP Authorization and Trust Management serviceprovides[capability:authentication] revisedThe edge said only that the service answers authentication, so the page could not say which part of the concern it answers. SAP's architecture page states the three: the trust, the assertion it receives, and the token it signs. The two properties the BTP door now compares options on are stated from the same page: a token with no user present, and a corporate identity provider behind it.
Evolving the identity lifecycle for an AI-first futurepublishedCloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp as the foundation for authentication, identity lifecycle management and access across SAP landscapes, and the agent identity concepts and SAP-managed identity and access management scenarios SAP says reduce operational effort. The edges are to the service and to the two concerns the abstract names it for, AuthenticationAuthenticationEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems.SAP and community, narrow by design and Identity provisioningIdentity provisioningGetting users, groups and role assignments into every system that needs them, and out again when a person leaves, through provisioning jobs or SCIM APIs. Authentication answers who is calling one request; provisioning decides whether the user exists in that system at all.SAP only; the abstract names the agent identity concepts and does not say what they are. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Sonia Petrescu and Swetta Singh, written here from SAP's abstract; the recording is not yet published.
How SAP secures enterprise AI agents with identity propagationpublishedCloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp as the identity layer for AI agents as well as people: the abstract states that both are managed in one directory, that user context is propagated by token exchange, and that authorisation is enforced at every hop, so no agent holds back-end credentials. Agents from Microsoft, Google and partners take the same flow through the agent gateway. Token exchange across a hop is the authenticationAuthenticationEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems.SAP and community, narrow by design side and the per-hop check the authorisationAuthorizationDeciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact.SAP and community, unassessed side; what the agent gateway is, and whether it is a product, the abstract does not say. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Gunnar KoscheGunnar Koschegave 1 talk, contributed to 1 entry and Sebastian Ries, written here from SAP's abstract; the recording is not yet published.
Identity lifecycle and governance with SAP services and Microsoft EntrapublishedCloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp beside SAP Cloud Identity Access Governance and Microsoft Entra for one user lifecycle across SAP and third-party applications: the abstract states that SAP business roles can be included in Entra access packages, so that provisioning and governance run from Entra in a hybrid environment, which is the identity provisioningIdentity provisioningGetting users, groups and role assignments into every system that needs them, and out again when a person leaves, through provisioning jobs or SCIM APIs. Authentication answers who is calling one request; provisioning decides whether the user exists in that system at all.SAP only concern. Which SAP systems' roles, and over which protocol, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Martin Raepple of Microsoft, Plamen Pavlov, Regine Schimmer and Swetta Singh, written here from SAP's abstract; the recording is not yet published.
Road map: SAP Business AI Platform security and SAP Cloud Identity ServicespublishedThe road map for SAP Business AI Platform's security and compliance services, Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp and SAP Key Management Service among them, and the upcoming changes SAP files under security, governance and compliance. The edge is to Cloud Identity Services, the one named service with an entry here; SAP Key Management Service has none, and the abstract names no item of the road map. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Michael Friedrich and Sascha Vierlinger, written here from SAP's abstract; the recording is not yet published.
Authenticationcore coverage revisedcapire audit 2026-09-27, proposed pages read once more: the security overview and the product security overview were cited nowhere; the first carries a boundary SAP draws itself.
Why SAP Cloud Identity Matters for SAP Task Center: It’s About Trust and Global User IDpublishedA step-by-step configuration walkthrough for wiring SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp as the trust and user-correlation layer behind SAP Task CenterSAP Task CenterOne inbox across SAP applications: tasks from S/4HANA, SuccessFactors, Ariba and BTP workflows in one list, with a public API for a custom task provider.sap official, btp: establishing Identity Authentication as the sole trusted identity provider for the BTP subaccount, and generating the Global User ID — carried in the token's user_uuid claim rather than the SAML name identifier — that Task Center uses to match logged-in users to their tasks. It also covers syncing that ID between Microsoft Entra ID, the Identity Directory and SAP S/4HANA through Identity ProvisioningSAP Cloud Identity Services - Identity ProvisioningProvisioning jobs that carry users and groups, with their authorisations, between cloud and on-premise business systems, SAP and non-SAP, in full or delta read mode.sap official, btp jobs, and the principal-propagation trust the cloud connectorCloud ConnectorSAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow.sap official, btp needs to pass it through to an on-premise task provider.
SAP Authorization and Trust Management serviceconnects[0] revisedThe second reader read the connects batch of 2026-09-19 on 2026-09-22, after its acceptance, and found: neither quote names this service, and only one names Cloud Identity Services, so the page's title, which names both parties, is quoted beside them.
com.sap.cds:cds-feature-identityadded to the atlasOAuth2 token validation from XSUAA and SAP Cloud Identity Services
com.sap.cds:cds-feature-xsuaaadded to the atlasFormer XSUAA JWT validation for CAP Java, removed in CAP Java 3.0
@sap/xssecconnects revised@sap/xssec required both security services without saying what passes between them. The README states the calls: JWKS over https for both, and the OIDC configuration for Identity Authentication.
com.sap.cds:cds-feature-identityprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.
com.sap.cds:cds-feature-xsuaaprovides revisedRemoved CAP Java module documented for historical completeness: capire's migration guide records its removal in CAP Java 3.0 and its replacement by cds-feature-identity. Last published version taken from the Maven Central listing supplied for this batch, not independently re-verified.
SAP Authorization and Trust Management serviceconnects revisedThe two security services had no edge between them, although most BTP diagrams draw one. SAP's administration guide states the trust and the protocol it is established with.
How to Access SAP Cloud Logging Service Dashboards Using IAS SAML AuthenticationpublishedWalks through wiring SAML 2.0 single sign-on between SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp (IAS) and SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp so its OpenSearch dashboards accept IAS logins instead of a service key: creating the SAML application in IAS, editing the instance's saml parameters (admin_group, idp.metadata_url, idp.entity_id, sp.entity_id), setting the matching entity ID and endpoints on the IAS side, and mapping an IAS group to the all_access role through a groups attribute. It also shows how to read a 403 on the dashboard as SAML login succeeding while the group-to-role mapping is still missing.
Secure Service Consumption Across HyperscalerspublishedSAP's design for a workload on SAP BTP that calls Amazon Web Services or Google Cloud services with short-lived credentials instead of stored keys, which is the outbound side of authenticationAuthenticationEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems.SAP and community, narrow by design: the BTP application proving who it is to another cloud. On AWS it draws two paths, an ID token from Identity Authentication in Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp exchanged through AWS STS for an IAM role, or an X.509 certificate kept in SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp and presented to IAM Roles Anywhere; on Google Cloud only the token path, through Workload Identity Federation and an impersonated service account. It is drawn for those two hyperscalers only, and Microsoft Azure has no page in it.
Authenticationecosystems revisedabap_jwt_generator, abapOAuthAzure, abap2oauth2, abapNTLM and abap-aws-sigv4 in this batch authenticate an ABAP system to external APIs with JWT, OAuth 2.0, NTLM and AWS Signature v4, and abap-pwnedpasswords checks a password against a breach list, so the concern is decided on the ABAP door.
Cloud Identity Servicesserves ecosystems revisedABAP authorisation is authorisation objects and roles, a different concern that an identity service does not answer, and on UI5 token validation happens in the router or the service rather than in the frontend. Listed behind both doors, it grouped under nothing on either.
SAP Authorization and Trust Management serviceserves ecosystems revisedThe same as Cloud Identity Services: ABAP's authorisation model is not XSUAA's, and a UI5 frontend does not validate the JWT — the router and the service do.
Cloud Identity Servicesadded to the atlasIdentity Authentication and Identity Provisioning as one tenant
SAP Authorization and Trust Management serviceadded to the atlasOAuth server issuing JWTs and holding scopes for BTP apps
Authenticationecosystems 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.
Execute [OAuth2 client credentials] protected REST request with SAP CAP ApplicationpublishedA 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.
SAP CAP JWT Token Flow in codepublishedOne question, answered precisely: at what point does the JWT exist and how does it end up on
req.headers.authorization in a CAP handler. XSUAA issues it and the approuter carries it, and the post follows it through both.cds-azure-adadded to the atlasAzure AD and Azure AD B2C authentication strategy for CAP
cds-common-jwt-supportadded to the atlasJWT authentication for CAP without xsuaa or xssec
@sap/xssecadded to the atlasToken validation and security context for XSUAA and IAS
Authenticationcore 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.
Authenticationthe core changed in CAP Java 3.0.1Guidance to add cds-feature-xsuaa as a Maven dependency for authentication in a CAP Java project. It was removed in the 3.0 line, mid-2024 — cds-feature-identity is the replacement for XSUAA as well as IAS.
Authorizationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note claimed every provider behind the door is an SAP service, a statement about the corpus that goes stale, and did not name the fresh btp-oauth provider. Coverage state unchanged: only SAP-official services count behind this door.
An approach to secure multiple integrated SAP CAP java applications with a common XSUAA service instanceexplains 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).
CAP-JAVA implementation for Authorization Management Service (AMS)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).
Dynamic authorisation with user attributes in SAP CAP and AMSexplains 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).
Show 48 more
Effective from June 30th 2026 - XSUAA Deprecation of GET Method for OAuth Token Retrievalexplains 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).
Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/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).
From XSUAA to AMS: Architecting S4HANA CAP Extensions with Policy-Based Authorizationexplains 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).
How to get authenticated user information with CAP in three different ways – Using the XSUAA APIexplains 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).
How to Restrict CRUD Operations in SAP CAPM Using @Capabilities, @readonly and Test APIs with .httpexplains 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).
Insights of Cloud SDK, CAP, XSUAA, SSH and other BTP topics from 2021explains 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).
Qualtrics integration with domain based authorization in CAP project on HANA 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).
SAP BTP XSUAA Security Configuration Comparison: Attribute-Based vs. Authority-Based Approachesexplains 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).
SAP Business Technology Platform: Authorization and Trust Management Serviceexplains 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).
SAP Job Scheduling Service + Cloud Application Programming Model application (CAP) + SAP Authorization and Trust Management Service (XSUAA)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).
Securing a CAP Node.js App with SAP AMS on 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).
Securing CAP Applications with SAP Cloud Identity Services and AMSexplains 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).
Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.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).
Useful CAP CDS and Fiori Commands to Accelerate Development and Deploymentexplains 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).
Why developers should care about credential-types for xsuaa?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).
XSUAA Based Authentication - Using Managed Approuterexplains 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).
XSUAA Local Testingexplains 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).
SAP Business Technology Platform: Authorization and Trust Management ServicepublishedWalks through how the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp secures a BTP application: scopes, attributes and role templates in the security descriptor, and the OAuth 2.0 resource-owner, client and resource-server roles it builds on. Covers the XSUAA microservice as the OAuth 2.0 authorization server bound to each application through its service broker, the signed JSON Web Token it issues after authentication, and the App Router@sap/approuterSAP's Node.js application router: the single entry point in front of a business application's microservices, which authenticates the user, forwards each request to a backend by route and serves static content.sap official, btp's place in front of the resource apps as the gateway that starts authentication and checks for cross-site request forgery.
CAP for nodejs安全的暴露接口练习publishedStarting from the risk-management sample, the walkthrough adds an open ExternalAPI service beside the existing RiskService, then moves every security annotation into a separate service-auth.cds file: @requires: authenticated-user on one entity, role-scoped @restrict grants for RiskViewer and RiskManager on another. It tests the unprotected action locally with cds watch, calling it from Postman with the session cookie read out of SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp's preview tab. It then deploys to BTP and reads Risks with a client-credentials OAuth token fetched from a service key of the cpapp-auth instance, after changing that entity's READ grant from RiskViewer to authenticated-user, which the post, citing capire's CDS-based Authorization page, describes as a grant for a technical user integrating systems rather than for access from a front end.
Securing SAP CAP Applications: XSUAA, Roles, and Authorization Best PracticespublishedWalks through securing a CAP service end to end: declaring scopes and role templates in xs-security.json for the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp (XSUAA), restricting CDS service definitions with
@restrict per role, and dropping into handler code where a rule needs custom logic, with a @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap Node.jsNode.jsA cross-platform JavaScript runtime that servers, command line tools and scripts written in JavaScript are run with. For the things here, the prerequisite a repository names when its build is a set of npm scripts. example that tests roles through req.user.is and a Java one that tests scopes through hasScope. It closes in the BTP cockpit, where a role collection is assigned to users so that their JWT carries the scopes those checks read.Useful CAP CDS and Fiori Commands to Accelerate Development and DeploymentpublishedA command-by-command walkthrough of
@sap/cds-dk's cds add and fiori add generators: cds add xsuaa writes an XSUAA security configuration from the CDS model's authorization annotations, and cds add hana together with cds deploy --to hana switches persistence from the default SQLite database to SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp. cds add mta and fiori add deploy-config, from @sap/generator-fiori@sap/generator-fioriThe single entry point for generating a Fiori application — the user picks a template and the generator produces the project around it.sap official, cap, build the Cloud FoundrySAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp deployment descriptor together, adding a destination-service block and an xs-app.json that routes the Fiori app's calls through a named destination.Authorizationcore coverage revisedcapire audit 2026-09-27, proposed pages read once more: a page this capability owns was cited nowhere.
Authorizationcore coverage revisedTwo independent artifacts provide this on CAP beside the SAP-official ones: cds-entra-id (vobu) and cap-toolkit (eyupbaycol). The state says who is present, so core-only no longer held. relationship is unassessed: no retrieved document gives the history between them and the core.
Authorizationecosystems revisedsap-usi-authority-check in this batch is an ABAP class that checks whether the user may run the current transaction, which is this concern on the ABAP door.
Effective from June 30th 2026 - XSUAA Deprecation of GET Method for OAuth Token RetrievalpublishedEffective June 30th 2026, the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp (XSUAA) deprecates the HTTP GET method for retrieving an OAuth access token from its /oauth/token endpoint, leaving only POST supported in line with RFC 6749. A client still requesting a token via GET with grant_type and credentials in the query string stops working after the cutover and must switch to a POST request with form-encoded body parameters.
Authorizationecosystems 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.
@sap/amsadded to the atlasAuthorization from DCL policies for Node.js apps on SAP Cloud Identity
An approach to secure multiple integrated SAP CAP java applications with a common XSUAA service instancepublishedOne XSUAA instance across several CAP Java applications that call each other, rather than one per application. Short, and written from inside SAP Labs as something the author tried — the value is the shape of the arrangement, not a walkthrough.
CAP-JAVA implementation for Authorization Management Service (AMS)publishedShort and deliberately narrow: the author defers the concepts to kevin_li's post and writes only the CAP Java part — the development flow, designing the authorization model, and assigning and checking a policy. Read the other one first; this is the half that touches the code.
Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAPpublishedAuthorization policies defined in Identity Authentication and consumed by a CAP application through AMS — the configuration half of the move away from XSUAA scopes, from the identity service's side rather than the application's.
How to get authenticated user information with CAP in three different ways – Using the XSUAA APIpublishedThe third of three approaches the author sets out, and the one that returns the most: going to the XSUAA API directly rather than reading what CAP already put on the request. Depends on an earlier post for the project setup, so it starts mid-stream on purpose.
How to Restrict CRUD Operations in SAP CAPM Using @Capabilities, @readonly and Test APIs with .httppublishedEntities are exposed with full CRUD by default, and this is how to take operations away again — @Capabilities for Insert, Update and Delete individually, @readonly for the blunt version. Tested with .http files rather than a UI, which keeps the check on the service.
Insights of Cloud SDK, CAP, XSUAA, SSH and other BTP topics from 2021publishedA year in review, and one section in it is the reason it is here: "CAP isn't the solution for everything" — the author's point being that a pure UI5 or Fiori application does not need a CAP service wrapped around it, and that an approuter or the HTML5 Application Repository may be the better answer. The XSUAA section is a complaint about complexity rather than a guide, which is also worth having on the record.
Qualtrics integration with domain based authorization in CAP project on HANA cloudpublishedSurveys 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.
SAP BTP XSUAA Security Configuration Comparison: Attribute-Based vs. Authority-Based ApproachespublishedTwo shapes of the same xs-security.json set against each other, with the resulting JWT printed for both. The consequence for application code is what makes it worth reading: under the attribute-based configuration a CAP handler reads
req.user.attr.department, and under the authority-based one it does not, because the attribute is not there. Carries a migration guide between the two.SAP Job Scheduling Service + Cloud Application Programming Model application (CAP) + SAP Authorization and Trust Management Service (XSUAA)publishedCalling an unsecured endpoint on a schedule is trivial; this is the same thing once the endpoint is protected. The interesting part is the caller — the Job Scheduling Service is not a person, so CAP's pseudo-roles are where the post spends its time, and
$XSSERVICENAME has to match the scheduler's own instance name.Securing CAP Applications with SAP Cloud Identity Services and AMSpublishedIdentity Authentication and AMS together as the current answer for a CAP application — authentication, single sign-on and the identity lifecycle on one side, policies on the other.
Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.publishedThe long version, from the MTA project outward: what the deployment descriptor has to contain, how the authentication flow actually runs, and then the npm modules doing the work — @sap/xssec@sap/xssecToken validation and security context for XSUAA and IAS.sap official, cap and @sap/xsenv named and explained rather than left as dependencies. Old, and the module names have moved on, but the flow it draws has not.
Why developers should care about credential-types for xsuaa?publishedRotating 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.
XSUAA Based Authentication - Using Managed ApprouterpublishedOne half of a pair published the same day, both starting from capire's list of authentication kinds and then going end to end on XSUAA. This is the managed approuter route, where the platform runs the router and the application supplies configuration rather than a module.
XSUAA Local TestingpublishedAdding XSUAA to a CAP project two ways, and then the part that is usually missing: getting the authorisation to behave on a laptop rather than only after deployment. The default authentication mechanism is the easy half; testing it without a landscape is the reason this exists.
Dynamic authorisation with user attributes in SAP CAP and AMSpublishedThe same argument as the XSUAA-to-AMS piece, opened from a concrete failure: an acquisition puts 500 users on sales data restricted by division, and role-based access control answers it with Sales_Manager_EMEA, Sales_Manager_APAC and so on until the roles multiply past managing. Attribute-based authorisation replaces the set with one policy carrying a restriction, and the post walks through defining it in AMS against Cloud Identity Services. The clearest statement of role explosion among the three AMS pieces here.
From XSUAA to AMS: Architecting S4HANA CAP Extensions with Policy-Based AuthorizationpublishedWhy scope-based authorization runs out, argued from enterprise extension work rather than from the documentation: XSUAA handles roles well, but real requirements are business-context restrictions — country, company code, organisational unit — and expressing those as scopes does not scale. The migration to policy-based authorization is presented as an architectural move for S/4HANA extensions rather than a configuration change.
Securing a CAP Node.js App with SAP AMS on BTP Cloud FoundrypublishedThe end-to-end version: a CAP Node.js project from cds init, role-based access through the Authorization Management Service and Identity Authentication Service, and an MTA deployment to Cloud Foundry. The prerequisite list is the useful part to read first — HANA Cloud, an IAS tenant and an AMS entitlement — because it says plainly what this path costs before you are three steps into it.
cds-entra-idadded to the atlasMaps Microsoft Entra ID groups and app roles onto cds.User roles
Authorizationcore 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.
Authorizationthe core changed in CAP Java 3.7.1Advice that instance-based @restrict only guards reads and that a create or update payload has to be checked by hand for the same rule. That gap is closable now, behind cds.security.authorization.instanceBased.checkInputData — beta, and Java-only as of this release.
Authorizationthe core changed in @sap/cds-dk 8.6.0Setup guides that wire AMS policies and the IAS binding by hand in a CAP Java project.
Change trackingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): removed a count, and linked the entry the graph holds instead of its repository.
BTP CAP : Custom plugin to separate generic change log capture logicexplains 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).
New and improved: Change Tracking pluginexplains 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).
BTP CAP : Custom plugin to separate generic change log capture logicpublishedWalks through building a custom [CAP](ecosystem:cap) plugin that centralises change-log capture: on
cds.once('served') it collects entities annotated @audit, then hooks srv.before('UPDATE') to read the existing record, diff it field by field against the incoming payload, and record old/new values with the user and timestamp. It also documents a cds build failure packaging the plugin's own directory into gen/srv for MTA deployment, fixed by adding it as a copyfiles build-parameter step in mta.yaml.Show 8 more
com.sap.cds:cds-feature-change-trackingadded to the atlasChange log of annotated entity fields for CAP Java
com.sap.cds:cds-feature-change-trackingprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
cdsmbt01added to the atlasCDS plugin for OData change tracking in CAP applications
Change trackingecosystems revisedabap-platform-reuse-services, a SAP-samples repository in this batch, records change documents on a RAP business object and displays them in a Fiori elements app, which is this concern on the ABAP door.
New and improved: Change Tracking pluginpublishedThe 2.0 announcement, and unusually candid about why there is a 2.0 at all: the plugin already existed and was, in the author's words, plagued by many issues. What it records is every insert, update and delete with the user and the timestamp, aimed at root-cause analysis and at detecting changes nobody authorised. Generally available as of this post, having been hinted at as beta in the April release notes.
@cap-js/change-trackingadded to the atlasChange history for annotated CAP entities
Change trackingcore 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.
@cap-js/change-trackingreleased 2.0.0Queries, views or annotations that read
sap.changelog.ChangeLog or the entityID column, and configurations that set considerLocalizedValues.#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 2explains 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).
#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 3explains 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).
#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 1publishedFirst of a three-part series on designing a CAP application on BTP that uses the platform's data privacyData privacyDoing what the law requires with personal data — knowing which fields are personal, answering a subject's request about them, and deleting them when the reason for holding them expires.SAP only services, and this part is the vocabulary before any of it: personal data, the rights a data subject has under GDPR, and the data controller and processor distinction, worked through an order-confirmation SMS example. It names four BTP services: SAP Personal Data ManagerSAP Personal Data ManagerA BTP service that finds data subjects, tells them which of their personal data an application or service stores and uses, and handles their requests about it.sap official, btp, SAP Data Retention ManagerSAP Data Retention ManagerA BTP service that holds residence and retention rules for applications' personal and transactional data, and triggers blocking, deletion, archiving and destruction.sap official, btp, SAP Data Privacy IntegrationSAP Data Privacy IntegrationA reuse service whose APIs an application calls for its data privacy duties: retention rules and deletion at the end of purpose, reports of the personal data held, and anonymisation of unstructured data.sap official, btp and SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp. Only the first is described, as a service running in the Cloud Foundry environment that finds data subjects across one or more applications and services, makes requests on an individual's behalf about their personal information and forwards them for handling, and notifies individuals which of their personal information is being used or sends them a copy of their record by email; the CAP-side annotations and PDM's own application features follow in Part 2#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 2Walks through wiring a CAP service to SAP's Personal Data Manager (PDM) on BTP: entity, key and field-level @PersonalData annotations that mark data subjects and personal fields, the @PersonalData.IsPotentiallyPersonal / IsPotentiallySensitive distinction that drives audit logging, and the @Communication.Contact annotation PDM needs to search for a data subject. Covers the xsuaa trust arrangement and service binding that let the standalone PDM application call back into the CAP service to read and manage that data. Second of a three-part series; the annotation model it demonstrates is CAP's own mechanism for data privacy compliance, exercised against a sample 'Game Shop' application.Ajit_K_Panda, published 2023-03-18 and Part 3#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 3Third of a three-part series, this covers the UI side of SAP's Personal Data Manager (PDM) once it is subscribed and wired to a CAP application: a Customer Service Representative searches for a data subject, views the personal data the application's annotations expose, and requests correction, deletion or export on their behalf, while an Operators Clerk processes those requests through to completion. PDM stores none of the personal data itself, only the requests and access logs, which an administrator downloads through the separate Data Transport app. It builds on the annotation model the first two parts introduce, so what it demonstrates is PDM's own delivered UI rather than anything a CAP application must build itself.Ajit_K_Panda, published 2023-03-18.
Data privacycore coverage revisedcapire audit 2026-09-27, judgement pages read a fifth time: the description says data privacy is doing what the law requires, and the security index's table calls data privacy a legal concept and data protection a suite of security measures; the row is quotable as written.
Show 7 more
Data privacyecosystems, coverage by ecosystem, framing by ecosystem revisedOn BTP the concern is a set of APIs and apps an application connects to, which differs from the CAP framing of annotations on a model and the ABAP framing of anonymising non-production copies.
Data privacyecosystems revisedWidened to ABAP: vlutsas/DST anonymises PII and PHI irreversibly in non-production SAP systems, from a template the user maintains.
#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 2publishedWalks through wiring a CAP service to SAP's Personal Data Manager (PDM) on BTP: entity, key and field-level
@PersonalData annotations that mark data subjects and personal fields, the @PersonalData.IsPotentiallyPersonal / IsPotentiallySensitive distinction that drives audit logging, and the @Communication.Contact annotation PDM needs to search for a data subject. Covers the xsuaa trust arrangement and service binding that let the standalone PDM application call back into the CAP service to read and manage that data. Second of a three-part series; the annotation model it demonstrates is CAP's own mechanism for data privacy compliance, exercised against a sample 'Game Shop' application.#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 3publishedThird of a three-part series, this covers the UI side of SAP's Personal Data Manager (PDM) once it is subscribed and wired to a CAP application: a Customer Service Representative searches for a data subject, views the personal data the application's annotations expose, and requests correction, deletion or export on their behalf, while an Operators Clerk processes those requests through to completion. PDM stores none of the personal data itself, only the requests and access logs, which an administrator downloads through the separate Data Transport app. It builds on the annotation model the first two parts introduce, so what it demonstrates is PDM's own delivered UI rather than anything a CAP application must build itself.
@cap-js/data-privacydescription 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.
Data privacycore 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.
@cap-js/data-privacyadded to the atlasCAP integration with SAP Data Privacy Integration
Input validationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact carries a provides edge to this capability for the UI5 door, because openui5-validator provides ui5-data-binding. The state follows the edges, and the core stays present through the block's sourced what_core_does.
CAPVAL: A project is bornpublishedThis second CAPVAL post announces CAPVALcapvalReplaces the message a failed input validation annotation returns, and adds @validation.handler, which names a class that runs a check of the developer's own.independent, cap version 2.0, made compatible with CAP v8 after breaking changes there, with the fix shown as a custom
cds.middlewares.after error handler. It restates the plugin's @validation.message annotation alongside standard annotations such as @mandatory as the input validationInput validationRejecting bad input before it reaches the database. While this can be done manually inside a handler, there are solutions in place to derive type, range, enum and mandatory checks from the model definitions.SAP and community, unassessed mechanic the project builds on, and the release otherwise adds automated tests and release-automation GitHub Actions rather than new annotations.Input validationecosystems revisedopenui5-validator was staged in intake-20261019-bestofui5 under ui5-data-binding because this capability was not open on the UI5 door. The UI5 reading comes from the OpenUI5 pages on data types and validation messages.
[Part - 1] Enrich CAP based Services with Behaviors using Annotationsexplains 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).
Show 17 more
#CAP-TechBytes Input Validationexplains 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).
Extend SAP Cloud Application Programming Model(CAP) Validations with the CAPVAL Pluginexplains 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).
Learn how to define constraints declaratively in your CDS 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).
[Part - 1] Enrich CAP based Services with Behaviors using AnnotationspublishedWalks through CDS annotations that add behaviour beyond CRUD: @readonly and @insertonly take away write, update or delete on an entity or element, each shown with the OData metadata it generates. @mandatory, @assert.unique, @assert.integrity, @assert.format and @assert.range then enforce input checks that @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap runs on write, with the SQL or HANA constraint @assert.unique compiles to and the error code each rejection returns. It names @restrict and @requires but defers them, calling authorization too large a topic for this post.
Input validationchanged in, core coverage revisedcapire audit 2026-09-27, proposed pages read a third time: the boundary said the check past the constraints is a before handler of the developer's own, and the two pages that document that handler were cited nowhere; the Node.js page states the order the boundary implies, declarative first.
capvaladded to the atlasCustom messages and handler classes for CAP input validation
Extend SAP Cloud Application Programming Model(CAP) Validations with the CAPVAL Pluginexplains, summary, authors revisedThe actor entered with the artifact. The post says "I have written a plugin called CAPVAL" and sends the reader to GitHub, where the repository is MertSAP/CAPVAL, and npm lists mertsap as the maintainer of capval.
Input validationcore coverage revisedThree independent CAP artifacts carry a provides edge to this capability: sap-cap-validator-plugin (entered 2026-09-18), cds-validate and cap-toolkit (both 2026-09-07). The state said only the core was present. relationship is unassessed: no retrieved document gives the history between them and the core.
sap-cap-validator-pluginadded to the atlasCAP plugin validating input against @Validator JSON Schema rules
Input validationecosystems revisedabap-data-validator checks dates, times, e-mail addresses, GUIDs and other types from ABAP code, alone or against a table of rules, and abapDomCheck checks a structure against its domains' fixed values. Both are for data that never passes a screen.
#CAP-TechBytes Input ValidationpublishedThe annotations one at a time — @mandatory, @assert.unique, @assert.range including the enum form, @assert.format — each with what it produces. Ends on error handling, which is the part that decides whether any of it is usable from a UI.
Extend SAP Cloud Application Programming Model(CAP) Validations with the CAPVAL PluginpublishedThe complaint first: the built-in annotations are good for data integrity and poor at telling the user what went wrong, and there is no way to reuse a rule. capvalcapvalReplaces the message a failed input validation annotation returns, and adds @validation.handler, which names a class that runs a check of the developer's own.independent, cap, the plugin the post announces, adds
@validation.message alongside the standard annotations rather than replacing them, and @validation.handler for a check written as a class. Published in January 2024, before the 1.2.0 line the README now pairs with @sap/cds 8.0.0 and above; the two annotations it shows are the two the README still documents.Learn how to define constraints declaratively in your CDS modelpublishedConstraints expressed in the model rather than checked in a handler — the distinction the atlas draws between input validation the framework enforces and validation somebody writes.
cap-toolkitadded to the atlasUtility bundle for CAP handlers: builder, roles, validation, queries
cds-validateadded to the atlasZod schemas as CAP validation middleware
Input validationcore 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.
Input validationthe core changed in @sap/cds 8.5.0Advice that @assert.range cannot express 'strictly positive' or an unbounded side, and the before handlers written for that.
Malware scanningcoverage by ecosystem revisedOnly SAP Malware Scanning serviceSAP Malware Scanning serviceScans an uploaded file over a REST call, with ClamAV behind it — the check an attachments plugin runs before a file is served back.sap official, btp provides this capability, and its own ecosystem is btp, not cap — it serves CAP rather than being one of CAP's own providers. With no own CAP provider, CAP's map borrows the BTP reading rather than asserting a separate community answer.
SAP Malware Scanning serviceadded to the atlasScans uploaded files over REST with ClamAV
Rate limitingcore coverage revisedReassessed against the graph (check:capabilities): API Management, an SAP-official service on the BTP door, lists CAP in serves_ecosystems and provides this capability, so the core is present for CAP beside the in-process community plugins. The relationship stays unassessed for lack of documentary evidence on the history.
cds-rate-limitlifecycle 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.
🔴 Your Agent Wants to Call SAP. Now What?publishedDevtoberfest 2026 session INT-23, on what belongs between an agent and an SAP system. A solution advisor and an enterprise architect point Joule Desktop extensions at MCP servers built on API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp inside SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp, and ask it for business partners, orders and line items from an S/4HANA demo system; asked for the ten largest customers it answers from a sample of 200 orders rather than reading the whole table. They then open the API proxy behind it, where a spike arrest policy caps the backend at ten calls per second and the MCP server is configured to expose only the GET resources of the business-partner API so that an agent cannot create one, which is where the edges to Serve your application over MCPServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design and Rate limitingRate limitingCapping how many requests a service will accept per tenant or per caller, so one consumer cannot exhaust a shared deployment, whether enforced by a policy in front of the application or inside its own process.SAP and community, unassessed hold. For totals across all sales orders they send the agent to SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp instead of the transactional system, since it aggregates and is read-only, and back through Integration Suite for writes such as journal entries.
MCP Gateway in Practice: Architecture, configuration, and hands-onpublishedA Devtoberfest 2026 integration-track session (INT-21) on the MCP gateway of SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp: curated enterprise APIs served to agents as MCP tools over JSON-RPC, behind the authentication, authorization and traffic policies an API artifact already carries, with the existing API layer left in place. The hands-on half composes S/4HANA plant, material-stock and supplier data with a non-SAP location-risk source into one business data graph, downloads its OpenAPI specification, creates an MCP server artifact with tools, prompts and a surge-protection policy over that endpoint, and publishes it as a product in Developer Hub of API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp, where an agent developer subscribes and gets OAuth credentials. An MCP client then asks for 15 brake pads and ranks plants by stock, location risk and distance from Walldorf, which is what the agent access to your systemsAgent access to your systemsGiving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. Serving your application over MCP exposes your own service contract; system access reaches the systems behind it, and one implementation may do both. Development assistance belongs to agent access to your code.SAP and community, narrow by design edge rests on; the Q&A covers principal propagation to the backend, how errors reach the model, and which Integration Suite editions carry the gateway.
Show 12 more
Powering Enterprise-Ready Agentic AI with SAP Integration SuitepublishedA Devtoberfest 2026 session (INT-31) from SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp product management on the MCP gateway. The demo creates an MCP server in a design package from an API already deployed on the tenant, exposes two of its 300-odd resources as tools, attaches authentication and quota policies on a policies tab, and publishes the deployed endpoint as an AI product in Developer Hub of API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp, where an agent subscribes and receives a token, URL, key and secret; the calls then show up in monitoring, in message processing logs and in the analytics dashboard, which is the MCP exposureServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design and the tool governanceTool governanceControlling what an agent may call, with which authorisations, and leaving an audit trail of what it did. The authorisation question that MCP exposure raises but does not answer.SAP and community, unassessed the edges rest on. Three AI features inside Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp follow: a content migration agent that converts a PI/PO Java mapping into a Groovy script and generates a second integration flow for its lookup, memory profiling during a flow simulation, and root-cause analysis on a failed message processing log.
API Composition: Seamless Enterprise Data Access for Developers and AI Agentsexplains 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).
SAP PI Migration to BTP Integration Suite Patterns and learning experiencespublishedWalks through the integration patterns an SAP PI migration project moved onto SAP Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp iFlows — API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp proxies fronting calls into on-premise SAP systems over XI/SOAP via Cloud Connector, SFTP transfers, and eventing routes — and the operational lessons from running it: sizing JMS queues, choosing exactly-once JMS queues over Cloud Integration's Data Store for XI receiver adapters and at-least-once JMS for XI sender adapters, and workarounds for gaps in the migration tooling. The API Management proxies handle JWT validation against a non-SAP identity provider, IP filtering and OData-to-OpenAPI conversion in front of the iFlows.
API Managementprovides[mcp-servers], provides, description revisedIndependent source review supports prompts guiding agent interaction rather than templates; retains both sourced tool-count limits as an explicit MCP-specific discrepancy.
Road map for SAP Integration Suite: What ships next across all capabilitiespublishedSAP's road map for SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp across its capability areas: API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp, event-driven integration, business process and trading partner integration, and hybrid runtimes for SAP and third-party systems. The abstract promises recent deliveries and the planned innovations that make the platform agent-ready within SAP Business AI Platform; it names the areas and no shipping item, so the edges rest on the product and the one area it names by a product name. A TechEd 2026 session (Thursday 29 October, Berlin; also IN804V, virtual), written here from SAP's abstract; the recording is not yet published.
API Composition: Seamless Enterprise Data Access for Developers and AI AgentspublishedAPI CompositionAPI CompositionOne API over the business data in a landscape: a business data graph queried with OData V4 or GraphQL, instead of each source system's own API.sap official, btp (formerly Graph, a capability of API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp) curates business data graphs from existing SAP and non-SAP API providers, so a query can navigate and expand relationships across systems through one composed API rather than hand-written integration code. Palak walks through combining SAP S/4HANA warehouse-stock data with Everstream Analytics risk data into one API, then exposing that composed API as an MCP server so an AI agent calls it with the same semantic context — the scenario behind API Management's MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design coverage.
Graph on Integration Suite: Simplifying Multi-API Data Retrieval with Unified Business Data GraphpublishedA hands-on walkthrough of Graph, the API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp feature of SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp also called Business Data Graphs, which exposes several OData APIs as one connected data model behind a single OData V4 or GraphQL endpoint. It covers enabling the capability and its Graph.KeyUser and GraphNavigator.Viewer role collections, creating BTP destinations and a service key for an S/4HANA system, then building a Business Data Graph over the Sales Order and Business Partner APIs so a mirrored SoldToParty association returns both in one call, in place of the two OData requests a Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp Content Enricher would otherwise merge.
Information Map – Introduction Series: Graph in SAP Integration SuitepublishedIntroduces Graph, an enhancement to API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp within SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp that gives developers a single API onto an organisation's business systems, modelled as one semantically connected business data graph, later renamed API Composition. Splits the work between an administrator, who enables SAP BTP destinations to the backend systems and builds the business data graph, and a developer, who explores it in the Graph Navigator tool and builds an application against the resulting Graph API.
API Managementadded to the atlasAPI proxies with security and traffic policies and Developer Hub
API Managementprovides revisedMoved here from SAP Integration Suite. SAP files MCP Server under API Management in its documentation, and every creation path read lists the activated API Management capability as a prerequisite.
cds-rate-limitlinks 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.
cds-rate-limitadded to the atlasRate-limit pattern for CAP Node.js applications
Secrets rotationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): SAP Credential Store is sap-official and lists cap in serves_ecosystems, so SAP is present for CAP.
Secrets rotationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Secrets rotationecosystems revisedIts only provider is the BTP Credential Store, which serves CAP, so BTP is the door whose own answer this is (docs/DOORS.md D9.3). The BTP reading becomes the core reading; the CAP assessment moves to coverage_by_ecosystem.cap unchanged.
SAP Credential Storeadded to the atlasVault for an application's passwords, keys and keyrings
audit-summaryadded to the atlasGroups npm audit findings by root dependency, with failing thresholds
Vulnerability scanningecosystems, description revisedPublic feedback issue #10. CAP and UI5 coverage assessed as unmapped: no atlas artifact provides the dependency-tree check there yet.
git-env-branchesadded to the atlasShows which feature branches reached which environment branch
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.
Change promotiondescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.
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.
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.
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@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 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@cap-js/aiOut-of-the-box value-help recommendations powered by SAP RPT-1, SAP AI Core as a standard CAP service, and an experimental local embedding model behind SQLite's vector functions.sap official, cap is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP serverServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design that a second Claude session queries through @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, 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.
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).
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).
Show 43 more
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.
Everything new: Try out the latest features in CAPpublishedCAP (@sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap) gains the features this hands-on session works through: declarative constraints, which is the input validationInput validationRejecting bad input before it reaches the database. While this can be done manually inside a handler, there are solutions in place to derive type, range, enum and mandatory checks from the model definitions.SAP and community, unassessed concern, status flowsStatus flowsDeclaring in the model which status transitions an entity may make, so the runtime rejects a transition nobody declared and sets the status itself when the bound action runs, instead of a check written by hand in every handler. Not input validation: that checks a value, this checks a transition. Not workflow integration: that drives an external engine, and this stays inside the model.SAP only as status transition flows, a cds REPL, extensibility through @sap/cds-oyster@sap/cds-oysterRuns tenant-specific extension code inside a WebAssembly sandbox, so a SaaS application can accept custom logic from a customer without running it unguarded.sap official, cap, 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 HutzelDaniel Hutzelgave 3 talks, contributed to 32 entriessap official, Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official, Marc Huber and Tim Back, written here from SAP's abstract; the recording is not yet published.
@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.
Configurationcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: a page this capability owns was cited nowhere.
@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.
@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.
@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.
com.sap.cds:cds-feature-cloudfoundryadded to the atlasReads bound service credentials on SAP BTP, Cloud Foundry for CAP Java
com.sap.cds:cds-feature-k8sadded to the atlasReads SAP BTP Operator service bindings on Kyma for CAP Java
com.sap.cds:cds-services-bomadded to the atlasMaven bill of materials pinning CAP Java module versions
Getting started with cds.ql in NodeJS for CAP - 101 on how to query datapublishedWalks through cds.ql, the query API @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 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.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.
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.
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.
@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.
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.
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.
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.
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.
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.
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.
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.
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.
What's new in SAP Cloud Application Programming Model – November 2025publishedThe November edition, led by the Status Transition Flows feature presented at reCAP 2025.
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.
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.
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 HahnIwona Hahncontributed to 7 entries — 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.
@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.
@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.@sap/cdsadded to the atlasCAP Node.js runtime
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.
@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.
@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.
@sap/cdsreleased 10.0.0Setup notes that run CAP on Node.js 20.
@sap/cdsreleased 10.0.0Handlers that read Decimal or Int64 values as numbers.
@sap/cdsreleased 10.0.0Code that calls
cds.compile.to.hdbcds().@sap/cdsreleased 9.7.0Setup notes that add
express to a CAP project because @sap/cds lists it as a peer dependency.@sap/cdsreleased 9.3.0Handlers that read the token through
req.user.tokenInfo or cds.context.http.req.authInfo.@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.@sap/cdsreleased 9.0.0Clients that create a record with PATCH.
@sap/cdsreleased 9.0.0Setups that set
cds.features.odata_new_adapter=false.@sap/cdsreleased 9.0.0Setups that still use
@sap/cds-hana or sqlite3 as the database service.@sap/cdsreleased 9.0.0
cds.test requires @cap-js/cds-test@cap-js/cds-testTest support for CAP Node.js, installed as a dev dependency: it starts the project's server for the test, hands the test an HTTP client bound to it, and carries the assertions.sap official, cap to be installed.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.
🚀 秒速で学ぶ 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 RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp: 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 editionSAP Build Work Zone, standard editionA role-based business site on BTP that puts SAP, custom-built and third-party applications and extensions, cloud and on premise, behind one point of access.sap official, btp through Channel Manager's content sync, Content Explorer and a new Site Directory site.
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).
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).
Show 50 more
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).
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).
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).
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).
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).
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).
Deploymentdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
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).
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).
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).
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).
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).
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).
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).
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).
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).
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).
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).
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).
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).
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 ServiceSAP Content Agent ServiceA BTP service that assembles content from other BTP services into an MTAR with its dependencies, then downloads it, exports it to a transport queue or imports it into another subaccount.sap official, btp, tested in SAP Cloud Transport ManagementSAP Cloud Transport ManagementMoves software deliverables between SAP BTP accounts along a modelled landscape of transport nodes and routes: Multitarget Application archives, and application-specific content such as SAP Cloud Integration iFlows.sap official, btp, its failure is raised by SAP Alert Notification service for SAP BTPSAP Alert Notification service for SAP BTPA BTP service with one API for publishing alerts and subscribing to them: built-in events about BTP resources and an application's own, delivered to a communication channel or monitoring tool.sap official, btp and remediated by a SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp agent with SAP Automation PilotSAP Automation PilotA BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event.sap official, btp, and SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp keeps the history for root-cause analysis. The chain from alert to remediation is the operations automationOperations automationActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling.SAP only 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 SandfuchsThorsten Sandfuchsgave 3 talks, contributed to 3 entries, written here from SAP's abstract; the recording is not yet published.
Deploymentcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.
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 runtimeSAP BTP, Kyma runtimeA fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions.sap official, btp 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 deploymentDeploymentGetting an application onto a runtime and keeping it there: build descriptors, deployment topology, service bindings and lifecycle operations. The target runtime determines how the application is packaged and configured.SAP and community, narrow by design still covers for Kyma.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.
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.
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.
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.
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.
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.
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.
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.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.
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.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.
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.
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.
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.
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.
@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.
@rizing/cds-customer-stepbystep-tooladded to the atlasTool completing a CAP project's deployment configuration
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.
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.
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.
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.
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.
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.
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.
@cap-js/cap-operator-pluginadded to the atlasGenerates Helm charts for the CAP Operator on Kubernetes
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.
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.Deployment and operatordescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
@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.
@sap_oss/vscode-mta-toolsadded to the atlasVS Code Multi-Target Application tools
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 ExtensibilityExtensibilityLetting a customer change delivered behaviour without modifying it — key-user fields and logic, developer extensions, and the released extension points that make either safe across an upgrade.SAP and community, unassessed, the concern, and to SAP Build CodeSAP Build CodeSAP's development environment on BTP for SAPUI5, SAP Fiori, mobile and CAP applications that run on the SAP BTP, Cloud Foundry Runtime, in which Joule generates models, services, logic, tests and apps.sap official, btp, 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.
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.
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).
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).
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.
Show 10 more
Streamline User Targeting with Segments in SAP Feature FlagspublishedWalks through segments in the SAP Feature Flags serviceSAP Feature Flags serviceBoolean and string flags toggled in a dashboard and read by an application at runtime over a binding, with a cache in the client so a flip does not need a deploy or a round-trip per check.sap official, btp: 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.
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.
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 toggleFeature togglesTurning behaviour on and off per tenant or per user at runtime, without redeploying, and knowing which toggles are live. System-level switches for delivered objects and runtime flags for unfinished features share the name.SAP and community, narrow by design library giving Node.js CAP apps live-updatable toggles backed by Redis, a new pluggable databaseDatabase connectorsConnecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to schema evolution.SAP and community, narrow by design layer with SQLite and PostgreSQL implementations plus a generic SQL layer, and a change trackingChange trackingKeeping a readable history of what changed on a record, who changed it and when — as business history rather than database journalling.SAP and community, unassessed component that builds a change history for data from CDS models.
SAP Feature Flags serviceadded to the atlasBoolean and string flags read by applications at runtime
cds-feature-toggleadded to the atlasFeature-toggle pattern for CAP CDS
@cap-js-community/feature-toggle-libraryadded to the atlasLive-updatable feature toggles for CAP, backed by Redis
@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.@cap-js-community/feature-toggle-libraryreleased 1.3.2Setup notes that run the library on Node.js 18.
@cap-js-community/feature-toggle-libraryreleased 0.6.1Code that reads toggle metadata with
getFeatureConfig or getFeatureConfigs.@cap-js-community/feature-toggle-libraryreleased 0.5.6Feature configuration files that set
enabled on a toggle.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.
#BTP #SAPCAP: Quirky Nuggets (N05-N06)publishedOn SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp, 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 PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. 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.
Health checksdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Health checkscore coverage revisedP1 backfill 2026-09-27: the paragraph and the runtime edge now rest on a page in common.
Show 1 more
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.
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 serviceSAP Job Scheduling serviceCalls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive.sap official, btp: 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.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).
Automate Recurring Data Updates in SAP HANA CloudpublishedA walkthrough for marking inventory rows stale after 30 days using SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp'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 SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp's Timer Event, the SAP Job Scheduling serviceSAP Job Scheduling serviceCalls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive.sap official, btp, SAP Automation PilotSAP Automation PilotA BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event.sap official, btp for infrastructure commands, and a custom approach for triggering scheduled REST calls from an application.SAP BTP Cloud foundry Job Scheduling for CAP based projectpublishedWalks through binding the SAP Job Scheduling serviceSAP Job Scheduling serviceCalls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive.sap official, btp'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.
Show 6 more
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 serviceSAP Job Scheduling serviceCalls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive.sap official, btp's REST API from its OpenAPIOpenAPIHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.SAP and community, narrow by design 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.
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.
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.
SAP Job Scheduling serviceadded to the atlasCalls an application endpoint on a schedule and logs each run
Job schedulingthe core changed in CAP Java 5.0.0Advice that CAP Java has no scheduling of its own.
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.
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.
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.
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.
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.
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).
Loggingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.
Show 12 more
@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.
@cap-js/audit-loggingconnects revisedThe plugin required the Audit Log service and said nothing of what passes between them.
From Application Logging to Cloud Logging: Service Innovation GuidepublishedSAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp replaces SAP Application Logging serviceSAP Application Logging service for SAP BTPCollects an application's log lines from Cloud Foundry or Kyma into a searchable Kibana, for the retention the plan sets.sap official, btp, 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 loggingLoggingSeeing what a running service did, in a form something can read afterwards — levels, a formatter that suits a laptop and one that suits a log service.SAP only 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.
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.
@cap-js/audit-loggingreleased 1.3.0Setup notes that add the plugin to a CAP 8 project.
SAP Application Logging service for SAP BTPadded to the atlasCollects Cloud Foundry or Kyma logs into a searchable Kibana
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.
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.
@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.
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.
@cap-js/audit-loggingadded to the atlasCAP integration with the SAP Audit Log service
@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.Custom Business Logic Extensibility in CAP (CDS-Oyster)publishedA Devtoberfest 2026 session walking @sap/cds-oyster@sap/cds-oysterRuns tenant-specific extension code inside a WebAssembly sandbox, so a SaaS application can accept custom logic from a customer without running it unguarded.sap official, cap — at version 0.55, with 1.0 stated for Q4 — end to end on a multitenant xtravelsxtravelsA travel-booking application built on the master data that xflights publishes, composing another package's schema into its own rather than owning master data itself.sap official, cap, 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@cap-js/cds-typerGenerates TypeScript types from a CDS model.sap official, cap added so the UI and code completion work, debugs the handler locally and pushes it as an @sap/cds-mtxs@sap/cds-mtxsMultitenancy, tenant provisioning and model extensibility for CAP.sap official, cap 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 extensibilityTenant extensibilityLetting a customer extend the model of a running SaaS application with extra fields and entities per tenant, without forking the application, as distinct from extending the application's code for every customer at once.SAP and community, unassessed extended from fields to logic.
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).
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).
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).
Show 45 more
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).
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).
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).
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).
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).
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).
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).
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).
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).
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).
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).
Multitenancycore coverage revisedP1 backfill 2026-09-27: the paragraph and the runtime edge now rest on a page in common.
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.
com.sap.cds:cds-feature-mtadded to the atlasMultitenancy for CAP Java: tenant lifecycle and per-tenant containers
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.
SAP Software-as-a-Service Provisioning serviceadded to the atlasRegisters a multitenant application for subaccount subscriptions
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.
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.
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.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.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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
@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.
Multitenant SaaS Application using CAPpublishedSAP's reference architecture for a multitenant SaaS application on BTP built with CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, 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 multitenancyMultitenancyServing many tenants from one deployment — onboarding, tenant-isolated data, per-tenant schema deployment and the operational tooling around it. It is decided once, before anything is built, and narrows the artifacts in almost every capability downstream: most sharply in caching and anything else holding state in process.SAP and community, narrow by design takes on BTP.
@sap/cds-oysteradded to the atlasWebAssembly sandbox for tenant-specific extension code in CAP
@cap-js-community/mtx-tooladded to the atlasCLI for operating tenants of multitenant CAP applications
@sap/cds-mtxsadded to the atlasMultitenancy, tenant provisioning and extensibility for CAP
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.
@sap/cds-oysterreleased 0.5.1Configuration that sets
runtime to oyster, or that relies on extension-allowlist to gate code extensions.@sap/cds-oysterreleased 0.2.0Extension examples that call
this.action() or register a before-READ handler.@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.@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.
@sap/cds-mtxsreleased 2.0.1Multitenancy setups that keep
@sap/instance-manager in the project as the way @sap/cds-mtxs creates tenant containers.@cap-js-community/mtx-toolreleased 0.8.0A service token fetched with
uaas --uaa-service.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.
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.
@cap-js-community/mtx-toolreleased 0.6.0Command lines from earlier guides that call
uaap or uaas with their pre-0.6.0 meaning.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.
Platform migrationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.btp. Maintainer-requested scope audit.
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).
Product Updates for SAP Build Code – June 2025 EditionpublishedThe Q2-2025 release of SAP Build CodeSAP Build CodeSAP's development environment on BTP for SAPUI5, SAP Fiori, mobile and CAP applications that run on the SAP BTP, Cloud Foundry Runtime, in which Joule generates models, services, logic, tests and apps.sap official, btp 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 CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, 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.
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.
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.
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).
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).
Show 26 more
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).
@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.
@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.
@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.
@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.
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.
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.
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.
Telemetrycore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.
Kyma Integration with SAP Cloud Logging. Part 2: Let's ship some tracespublishedWalks through shipping traces from SAP BTP, Kyma runtimeSAP BTP, Kyma runtimeA fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions.sap official, btp to SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp: 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@cap-js/telemetryAutomatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint.sap official, cap, naming the npm packages to add, and covers Cloud Native Buildpacks and manual Istio header propagation for services outside CAP.
@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.
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@cap-js/telemetryAutomatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint.sap official, cap'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 LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp's Discover and Visualize screens, building a custom visualisation from the exported metrics data.
@sanjay-sde/cap-js-log-controladded to the atlasCAP plugin controlling CDS logger and OpenTelemetry log verbosity
@sap-ux/telemetryadded to the atlasLibrary for sending usage telemetry data
cap-mcp-guardadded to the atlasPolicy enforcement and field masking for MCP-enabled CAP apps
opentelemetry-cdsadded to the atlasOpenTelemetry support for the CDS Node.js runtime
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.
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@cap-js/telemetryAutomatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint.sap official, cap's automatic instrumentation does not reach on its own.
@cap-js-community/business-metricsadded to the atlasBusiness-level metrics from CDS annotations via @cap-js/telemetry
@cap-js/telemetryadded to the atlasOpenTelemetry instrumentation for CAP services
cap-ui-telemetryadded to the atlasUI5 frontend performance and error capture for CAP
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.
@sap-ux/telemetryreleased 2.0.0Telemetry setups that pass only an instrumentation key for an Application Insights resource outside westus2.
@cap-js/telemetryreleased 2.0.0Setups that pair the plugin with CAP 8, or that install
@opentelemetry/host-metrics beside it.@sap-ux/telemetryreleased 1.0.0Examples and test setups written for the CommonJS build, such as a Jest configuration without ESM support.
@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.Tenant extensibilitycore coverage reviseddynamic-external-cds-joindynamic-external-cds-joinA CAP plugin for SaaS extension scenarios that joins external entities with internal tables at query time; its declared repository is not publicly reachable.independent, cap, an independent cds-plugin first seen on 2026-09-07, carries a provides edge to this capability on CAP beside @sap/cds-mtxs@sap/cds-mtxsMultitenancy, tenant provisioning and model extensibility for CAP.sap official, cap. 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.
dynamic-external-cds-joinadded to the atlasCAP plugin joining external entities with internal tables at query
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.
CI/CD pipelinesdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.btp. Maintainer-requested scope audit.
Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and Deliveryexplains 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).
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA 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).
cf-setupprovides revisedA GitHub Action runs in a pipeline; it is what ci-cd is about, and deployment is what the pipeline does with it. Filed under deployment before ci-cd reached the CAP door.
Show 5 more
CI/CD pipelinesecosystems revisedThe capire audit of 2026-09-27 proposed CI/CD as a CAP concern and found this capability already on the BTP door, where the service is. capire's Deploy using CI/CD Pipelines guide is the CAP door's own answer, cds add github-actions and the service's ready-made CAP pipeline; three content entries about CAP pipelines had been filed under deployment for want of the door. Added by the maintainer's decision.
SAP Continuous Integration and Deliveryadded to the atlasPredefined CI/CD pipelines for SAP development projects
Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and DeliverypublishedWiring a CAP project into SAP's hosted CI/CD service, which is the pipeline you get without assembling one.
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudpublishedA 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.cf-setupadded to the atlasGitHub Action setting up the Cloud Foundry CLI
Debuggingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): seven ABAP providers newer than the block were never named. State stays core-and-community.
debug a CAP app with UI5 TypeScript UI component with VS Codeexplains 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).
Debuggingcore coverage revisedPackage pass 2026-09-27: the paragraph named one of the four SAP packages and cited the plugins index only; cds debug and the Java developer dashboard were cited nowhere.
com.sap.cds:cds-feature-consoleadded to the atlasConnects a running CAP Java app to CAP console for monitoring
Show 11 more
com.sap.cds:cds-feature-consoleprovides revisedNew CAP Java provider discovered through the repository's README and its Maven coordinates. Facts describe the pinned source revision, not verified deployment compatibility.
@cap-js/data-inspectorreleased 2.0.0Instructions that open the inspector from the running CAP server, and an
mta.yaml that still names capjsdatainspectorapp or the old gen folder.Debuggingcoverage by flavor revisedAssessed for the ABAP Cloud flavor: SAP's own troubleshooting guidance for RAP apps places the ABAP Debugger inside ABAP Development Tools, and the only ABAP-door provider in the corpus, Smart Debugger, states standard-abap only and runs in the SAP GUI New Debugger, not ADT — so no provider states abap-cloud and the core is SAP's own.
Debuggingecosystems revisedWidened rather than forked: debugging an ABAP program is the same concern, so the node's description became the cross-ecosystem sentence, the CAP wording moved to framing_by_ecosystem.cap, and ABAP got its own framing and coverage. Done so Smart Debugger (staged in intake-20260913-ysichov) can provide it.
@saptools/cf-request-runneradded to the atlasEndpoint discovery for CAP services deployed to Cloud Foundry
@saptools/service-flowadded to the atlasStatic end-to-end tracer of one CAP operation across repositories
debug a CAP app with UI5 TypeScript UI component with VS CodepublishedDebugging 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.
sap-cap-debuggeradded to the atlasAttaches a debugger to a CAP app running on Cloud Foundry
@cap-js/consoleadded to the atlasConnects a running CAP application to the CAP console
@cap-js/data-inspectoradded to the atlasInspects database entities and contents at CAP service level
Debuggingcore 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.
Editor supportcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the providers behind the UI5 door are SAP's (UI5 Language Assistant, and SAP Build Code and SAP Web IDE Full-Stack, which serve ui5). The community SAPUI5 Extension is an entry in the graph but has no provides edge to this capability.
Editor supportecosystems revisedUI5 Language Assistant, SAP's VS Code extension for UI5 XML views and manifest.json, and the SAPUI5 Extension by iljapostnovs were staged in intake-20261019-bestofui5 with this concern as their best fit, and the capability was not open on the UI5 door. The UI5 reading comes from the UI5 Language Assistant README.
Add useful Extensions to Dev spaces in SAP Business Application Studioexplains 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).
AI-enabled administration: Automating log analysis with generative AI hubexplains 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).
Show 59 more
An introduction to CDS Graphical Modeler for SAP Business Application Studioexplains 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).
Creating new services using the CDS Graphical Modeler for SAP Business Application Studioexplains 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).
Creating structured types, enums and named aspects using the CDS Graphical Modelerexplains 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).
Develop CAP Project with Lazyvim in Dockerexplains 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).
Developing CAP applications in SAP Business Application Studioexplains 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).
Get familiar with your first CAPM project using CDS graphic modelerexplains 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).
Importing @sap/cds common.cds to your CAP project using the CDS Graphical Modelerexplains 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).
Making CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application Studioexplains 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).
Migrating Your CAP Applications from SAP Web IDE to SAP Business Application Studioexplains 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).
Running CAP Node Applications in SAP Business Application Studioexplains 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).
SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)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).
Storyboard for cloud business applications using CAP in SAP Business Application Studioexplains 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).
Streamlining CAP Development with CDS Graphical Modeler in SAP Business Application Studioexplains 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).
Tips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilitiesexplains 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).
AI-enabled administration: Automating log analysis with generative AI hubpublishedA log analysis tool for incident work, built in SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp with the generative AI hub feature, which SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp ships as its LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design by its own documentation: it automates root-cause analysis over system errors and masks sensitive data. SAP's abstract states the tool's jobs and not how the hub is called, what the masking covers or which model answers. A TechEd 2026 session (Wednesday 28 October, Berlin), with no speaker listed in the catalogue at the time of writing, written here from SAP's abstract; the recording is not yet published.
SAP Build Codeadded to the atlasDevelopment environment on BTP for UI5, Fiori, mobile and CAP
Editor supportecosystems, coverage by ecosystem, framing by ecosystem revisedOn BTP the editor is a hosted service rather than a language server or an Eclipse plugin, which is what the CAP and ABAP framings describe.
Editor supportecosystems revisedWidened to ABAP: Xexer/my-ide-actions adds IDE actions to ADT, and DevEpos/abap-tags-backend and DevEpos/abap-call-hierarchy are the ABAP backends of two Eclipse plugins. The description lost its CDS wording, which moved to framing_by_ecosystem.cap.
@sap/ux-cds-odata-language-server-extensionadded to the atlasOData annotation features for the @sap/vscode-cds extension
Add useful Extensions to Dev spaces in SAP Business Application StudiopublishedStarts from the point capire makes — that CAP is editor-agnostic and BAS is the preconfigured option — and then does the thing that undoes preconfiguration: adds two extensions to a dev space for initialising data in a CAP application, with the uninstall procedure as well as the install. The uninstall half is what makes it worth keeping.
An introduction to CDS Graphical Modeler for SAP Business Application StudiopublishedThe announcement of the graphical modeller, from the team that built it — what it draws, how to get a dev space that has it, and what it is for. The starting point for the two posts that follow it, and the record of when this became part of the editor rather than an idea.
Creating new services using the CDS Graphical Modeler for SAP Business Application StudiopublishedThe worked half of the introduction, published the same day: a service defined by drawing rather than by typing, projections included. Assumes the setup from the introduction and does not repeat it, so the two are one piece split in two.
Creating structured types, enums and named aspects using the CDS Graphical ModelerpublishedThe modelling constructs that are awkward to draw — structured types, enums, named aspects — done in the graphical modeller rather than in CDL.
Developing CAP applications in SAP Business Application StudiopublishedThe overview written at the point BAS replaced Web IDE, and it is structured as a comparison — each step of building a CAP application, with the difference from the Web IDE experience called out beside it. Useful now mostly for what it records: which parts of CAP development the editor took over, and when.
Get familiar with your first CAPM project using CDS graphic modelerpublishedThe modeller as an entry point rather than an aid — a first CAPM project built by drawing it, for the developer who has not yet internalised CDL, annotations and metadata.
Importing @sap/cds common.cds to your CAP project using the CDS Graphical ModelerpublishedPulling the common aspects and code lists from @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap into a model through the modeller, so the reuse types appear in the diagram rather than only in the file.
Making CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application StudiopublishedThe Storyboard from the other side — someone who came across it while learning the high-productivity tools, rather than someone who shipped it. It follows the whole arc a CAP project takes through the tool: entities, relationships, services, sample data, a UI, roles, and external resources, each as a thing the diagram can add rather than a file you open.
Migrating Your CAP Applications from SAP Web IDE to SAP Business Application StudiopublishedA migration checklist, and a reminder of how much of a CAP project used to be editor-specific: Web IDE configuration files to delete, a build to move to the Cloud MTA Build Tool, a CAP Java version to raise. Historical — Web IDE is gone — but it is the clearest list of what the tooling boundary used to include.
Running CAP Node Applications in SAP Business Application StudiopublishedThe Run Configurations tool, which is where binding and mocking live in BAS rather than in a terminal. Three things it does: several named configurations per application in a tree, dependencies bound to real service instances, and OData dependencies mocked. The author notes the configurations are standard launch entries underneath, which is the detail that lets you leave the tool behind if you want to.
Storyboard for cloud business applications using CAP in SAP Business Application StudiopublishedThe first release of the Storyboard, written by the team shipping it. Where the graphical modeller draws the data model, this draws the application: its logical components and the connections between them, alongside an application explorer enhanced in the same release. Short, and it reads as an announcement — the fuller account of using it is Aryan_Raj_Sinha's post two years later.
Streamlining CAP Development with CDS Graphical Modeler in SAP Business Application StudiopublishedThe case for the graphical modeller stated as a scale problem rather than a preference: a model held only as code gets hard to keep in your head once it is large, and the diagram is a second view of the same file. The most recent write-up of the tool here, and the one that treats it as an everyday working aid rather than as a new feature.
Tips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilitiespublishedFour settings, from somebody who works on the annotation language server. The premise is the interesting part: CAP's annotation syntax is looser than ABAP CDSABAP CDSThe modelling layer of ABAP Cloud — view entities, projections and annotations defined above database tables, delivered with the platform rather than installed.sap official, abap or EDMX — a record can be written with or without an explicit type — so the completion has to guess how verbose you want it, and this is where you tell it. Then filtering the completion list, reading the icons, ordering diagnostics by severity, and turning i18n problems on only when you want them.
@saptools/hana-lensadded to the atlasWorkspace-wide CSN cache for querying CAP entities and columns
Develop CAP Project with Lazyvim in DockerpublishedA Docker image running Lazyvim with language server support for CDS, TypeScript and JSON, so a CAP project can be developed with an editing experience comparable to VS Code without leaving the keyboard. Narrow by intent, and the useful general point underneath it is that CAP's editor support reaches anything that speaks LSP.
SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)publishedA working editor setup for CAP with TypeScript, listed extension by extension across the Node.js and UI5 halves. The kind of post that ages by attrition rather than by being wrong — the reasoning about what an editor needs to know about a CDS project outlives any particular extension in the list.
@sap/cds-lspadded to the atlasLanguage server for CDS
@sap/vscode-cdsadded to the atlasCDS language support for VS Code and Business Application Studio
cds-eclipse-pluginadded to the atlasEclipse plugin for the CDS language
cds-intellijadded to the atlasSAP CDS language support for IntelliJ IDEA
cds-textmate-grammaradded to the atlasTextMate grammar for the CDS language
zed-cds-extensionadded to the atlasCDS language support for the Zed editor
Editor supportcore 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.
@sap/vscode-cdsreleased 10.0.1The minimum Visual Studio Code version is 1.109.5.
@sap/vscode-cdsreleased 10.0.1Guides that use CAP notebooks in Visual Studio Code.
@sap/vscode-cdsreleased 10.0.1The where-used index is persisted by default, switched off with the user setting
cds.workspace.persistency.enabled.@sap/vscode-cdsreleased 10.0.1A CAP Project Explorer is added to the sidebar, which the user setting
cds.explorer.enabled can disable.@sap/cds-lspreleased 9.6.0Editor integrations that start the language server on a Node.js release older than 22.
@sap/vscode-cdsreleased 9.4.0The user setting for semantic highlighting of annotations is renamed
cds.contributions.features.semanticHighlighting; under its old name it could not be enabled. The temporary setting cds.workspace.fastDiagnosticsMode is removed.@sap/ux-cds-odata-language-server-extensionreleased 1.18.6CDS annotation examples that use the
$value syntax.@sap/ux-cds-odata-language-server-extensionreleased 1.18.6CDS annotation examples that use the
$value syntax.@sap/vscode-cdsreleased 9.0.1Settings that set
cds.useOldParser, and descriptions of the extension updating references when a CDS file is renamed.Editor supportthe core changed in @sap/cds-dk 8.8.0Advice that CDS editor completion and parse speed cannot improve without switching editors. The new parser was opt-in from this release (cds.compiler.useOldParser to stay on the old one) and became the default in cds9.
@sap/cds-lspreleased 7.4.0Editor integrations that start the language server on a Node.js release older than 18.15.0.
@sap/vscode-cdsreleased 7.4.0Settings that select one of the two removed validation modes.
@sap/vscode-cdsreleased 7.4.0Markdown formatting inside doc comments, previously on by default, is off by default.
@sap/cds-lspreleased 6.5.0Models that document definitions with
@cds.doc and expect the text on hover.@sap/vscode-cdsreleased 6.5.0Models that document definitions with
@cds.doc and expect the text on hover.@sap/cds-lspreleased 6.2.0Formatter settings that name
keepAnnotationsInOriginalLine.@sap/vscode-cdsreleased 6.2.0Formatter settings that name
keepAnnotationsInOriginalLine.My CAP Projects ToolboxpublishedA working inventory of daily CAP tooling: scaffolding a project with cds init and growing it facet by facet through cds add (TypeScript, seed data, an .http test file, a handler stub), then running it with cds watch and setting a breakpoint in a custom handler from SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp's JavaScript Debug Terminal. It also walks through an @open entity that accepts properties the model never declared, and reading temporal dataTemporal dataKeeping every version of a record that was valid for a period, and reading the one that held at a given moment — the assignment somebody had on the first of March, not the one they have now — without the application filtering time slices by hand.SAP only defined with CAP's temporal aspect, where a plain read returns only what is valid now and a custom handler is needed to retrieve every time slice.
Generatorscore coverage, coverage by ecosystem, framing by ecosystem revisedReassessed against the graph (check:capabilities): the atlas holds these entries, so the links point at them and not at their repositories (docs/WRITING.md section 4).
CAP Initializr: Generate SAP CAP Projects in Secondsexplains 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).
cf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutesexplains 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).
Show 39 more
Part 1: How to create CAPM project in BASexplains 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).
Prompt-Driven Development: Building Full-Stack SAP CAP Apps from User Storiesexplains 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).
加速开发和部署的CAP CDS和Fiori一些实用命令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).
@sap/cds-dkprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge named the hybrid profile without naming cds bind, and the capability's new comparison columns need the sourced answers here: the parts of the local stack this starts, that it binds cloud services, and that only the location of the credentials is stored on the machine, which is the difference against a helper that writes them into a file.
com.sap.cds:cds-maven-pluginprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge said the goal rebuilds and restarts and left out that whether it restarts or reloads depends on Spring Boot Devtools, and that on Windows it does not work without them, which is the difference a reader on this flavor meets first.
@sap-ux/createadded to the atlasCommand line for changing features of an existing Fiori project
@sap-ux/fe-fpm-writeradded to the atlasWriter of flexible programming model elements into Fiori elements apps
@sap-ux/odata-service-writeradded to the atlasWriter that adds an OData service to an existing UI5 project
com.sap.cds:cds-maven-pluginadded to the atlasMaven plugin running CDS build steps in a CAP Java project
com.sap.cds:cds-services-archetypeadded to the atlasMaven archetype generating a new CAP Java project
com.sap.cds:cds-maven-pluginprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
com.sap.cds:cds-services-archetypeprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
@sap-ux/cap-config-writeradded to the atlasWriter module for changing a CAP project's configuration from code
Joule in SAP Build Codeadded to the atlasJoule's generative AI inside SAP Build Code
Generatorsecosystems revisedAbapGenerator scaffolds ABAP objects from a template package. Thirteen UI5 Community repositories generate UI5 projects or add to one: Easy-UI5 and its npm init wrapper, generators for apps, libraries, controls and tooling extensions, and create-wdi5 and generator-ui5-wdi5, which add wdi5 to an existing app.
Generatorsname 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.
cf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutespublishedA generator from 2020 that goes further than scaffolding — an end-to-end application created and deployed to Cloud Foundry in one run. Predates most of what
cds add now does.Part 1: How to create CAPM project in BASpublishedThe claim in the opening is the interesting part — database, service and UI without switching technologies — and then the project that follows from it. Part one, and it stops at a project that runs.
Prompt-Driven Development: Building Full-Stack SAP CAP Apps from User StoriespublishedA user story in, a scaffolded full-stack CAP application out, through SAP Build Code and Joule. The question it is actually asking is how much of the foundational code is worth generating, and it answers by generating all of it.
加速开发和部署的CAP CDS和Fiori一些实用命令publishedIn 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.@sap-ux/fiori-generator-sharedartifact type, 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.
@sap/generator-cap-projectlinks, artifact type, 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.
@sap/generator-cdslinks, artifact type, 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.
@cap-handler/generatoradded to the atlasInteractive generator for CAP event handler files
@khalidmh/capxadded to the atlasInteractive project installer for CAP Node.js
@sap-ux/fiori-generator-sharedadded to the atlasShared functions and types of the Fiori generators
@sap/generator-cap-projectadded to the atlasCAP project generator behind SAP Business Application Studio's wizard
@sap/generator-cdsadded to the atlasCDS project generator, deprecated in favour of @sap/cds-dk
CAP Initializr: Generate SAP CAP Projects in SecondspublishedA hosted project generator for CAP in the shape of Spring Initializr — pick the structure, dependencies and configuration in a browser and download the result, rather than running cds init and then wiring the facets by hand. The post is an MVP announcement asking for feedback, and the tool lives at a Cloud Foundry trial URL rather than on npm, so it is a direction being tested in public rather than something to depend on.
@sap/cds-dkadded to the atlasCommand line client and development toolkit for CAP
Generatorsthe core changed in @sap/cds-dk 10.0.3Any generated-project walkthrough that shows require() and module.exports coming out of a bare cds init — on cds-dk 10.0.3 and later, a fresh Node.js project is ESM unless --add cjs was passed.
@sap/generator-cap-projectreleased 2.1.1Running the generator on Node.js 20.
@sap/generator-cdsreleased 3.0.0Support for Node.js 20 was dropped.
@sap-ux/cap-config-writerreleased 1.0.0Examples and test setups written for the CommonJS build, such as a Jest configuration without ESM support.
@sap-ux/fe-fpm-writerreleased 1.0.0Examples that load the package with
const ... = require('@sap-ux/fe-fpm-writer') from a CommonJS module, written against 0.x.@sap-ux/fiori-generator-sharedreleased 1.0.0Jest configurations for projects that test code importing
@sap-ux/fiori-generator-shared without the ESM settings the changelog gives (extensionsToTreatAsEsm, ts-jest with useESM).@sap-ux/odata-service-writerreleased 1.0.0Jest configurations, written for the CommonJS build, of projects that test code importing the package.
@sap/generator-cdsreleased 2.18.10Support for Node.js 18 was dropped.
Generatorsthe core changed in @sap/cds-dk 9.1.0Descriptions of cds add as covering only infrastructure facets and never touching test code. That was accurate before mid-2025; since then it does, though still experimental.
hana-linteradded to the atlasRegex naming rules for SAP HANA artifacts in a CAP project
Lintingcoverage by ecosystem revisedUI5 linter (@ui5/linter) and ui5plugin-linter were staged in intake-20261019-bestofui5 with provides edges here, so the note that the graph holds no UI5 linter no longer holds and a community linter is present. The UI5 linter README was read again on 2026-10-19.
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configurationexplains 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).
Lintingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Show 13 more
Lintingecosystems revisedui5con-2026-ui5-linter-workshop, a SAP-samples workshop in this batch, runs UI5 linter over a legacy UI5 app, which is this concern on the UI5 door. The UI5 reading comes from the UI5 linter README.
@cbs-consulting/cds-eslintlinks, artifact type, 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.
@cbs-consulting/toolslinks, artifact type, 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.
@sap-ux/eslint-plugin-fiori-toolsartifact type, 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.
@sap/eslint-plugin-cdslinks, artifact type, 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.
@cbs-consulting/cds-eslintadded to the atlasESLint plugin with one consultancy's rules for CDS files
@cbs-consulting/toolsadded to the atlasShared ESLint configuration for SAPUI5 and CAP projects
@sap-ux/eslint-plugin-fiori-toolsadded to the atlasESLint rules for projects the Fiori tools generators produce
@sap/eslint-plugin-cdsadded to the atlasSAP's ESLint plugin for CDS
eslint-plugin-better-cap-configadded to the atlasESLint rules flagging deprecated CAP configuration
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configurationpublishedThe author's own announcement, and precise about scope: today it catches deprecated key/value entries in CAP's JSON configuration, and the ambition is that it grows into best practices, suggestions and autofixes the way any ESLint plugin does. The implementation detail worth knowing is that it uses modern ESLint's JSON language support rather than a generic parser, which is what makes linting a configuration file rather than source code work at all.
@sap-ux/eslint-plugin-fiori-toolsreleased 9.0.0Setups that install
eslint-plugin-fiori-custom separately.@sap/eslint-plugin-cdsreleased 4.0.2Lint setups for CAP projects that pair @sap/eslint-plugin-cds 4 with ESLint 8.
Local developmentcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted providers and claimed an absence about who has built something, which goes stale as providers arrive.
Avoid design time CAP server restarts when maintaining local data filesexplains 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).
CAP with Local App Previews – Tips for Smooth Developmentexplains 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).
Create a Simple CAP Application and Explore the Defaultsexplains 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).
Show 40 more
Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application Studioexplains 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).
Develop SAP CAP apps inside a VS Code Docker Containerexplains 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).
Get an introduction to the cds REPLexplains 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).
How to fix npm error notarget @sap/hdi-deploy when you create a CAP app in BASexplains 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).
Remote Debugging of SAP CAPM App - Nodejsexplains 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).
SAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1explains 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).
Set up a self-contained development environment for CAP Node.jsexplains 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).
Set up VS Code on Chrome OS for local Application Programming Model developmentexplains 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).
Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdlesexplains 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).
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one goexplains 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).
@neoimpulse/cap-js-bootstrapprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The edge was a bare reference: the one capability this package answers carried no sentence and no source, which rule 10 does not allow. The package's own npm text names what it starts, cds watch per service and the router through cds bind --exec, and is quoted in its own language. Read through registry.npmjs.org because npmjs.com refuses the fetcher.
@sang2x/captoolsprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. Its own command description states that it writes the resolved VCAP_SERVICES into default-env.json, which is the documented difference against cds bind, where only the place the credentials can be fetched from is stored on the machine. Stated as a fact about the file, with the consequence for a project named in when_not_to_use rather than as a judgement on the tool.
dev-approuterprovides[capability:local-development] revisedcapability:local-development curation on 2026-10-15. The capability now compares its options by the part of the local stack each one starts, and this package's own description states the part. Nothing was entered for the two flags: the registry page carries no README, so whether it resolves a cloud binding itself is not stated anywhere read here.
Local developmentcore coverage, coverage by flavor, framing by flavor, facets revisedNine options answered this capability with nothing to compare them by, and they are not variants of one tool: the first question a reader has is which part of the local stack an option starts. The two flags separate the hybrid-testing helpers, where cds bind states that only the location of the credentials is stored on the machine and @sang2x/captools states that it writes the resolved VCAP_SERVICES into default-env.json.
SAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1publishedIntroduces SAP Cloud Application Programming Model@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap as an open, opinionated framework that shoulders OData plumbing and database-specific code so a domain is modelled once in CDS, then builds a small bookshop project to show it: @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, cap's
cds init scaffolds the project, cds watch serves it locally with live reload against an in-memory SQLiteSQLiteAn embedded SQL database engine used as a selectable local cache store by CAP caching plugins. database, and a CatalogService projects a CDS domain model seeded from CSV files. The result is read as an ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design service in the browser and exercised further through a Postman collection, with the optional @sap/vscode-cds@sap/vscode-cdsSAP CDS language support for Visual Studio Code and Business Application Studio, published as an npm library.sap official, cap extension noted for CDS syntax highlighting and completion in VS Code.Local developmentcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: a page this capability owns was cited nowhere.
com.sap.cds:cds-feature-dev-dashboardadded to the atlasBrowser dashboard for a running CAP Java service during development
com.sap.cds:cds-feature-dev-dashboardprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.
@sap/ams-devadded to the atlasCompiler from AMS DCL policies to DCN for local runs and tests
Local developmentecosystems revisedabapDevSysInit sets up a new ABAP Developer Edition or trial system from one report: the user profile, the GitHub certificates and destination, abapGit standalone, and the repositories to pull.
dev-approuteradded to the atlasDev-time wrapper for the SAP Application Router
Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdlespublishedThree hurdles in running a CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap application locally: services mocked with
cds run --with-mocks return no data across OData associations until the ON clause is hand-written into the imported CDS, an on-premise API reached through the SAP Cloud Connector times out because its proxy is part of destinations and connectivityDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed and reachable only from inside SAP BTP, and a Fiori frontend served from the HTML5 Application Repository needs the HTML5 Repo Mock to reach a local backend at all. It closes with the launch configurations the author uses for debuggingDebuggingSeeing what running code did between an input arriving and a result coming out: which code ran, what the values were at each point, and why a value ended up as it did.SAP and community, narrow by design cds watch locally and attaching to a running Cloud Foundry instance.@neoimpulse/cap-js-bootstraplinks revisedThe repository declared in package.json returns 404.
@neoimpulse/cap-js-bootstrapadded to the atlasCLI starting several CAP services and an AppRouter locally together
CAP with Local App Previews – Tips for Smooth DevelopmentpublishedUI5's virtual endpoints remove the sandbox files a local preview used to need, and this is what that means for a CAP project specifically. Tips from trying it rather than an announcement of it.
Create a Simple CAP Application and Explore the DefaultspublishedThe shortest way in: a project from the wizard, then a look at what CAP assumed on your behalf. The defaults are the subject rather than the application — which is the right first lesson in a framework whose whole argument is convention over configuration.
Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application StudiopublishedHybrid testing is documented for HANA; this is the same profile against a PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. instance on BTP, driven from a BAS dev space rather than a laptop. Proposed under editor support because of where it runs, but the subject is the binding: what
cds bind writes, and what has to be true of the service instance and the tunnel for a local process to reach it.Get an introduction to the cds REPLpublished
cds repl as a way to ask the running model questions directly, which is the fastest route from a suspicion about a query to knowing.How to fix npm error notarget @sap/hdi-deploy when you create a CAP app in BASpublishedA specific npm failure when creating a CAP app from a template, and the post now opens with its own July 2025 update saying the version has been published so this instance is gone. It stays useful because the cause — a dependency pointing at a version nobody published yet — recurs, and the unblocking steps are general.
Remote Debugging of SAP CAPM App - NodejspublishedDebugging a CAP Node.js application that is not on your machine, built up from
cds init and a custom action so there is something to breakpoint. The part people need is at the end; the beginning is there so the end is reproducible.Set up a self-contained development environment for CAP Node.jspublishedA CAP development environment that carries its own dependencies, so the machine it runs on stops being part of the setup.
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one gopublished
cds 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.vite-plugin-cdsadded to the atlasServes a Vite app through cds watch and imports .cds files
@sang2x/captoolsadded to the atlasCLI of CAP development tools for Cloud Foundry workflows
Avoid design time CAP server restarts when maintaining local data filespublishedcds watch restarting on every file change is the feature; this is the case where it is not. Editing a CSV seed file mid-edit restarts the server against half-finished data, and the post is about suppressing that without giving up the watch loop. A small friction most people work around silently rather than fix.
Develop SAP CAP apps inside a VS Code Docker ContainerpublishedA VS Code dev container configuration with everything a CAP project needs already in it, published as a repository rather than as instructions. The 2020 half of a pair whose other half, four years later, does the same for Lazyvim — the same author solving the same problem twice as his editor changed.
Set up VS Code on Chrome OS for local Application Programming Model developmentpublishedA CAP development environment on a Chromebook, written from preference rather than constraint — the author sets out why Chrome OS is his primary machine before showing the setup. Carries its own updates section noting what has changed since, which for a 2018 post about an operating system is most of it. The interest now is that local CAP development was portable this early.
Local developmentcore 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.
Local developmentthe core changed in @sap/cds-dk 7.9.1Advice that hybrid testing needs a dedicated service instance per org and space. True before mid-2024; a shared instance is enough since.
Local developmentthe core changed in @sap/cds-dk 6.5.0Guidance that hybrid testing only reaches managed BTP services. Since January 2023 a user-provided service binds the same way.
Model visualisationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): abapGraph and abap-search-tools-ui arrived after the ABAP block was last looked at and the text never named them. No state changed.
Model visualisationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
Model visualisationecosystems, description revisedThe description named only a CDS model and .cds files, which is false on the ABAP door added the same day. The ABAP half and 'source file' are the only change.
sap-cds-erdverdict withheld revisedWithheld verdicts retired with the rings. Nothing is recused from: facts about an entry are facts whoever maintains it, and a starting-point is answered by description.to_build_on_it.
Show 3 more
sap-cds-erdadded to the atlasAWK script sketching an ER diagram from .cds files
sap-cds-erduse as revisedFirst entered as an option with a when_not_to_use listing everything it is not, which framed a published sketch as a weak dependency. It was never offered as one. The facts are unchanged; they now sit under what taking it further would involve.
Model visualisationthe core changed in @sap/cds-dk 8.0.2Advice that a diagram needs an external script or a paid tool. It needs neither, for a class diagram.
DRY CAP – Making Sustainable Solutions Through PluginspublishedA Devtoberfest 2026 building-apps session on packaging the things you would otherwise write twice, from in-house API clients and shared data models to validation logic, as a CAP plugin. The presenter builds one live: a cds-plugin.js next to package.json is what makes CAP notice the plugin at all, an index.cds carries a reusable user context and service that the consuming application projects into its own and protects there, and the plugin registers an Express middleware at a chosen step of the bootstrap to put user properties on the request. A feature-flagging plugin his team already uses closes it, and the whole walkthrough is the edge to Plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only.
Plugin authoringdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
SAP AI Services - DOX - Gen AI with SAP CAP Plugin - Part 3explains 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).
AI needs a foundation: A map of the plug-in ecosystem for CAPpublishedA map of the plug-ins for CAP (@sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap), official, community and independent, drawn across regions such as integration, performance and tooling, so that a team can see what exists to reuse and what it would have to build: the question plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only answers from the other side. SAP's abstract places CAP at the centre of its AI strategy, with model context protocol support, and the map is offered as the foundation under that. A TechEd 2026 session (Tuesday 27 October, Community Theater, Berlin), presented by Mike ZaschkaMike Zaschkamaintains 6 entries, created 12 pieces, contributed to 9 entriesindependent, written here from SAP's abstract; the recording is not yet published.
Show 6 more
How to build reusable plugin components for CAP Java applicationspublishedA companion to Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official's Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30, showing the same mechanism on CAP Java: a plugin ships as its own Maven artifact with an event handler and a
CdsRuntimeConfiguration implementation, registered through the JDK's ServiceLoader rather than any CAP-specific wiring. The walkthrough builds a cds-emoji-plugin-java jar that decorates @emoji-annotated fields on read, installs it to the local Maven repository, and adds it as a runtime dependency to a cds init --add java bookshop application. It argues the plugin mechanism was not new to CAP Java, just previously undocumented.Plugin authoringcore coverage revisedcapire audit 2026-09-27, proposed pages read a fourth time: the paragraph names the cds add and cds build plugin APIs, and the design-time APIs index says which package they are and where they must not run.
SAP AI Services - DOX - Gen AI with SAP CAP Plugin - Part 3publishedBuilding on Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30 by Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official, this part walks through a custom CAP plugin — a
cds-plugin.js plus a lib_cap_dox.js helper — that authenticates against SAP's Document Information Extraction (DOX) service and calls its schema and job-status APIs to fill an entity from extracted document fields. It covers reading the service key from Cloud Foundry (cf service-key) for the OAuth token endpoint, and dynamically mapping DOX's header and line-item output onto CAP entity properties.Create your first CAP pluginpublishedA step-by-step guide to the cds-plugin.js extension point: scaffold a package, add an index.cds for shared model artifacts, and test it locally against a throwaway CAP project before publishing to npm, with a separate section on building the same plugin in TypeScript and compiling it with tsc. Points to the author's own cds-plugin-handlerscds-plugin-handlersA CAP plugin that structures handlers as one file per entity, in a folder per service, instead of one service implementation that keeps growing.independent, cap and ui5-cap-serverside-rendering-pluginui5-cap-serverside-rendering-pluginA CAP plugin that fills UI5 views and fragments with entity data on the server through Handlebars and streams them as XML, and renders a Vue app to HTML on a route of its own.independent, cap as worked examples.
Reusable components for CAP with cds-pluginpublishedThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius BarrionuevoVinícius Barrionuevomaintains 1 entry, wrote 1 post, contributed to 1 entrysap official credits this post as the thing that gave him the idea for sap-cap-sdm-pluginsap-cap-sdm-pluginA CAP Node.js plugin that maps annotated CDS entities to SAP Document Management and exposes CMIS and repository-administration clients, in an early release.independent, cap, and it is hard to read the plugin ecosystem in this graph without it.
Plugin authoringthe core changed in @sap/cds-dk 7.5.0Advice that deployment artifacts a plugin needs must be produced by a script outside cds build.
Seed datacore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact provides seed-data for the UI5 door; the two tools the sentence named provide ui5-testing. The core stays present on the sourced what_core_does. The tools stay on the graph under ui5-testing.
Seed dataecosystems revisedvscode-ui5-odata-mock-generator and openui5-smart-mockserver were staged in intake-20261019-bestofui5 under ui5-testing; the first one's drafter noted that seed-data fit better but was not open on the UI5 door. The UI5 reading comes from the OpenUI5 mock server pages and SAP's ui5-middleware-fe-mockserver README.
Avoiding Data Loss When Loading Initial Data with CSV Files in 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).
Handling CSV Data Deployment in CAP HDI Without Data Lossexplains 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).
Show 14 more
ISO content for common CAP typesexplains 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).
@animb1996/cds-data-driftadded to the atlasCompares a CAP project's CSV data with its database rows
Seed dataecosystems revisedabapFaker generates localised fake names, addresses and other values in ABAP for development and tests, so the concern has an answer behind the ABAP door.
Seed dataname 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.
Avoiding Data Loss When Loading Initial Data with CSV Files in CAPpublished
cds add tiny-sample gives you a CSV in db/data and it loads on deploy, which looks like a way to seed a productive application. The catch, stated plainly: change the CSV or the schema and HANA is reinitialised from the file, taking whatever users had entered with it.Handling CSV Data Deployment in CAP HDI Without Data LosspublishedThe same trap from the HDI side: .hdbtabledata hands the container full ownership of the data, so the next deployment overwrites the table from the file. Two independent posts three months apart on the same sharp edge, which is a fair signal about how sharp it is.
cap-mock-generatoradded to the atlasFills db/data with relationally consistent CSV from a .cds schema
ISO content for common CAP typespublishedThe npm package that supplies ISO-standard content — countries, languages, currencies, timezones — for CAP's common types, and how it works underneath. The author flags the length and the reason for it up front, having followed the mechanism further than the question required, which is what makes it worth reading rather than a package announcement.
cap-js-mockdataverdict revisedVerdict rings retired. What the ring compressed now lives in readings derived from facts (liveness, compatibility, reach) and in the description fields, so a thing can be dead as a dependency and still worth reading. VISION §9.
cap-js-mockdataprovides, verdict revisedRecording
cds add data as a version change on seed-data narrowed what this plugin uniquely offers. The verdict stays TRY, but for a smaller reason than yesterday, and saying so is the point of dating verdicts.Seed datacore coverage revisedWrong since mid-2024 and nobody had checked. It said generated volumes were community territory;
cds add data has generated volumes since @sap/cds-dk 7.9.0. Found by doing the version-history pass — which is the argument for that pass in one line.Seed datacore 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.
cap-js-mockdataadded to the atlasCSV seed data generated from @Mockdata annotations with Faker
Seed datathe core changed in @sap/cds-dk 7.9.1Any guidance that you must hand-write or third-party-generate CSV to get seed data at all. That was true before mid-2024 and is not now — the open question is realism, not volume.
enforce-export-coverageadded to the atlasStatic check that each exported TypeScript function has a test
A Fiori Launchpad Sandbox for all your CAP-based projects - Overviewexplains 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).
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupexplains 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).
CAP full-stack testing with BDD flavourexplains 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).
Show 36 more
CAP: Unit Testing using Mocha and Chaiexplains 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).
cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async Launchpadexplains 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).
Create Automated System Tests for SAP Cloud Application Programming Model 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).
Enhancing Unit Testing in SAP CAP Java Applications with GitHub Copilotexplains 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).
Getting Started with Unit Testing in SAP CAP Java 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).
Integration Tests in a Cloud Foundry Java App using 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).
Testingecosystems revisedThe same concern on the SAP Digital Manufacturing door, opened 2026-10-17: SAP published test automation modules for the product's standard apps.
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewexplains 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).
Testingcoverage by ecosystem revisedIntake of @saptools/bruno, which runs request collections against services deployed to Cloud Foundry: the concern exists behind the BTP door.
Testingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.
CAP full-stack testing with BDD flavourpublishedIntroduces Behavior-Driven Development for CAP applications: specifications written in Gherkin against a running app, validated by Cucumber, using cds-cucumbercds-cucumberBehaviour-driven tests for CAP applications: Gherkin scenarios that drive a running service rather than assertions written against handlers.community org, cap's ready-made step definitions for SAP Fiori elementsFiori annotationsDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.SAP and community, unassessed and OData screens. The library handles service lifecycle — starting the app, assigning a port, driving the browser and authenticating a named user — and its OData steps know the service's entities and fields from the CDS model itself, so a scenario can open a list report, search it and assert row counts without hand-written glue code.
@cap-js/cds-testadded to the atlasTest support for CAP Node.js: server start, HTTP client, assertions
CAP: Unit Testing using Mocha and ChaipublishedUnit tests added to an existing CAP service rather than written alongside a new one, which is the harder and more common case. Mocha and Chai wired up by hand, from a time before
cds.test was the obvious answer.Create Automated System Tests for SAP Cloud Application Programming Model ProjectspublishedEnd-to-end tests driving the UI with wdi5, run in the pipeline — the layer above cds.test, which stops at the service boundary.
Enhancing Unit Testing in SAP CAP Java Applications with GitHub CopilotpublishedBuilt on SAP's own CAP Java unit-testing guide, and the question is narrow: how much of that does an assistant actually write for you. The author's own getting-started post is the one to read first.
Getting Started with Unit Testing in SAP CAP Java ApplicationspublishedThe plain introduction: what the CAP Java framework gives you to test against, and how to start. Prerequisite to the same author's Copilot post.
Integration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming ModelpublishedIntegration rather than unit tests, and from 2020 — the earliest testing entry here, and a reminder of what had to be assembled by hand before the framework had an answer.
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewpublished
cds.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.@sap-ux/fe-mockserver-plugin-cdsartifact type, 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-cucumberdescription 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-launchpad-plugindescription 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.
A Fiori Launchpad Sandbox for all your CAP-based projects - OverviewpublishedWhere cds-launchpad-plugincds-launchpad-pluginIndexes every SAPUI5 application in a workspace into one sandbox launchpad served by the CDS server, so all of them can be opened from a single page while developing.independent, cap 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.
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setuppublishedThe 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.
cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async LaunchpadpublishedThe maintainer on a set of changes rather than on the plugin's original purpose, which is indexing every SAPUI5 project in a workspace into one sandbox launchpad so all of them can be tested together. What moved: it became a CAP plugin, gained UI5 Tooling support, and moved to the async launchpad — each framed as keeping pace with where SAPUI5 itself is going rather than as a feature.
sapbrunoadded to the atlasTerminal UI running Bruno collections against a CAP service
Testingcore 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.
@sap-ux/fe-mockserver-plugin-cdsadded to the atlasFiori Elements mock server plugin taking a CDS file as metadata
cds-cucumberadded to the atlasGherkin scenarios driving a running CAP service
cds-launchpad-pluginadded to the atlasSandbox launchpad for all SAPUI5 apps in a CAP workspace
@cap-js/cds-testreleased 1.0.0Test setups that rely on axios arriving with cds-test, or that set
cds.test.axios.defaults.Testingthe core changed in @cap-js/cds-test 1.0.0Any description of cds.test as axios-backed, or troubleshooting written around cds.test.axios as the primary HTTP client — since 1.0 that path is deprecated, not the default.
Testingthe core changed in @sap/cds 9.0.2Setup steps that install axios, chai, chai-as-promised and chai-subset directly to use cds.test rather than adding @cap-js/cds-test. On cds9, cds.test does not run without the latter present, regardless of what else is installed.
Testingthe core changed in @cap-js/cds-test 0.1.0Guidance that treats cds.test as something @sap/cds provides with no extra install — from this point a project needs @cap-js/cds-test as a devDependency to get it.
cds-cucumberreleased 0.3.7Test setups that set
CDS_CUCUMBER_FIREFOX to run the UI steps in Firefox.cds-cucumberreleased 0.3.5Feature files that open with
Given we have started the CAP application.cds-cucumberreleased 0.2.1Scenarios that use the step
we select additional row in value help dialog.TypeScript patternscore coverage revisedReassessed against the graph (check:capabilities): removes the count of ways and links the providers that define each kind (decorators, method names, folder layout, persistence), as WRITING §3 asks.
cds-hyper-app-servicelifecycle 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.
CAP Typescript + Fiori Typescript + live reload Initial app setupexplains 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).
Full Stack TypeScript App for Cloud Foundry - Sample Repositoryexplains 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).
Show 33 more
TypeScript patternsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
@dxfrontier/cds-ts-dispatcherprovides[typescript-patterns] revisedThe edge said only that the package answers the capability. It now says what it contributes — decorators binding handlers, the three layers its documentation recommends, injection between them and the draft decorators — and states the four comparison facets the capability declares, each on the README sentence it rests on.
@dxfrontier/cds-ts-repositoryprovides[typescript-patterns] revisedThe edge carried no sentence. It now says which half of the arrangement the package answers, names the two ways its own documentation shows it being used, and states the persistence value of the capability's layers facet. draft_events is left unstated on purpose: BaseRepositoryDraft reads and writes the draft entity, which is not a place to handle the draft events, and stating the flag here would make the two look like the same fact.
cap-handler-frameworkprovides[typescript-patterns] revisedThe edge carried no sentence while the artifact's own description carried the detail. It now says what the package contributes to this capability — method names as the binding, the generated index the service reads, the separate draft hooks and the shared context — and states handler_binding, dependency_injection and draft_events on the README sentences they rest on. The layers facet is left unstated: the feature list read today names no layer above the handlers.
cds-plugin-handlersprovides[typescript-patterns] revisedThe edge carried no sentence. It now says how the plugin decides where a handler goes, which is by folder and file name rather than by a decorator, and states the handler_binding and layers values of the capability's comparison, each on the README sentence it rests on. dependency_injection and draft_events are left unstated: the README mentions neither.
cds-plugin-typescriptprovides[typescript-patterns] revisedThe edge carried no sentence. It now says what the plugin does at build time and that it says nothing about the arrangement of the code it compiles. Whether the edge belongs on typescript-patterns is an open editorial question recorded with the capability's review: capire now ships a cds build task for TypeScript in @cap-js/cds-typer, which puts this plugin beside the core's toolchain answer rather than beside the arrangement options. No facet values are stated, because the capability's four facets ask about the arrangement and the README answers none of them.
cds-routing-handlersprovides[typescript-patterns] revisedThe edge carried no sentence. It now says what the package binds and where it stops, and states the handler_binding and layers values of the capability's comparison on the README sentences they rest on. No lifecycle field was added: the README read today carries no statement by its maintainer about the package's end, and the predecessor sentence in the one-liner is another author's reading, already attributed as such.
cds2typeslifecycle, provides[typescript-patterns] revisedThe edge carried no sentence. It now says what the tool produces and that it says nothing about the arrangement of the code around it. Whether this edge belongs on typescript-patterns at all is an open editorial question recorded with the capability's review: generating types from a model is the typing concern, and this pass does not move the edge.
TypeScript patternscore coverage, coverage by flavor, facets, changed in revisedRead from capire's December 2024 release notes, so the setup steps in readings published before it can be seen to predate the change. The release page names the month only; the date is its first day.
How we could potentially have nestjs as runtime for SAP CAPpublishedA proof-of-concept that swaps @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap's ApplicationService and ODataAdapter dispatch for NestJS controllers, providers and interceptors, built by the author to learn NestJS rather than to ship a runtime. It works through CAP's run-dispatch-handle loop and AsyncLocalStorage-based transaction boundaries in detail before mapping them onto NestJS dependency injection and interceptors — one community answer to the controller-service-repository layering question core TypeScript support leaves open. The author's own conclusion is that the result reimplements CAP Java in Node.js, and they do not plan to take it further.
CAP Typescript + Fiori Typescript + live reload Initial app setuppublishedA full-stack TypeScript starting point recorded as it was arrived at — the terminal commands and the configuration files, in order, for the CAP side, the conversion to TypeScript, and then the Fiori side. The author is explicit that it takes a while to go through, which is the honest framing for a setup that has this many steps.
Full Stack TypeScript App for Cloud Foundry - Sample RepositorypublishedA 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.
Quick Implementation of DI/DI Container on SAP CAP: Node.js Hands-on PartpublishedThe hands-on half of a pair — the theory is in the author's earlier post — built on the official bookshop sample with the directories flattened so the pattern is visible rather than the scaffolding. Assumes CAP and TypeScript already.
Taking CAP to the next level - with TypeScriptpublishedThe author's own two packages introduced together, and they are two halves of one idea: cds2typescds2typesA command-line tool that generates TypeScript interfaces from a CDS model, written before @cap-js/cds-typer existed.independent, cap generates TypeScript from the CDS model, cds-routing-handlerscds-routing-handlersDecorator-based routing of CAP service handlers in TypeScript, from before the core had an opinion — the framework the CDS-TS-Dispatcher post names as its unmaintained predecessor.independent, cap arranges the handlers that use them. Published in 2020, years before cds-typer, which makes it the earliest answer in the graph to a question the core answered later.
Use TypeScript with the SAP Cloud Application Programming ModelpublishedWritten from the position of someone who avoided JavaScript for years and then had to cover CAP, which gives it a useful angle: what TypeScript buys a person arriving from a typed language, and where to start rather than how to finish. Ends on a worked example rather than a survey.
@dxfrontier/cds-ts-dispatcherartifact type, 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.
@dxfrontier/cds-ts-repositoryartifact type, 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-typescriptartifact type, 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-routing-handlersartifact type, 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.
cds2typesartifact type, 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.
cap-handler-frameworkadded to the atlasConvention-based handler layer for CAP with draft lifecycle hooks
cds-hyper-app-serviceadded to the atlasTyped class-based service layer over CAP ApplicationService
CDS-TS-Dispatcher: Simplifying SAP CAP TypeScript DevelopmentpublishedThe first of a pair introducing the author's own libraries, and it states what it is reacting to: CAP derives OData services from a CDS model, but the communication between business logic, service and persistence layers is left to you, and the earlier attempt at the service-layer half, cds-routing-handler, appeared unmaintained against newer CAP. The dispatcher is the answer offered for that layer.
CDS-TS-Repository: Simplify SAP CAP Entity persistance with BaseRepositorypublishedThe persistence half of the same pair, three days later: a BaseRepository putting entity access behind a typed repository rather than CQN written inline in a handler. Shares its opening argument with the dispatcher post — the layer between business logic and persistence is the part CAP leaves open — and the two are designed to be used together.
SAP CAP: Controller - Service - Repository architecturepublishedThe pattern the author's two libraries exist to support, set out as a whole rather than one package at a time: a controller layer receiving the request, a service layer holding business logic, and a repository layer owning persistence — the separation CAP leaves to the developer once a model has produced an OData service. Read after the dispatcher and repository posts, or before them as the argument for both.
@dxfrontier/cds-ts-dispatcheradded to the atlasDecorator-driven handler registration for CAP in TypeScript
@dxfrontier/cds-ts-repositoryadded to the atlasTyped BaseRepository over CAP entities
cds-plugin-typescriptadded to the atlasCDS build task compiling TypeScript sources during cds build
cds-routing-handlersadded to the atlasDecorator-based routing of CAP service handlers in TypeScript
cds2typesadded to the atlasCLI generating TypeScript interfaces from a CDS model
cds-plugin-handlersadded to the atlasOne handler file per entity in CAP services
TypeScript patternsthe core changed in @sap/cds-dk, December 2024Setup steps that tell a reader to run cds-tsx watch or cds-ts watch to start a TypeScript project. The release note's own sentence is that this is not necessary anymore.
TypeScript patternsthe core changed in @cap-js/cds-typer 0.5.0Setup guidance from 2020-2022 that reaches for cds2types, hand-written .d.ts files or another community fork to get typed entities out of a CDS model. That gap is what cds-typer closed in mid-2023; what is left open, and what this capability records, is the shape of the code around the generated types — dispatchers, repositories, controller-service-repository layering — which the core still has no opinion on.
cds-internal-toollifecycle 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.
Typingcore coverage revisedcds-internal-tool, an independent package, carries a provides edge to this capability on CAP beside the three sap-official providers, so core-only no longer says who is present. relationship is unassessed: no retrieved page gives the history between the two.
TypeScript Sheriff: How can I use TypeScript in the SAP ecosystem? (Part 2 of 3)explains, summary revisedRewritten to say what the post states about each framework, so the new edges hold in the summary, and to drop the sentence on parts one and three that the series section now shows with their decline notes.
TypeScript Sheriff: How can I use TypeScript in the SAP ecosystem? (Part 2 of 3)publishedThe middle part of three, and the one about SAP: where TypeScript is supported across a side-by-side extension on BTP, as of July 2023. It says the SAP Cloud SDK already generates OData clients as .ts files and UI5 ships types for its controls and modules, the ground of TypeScript supportTypeScript supportWriting apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other.SAP and community, narrow by design in UI5, while CAP offers standard types and the new @cap-js/cds-typer@cap-js/cds-typerGenerates TypeScript types from a CDS model.sap official, cap generates types for a service, which is typingTypingMaking the model visible to the compiler — generated types for entities and events so a rename breaks the build rather than production.SAP and community, unassessed, with the caveat that running cds-ts commands could overwrite what cds-typer generated.
Show 14 more
cds-internal-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.
cds-internal-tooladded to the atlasReusable internals for authors of CAP extensions
Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-tspublishedPart one of two: a bookshop project built in TypeScript from cds init, with cds-typer added as a development dependency and the surrounding tools — cds-ts and node-ts — put in place so the project runs locally. A setup walkthrough rather than an argument about typing, and it stops at the point where the application works on a laptop; deployment is part two.
Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-ts Part - 2publishedPart two takes the TypeScript project from part one to Cloud Foundry: cds add mta, then the parts of the generated descriptor the author singles out as needing attention for a TypeScript build rather than a JavaScript one. The pair together is the whole path — typed model locally, then deployed — which is where a typing walkthrough usually stops short.
@cap-js/cds-typeradded to the atlasGenerates TypeScript types from a CDS model
@cap-js/cds-typesadded to the atlasType definitions for the CAP Node.js SDK
Typingcore 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.
@cap-js/cds-typerreleased 0.40.0Build setups written around cds-typer emitting
.ts files that TypeScript then compiles.@cap-js/cds-typesreleased 0.18.0Setup notes that rely on
@types/sap__cds appearing after npm install.@cap-js/cds-typesreleased 0.12.0Pairing the newest cds-types with a project on cds 8 or earlier.
@cap-js/cds-typerreleased 0.34.0Advice to switch on
use_entities_proxy before importing generated entities statically.@cap-js/cds-typerreleased 0.33.0Handler code typed against the earlier generated types for
cds.Binary and cds.LargeBinary.@cap-js/cds-typesreleased 0.9.0Handler signatures typed with
TypedRequest<T>.@cap-js/cds-typerreleased 0.11.0
compileFromCSN is no longer exported from the package's programmatic API.App hostingcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the absence claim about ui5 artifacts.
App hostingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.ui5. Maintainer-requested scope audit.
App hostingcoverage by ecosystem, coverage by flavor revisedHosting is a question about a built bundle, not about what produced it: UI5 Web Components' own README describes the library as suitable for static web sites and expects it bundled into the app rather than served from its own runtime, so the same two BTP services that answer for the freestyle door answer here too, unchanged. No artifact whose own ecosystem is ui5 states web-components on a provides or demonstrates edge for this capability, so the reading rests on the same absence coverage_by_ecosystem.ui5 already recorded.
SAP Application Frontend serviceadded to the atlasManaged hosting and routing for built frontends
Show 2 more
SAP HTML5 Application Repository service for SAP BTPadded to the atlasStores UI5 and HTML5 apps and serves them through the approuter
SAP Application Frontend serviceentry revised@sap/appfront-cli was in the corpus and the service it drives was not, so the BTP door listed a CLI with nothing behind it. SAP's own page names the HTML5 Application Repository as the thing to stay on where it fits better, which is why the two carry an alternative_to edge rather than one quietly superseding the other.
Keep the Core Clean with Rizing CDSXpublishedJhodel CailanJhodel Cailanmaintains 1 entry, wrote 3 posts, contributed to 1 entry recounts hitting a wall where neither RAP nor CAP supported more than a non-draft OData V2 service for the side-by-side extensibility scenario he wanted, and built Rizing CDSX@rizing/cds-extensionA CAP extension, CDSX, that puts a draft-capable facade in front of an OData service imported into CAP, so Fiori elements can edit records that live in another system as drafts.partner, cap (
@rizing/cds-extension) to add draft handlingDraft handlingLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.SAP and community, narrow by design over a shadow persistence entity that mirrors a remote, cds import-ed service. He walks through the @cdsx.api annotation that proxies the entity, bootstrapping the module from cds.on('bootstrap') in server.js, and testing the result through a generated Fiori elements app backed by an OData V4 draft service.Draft handlingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
How to ensure that users can efficiently enter data in SAP Fiori elements 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).
cap-collaborative-draftprovides, description, requires, compat, flavors revisedStated rather than left to the cds-plugin fallback: the README's first line says CAP Node.js backends.
Show 7 more
Draft handlingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.
@rizing/cds-extensionadded to the atlasCAP plugin putting a draft-capable facade in front of imported OData
Custom Handlers for Entities in SAP CAPpublishedWritten from the moment of not knowing: a two-level composition with drafts, the Fiori elements UI working perfectly, and no idea which handlers are actually needed. What comes out is the action lifecycle laid out as a reference — NEW, EDIT, PATCH and the rest — with a matrix saying which handler fires for which, which is the thing the documentation leaves you to assemble.
How to ensure that users can efficiently enter data in SAP Fiori elements applicationspublishedGuidance 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.
@sap/cds-fioriadded to the atlasFiori draft handling and UI-facing behaviour for CAP services
cap-collaborative-draftadded to the atlasCollaborative draft support for CAP Node.js services
Draft handlingcore 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.
SAP Fiori Application Generator Available in Open SourcepublishedThe SAP Fiori tools team announces that the code behind @sap/generator-fiori@sap/generator-fioriThe single entry point for generating a Fiori application — the user picks a template and the generator produces the project around it.sap official, cap has moved entirely to open source, and names the packages it is built from: writers that output SAP Fiori elements and freestyle SAPUI5 application files, inquirer prompts for picking a back end, and ABAP deploy tasks, coordinated by a sub-generator. Before publishing, the team broke up what had been a monolith, added TypeScript typings and raised test coverage.
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationexplains 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).
Build BTP CAP App with Fiori Integration – Part 2: Implementing End to End 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).
Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio Codeexplains 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).
Show 99 more
Building an Enterprise Application Using Fiori Elements and CAP - Part 1explains 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).
Building an Enterprise Application Using Fiori Elements and CAP – Part 2explains 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).
Building an Enterprise Application Using Fiori Elements and CAP – Part 3explains 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).
Calling bound / unbound CAP actions from Fiori elements application.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).
CAP - Dynamically hide UI facets in Fiori Elementsexplains 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).
CAP JavaでObject Pageの項目の動的な入力制御を実装するexplains 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).
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations - Part1explains 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).
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations – Part2explains 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).
CAP with Fiori Elements: Configure Multiple Views on List Report Tablesexplains 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).
CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic Expressionsexplains 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).
Case-insensitive filters in Fiori Elements (List report + 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).
Create an SAP Fiori Elements UI for CAP Node.js applications in SAP Business Application Studioexplains 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).
Create Fiori List Report with object page using CAPM(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).
Deep Insert in SAP CAPM Using Composition and Fiori Elementsexplains 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).
Developing a Fiori elements app with CAP and Fiori Toolsexplains 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).
Developing Fiori Element Application (List Report and Object Page) consuming the OData service created using 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).
Developing SAP Fiori Element application by using 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).
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message Reportingexplains 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).
Display of hierarchical data in SAP Fiori elements using 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).
Dynamic Criticality in SAP CAP Using Fiori Elements and Node.jsexplains 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).
Extend SAP SuccessFactors on SAP BTP with CAP - Develop the SAP Fiori Elements Applicationexplains 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).
Extend Upload Set with Table to Fiori Elements and utilize Object Storeexplains 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).
Fiori Elements Analytical Table with CAP: Does it work with V2 and V4?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).
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- Deploymentexplains 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).
From R/3 ABAP to CAP/Fiori Elements on SAP 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).
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-2]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).
Part 1: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementsexplains 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).
Part 2: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementsexplains 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).
Random collection of useful code fragments for CAP Fiori Elements and SAPUI5explains 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).
SAP CAP Remote Services & SAP Fiori Elementsexplains 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).
SAP Fiori Element using CAP Model – List Report 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).
SAP Fiori Elements using CAP Model - Introductionexplains 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).
The SAP Fiori elements feature showcase with CAP CDS annotationsexplains 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).
Tree-Table Support in CAP is Now Generally Availableexplains 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).
Use SAP CAP SAPUI5 Smart Filter to Show Value Help that are not Associated Entititesexplains 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).
Visualizing Your SAP Bill of Materials Using CAP, Fiori elements, and the UI5 Network Graphexplains 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).
Fiori annotationscore coverage, coverage by flavor revisedThe door has two flavors and neither was assessed, so both were derived from the options alone. Java reads core-only: the three community providers are cds-plugins @sap/cds loads, and the Java side's own facts are the compiler running under the Maven build and the one hierarchy annotation the Java runtime reads itself.
@sap-ux/odata-vocabulariesadded to the atlasOASIS and SAP OData vocabularies with a VocabularyService
Fiori annotationscore coverage revisedThree independent cds-plugins now provide this capability on CAP beside SAP's own packages: @mpah/enum-value-help, cap-js-geoloc-plugin and urp-vocab. The relationship is unassessed: no retrieved document gives the history between them and the core.
@mpah/enum-value-helpadded to the atlasCAP plugin generating value help for enum fields from an annotation
cap-js-geoloc-pluginrequires, provides, description revisedThe entry opened on a warning with nothing saying what the plugin does. when_not_to_use also said 'One release, November 2025': npm holds six versions, four alphas and 1.0.0 and 1.0.1, published between 31 October and 3 November 2025, and the changelog inside 1.0.1 is numbered v2.1.
cap-js-geoloc-pluginprovides revisedGeocoding and routing is the job the plugin does; the Fiori annotations are how it shows it. The edge became possible with location-services, drafted in intake-20260915-location-services.
Fiori annotationsecosystems revisedWidened to ABAP: SAP-samples/abap-platform-fiori-feature-showcase demonstrates annotation-driven Fiori elements for OData V4 on RAP, the same concern as CAP's annotations.
@sap/ux-cds-compiler-facadeadded to the atlasWrapper around the CDS compiler for annotation handling
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationpublishedGeneration 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.
Build BTP CAP App with Fiori Integration – Part 2: Implementing End to End ApppublishedThe implementation half of the series whose first part set up the account and the database: the application itself, end to end.
Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio CodepublishedAn 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.
Building an Enterprise Application Using Fiori Elements and CAP - Part 1publishedPart one of three, and it is all backend: the CAP service the UI will sit on. The author states the constraint the series works under — simple enough for someone new to the stack, without departing from the standard project layout.
Building an Enterprise Application Using Fiori Elements and CAP – Part 2publishedThe generator run and the List Report it produces, on top of the service from part one. This is where the annotations start doing the work rather than the CDS entities.
Building an Enterprise Application Using Fiori Elements and CAP – Part 3publishedThe Object Page, which the author points out is entirely annotation-driven — there is no page to design, only facets to declare. The last of the three.
Calling bound / unbound CAP actions from Fiori elements application.published
invokeAction from the Fiori elements Edit flow API, with the difference between bound and unbound actions spelled out first because the call shape differs. Under three thousand characters and it answers exactly one question.CAP - Dynamically hide UI facets in Fiori ElementspublishedFacets hidden at runtime rather than at design time, which needs two things at once:
UI.Hidden on the annotation side and a virtual element on the CDS side to decide it. Both are linked from the post, and it is barely two pages.CAP with Fiori Elements: Actions on List Report / Object Page using Annotations - Part1publishedActions on their own, at length — where an action can be placed, what the annotation looks like for each position, and what changes between the List Report and the Object Page. Part one of two.
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations – Part2publishedThe second half of the actions pair, published the same day. Between them they cover more ground on this one annotation than the documentation does in one place.
CAP with Fiori Elements: Configure Multiple Views on List Report TablespublishedSeveral tabs over one entity, each with its own filter — the multiple-views annotation, which is one of the few Fiori elements features that changes the shape of the page rather than its content.
CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic ExpressionspublishedThe 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.
Case-insensitive filters in Fiori Elements (List report + CAP)publishedA blocker rather than a feature: filters on a List Report are case-sensitive, the business wanted them not to be, and the CAP backend is where it gets fixed. Node and Java both.
Create an SAP Fiori Elements UI for CAP Node.js applications in SAP Business Application StudiopublishedWritten the week Fiori elements gained OData V4 support, which is what made a generated List Report over a CAP Node.js service possible at all. Short, and dated in the useful sense — it marks when the generator stopped being a V2-only path.
Create Fiori List Report with object page using CAPM(node.js) ServicepublishedThe short version of the generated-app walkthrough — an existing CAPM Node.js service, and the List Report with Object Page on top of it. Under three thousand characters.
Deep Insert in SAP CAPM Using Composition and Fiori ElementspublishedParent and children created in one transaction, which composition already gives you in the model — the post is about what Fiori elements does with it, and what the payload looks like when the UI sends both at once.
Developing a Fiori elements app with CAP and Fiori ToolspublishedA learning write-up from someone new to CAP at the time, and long enough to be thorough. Carries its own update pointing at a newer post on deploying a CAP-based Fiori app to a central launchpad without an approuter.
Developing Fiori Element Application (List Report and Object Page) consuming the OData service created using SAP Cloud Application Programming modelpublishedOne of the earliest entries here, from mid-2020: the List Report and Object Page pair generated over a CAP OData service, when that combination was still new enough to need explaining.
Developing SAP Fiori Element application by using SAP Cloud Application Programming ModelpublishedThe long version, and it starts by naming the floorplans — List Report, Worklist, Object Page, Overview Page, Analytical List Page — which is the decision most walkthroughs skip. Then one of them, built out against a CAP service.
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message ReportingpublishedAnalytical 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.
Display of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming ModelpublishedHierarchies 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.
Dynamic Criticality in SAP CAP Using Fiori Elements and Node.jspublishedColouring rows by status, which sounds like a UI question and is not: criticality is a value the service has to compute and expose, so the work is a virtual element in CDS and the annotation that points at it. Comes from a real requirement — business users wanting to spot the records that need attention.
Extend SAP SuccessFactors on SAP BTP with CAP - Develop the SAP Fiori Elements ApplicationpublishedThe UI instalment of the SuccessFactors extension series — the imported service is already modelled and this is the application over it. Names the three posts it depends on.
Extend Upload Set with Table to Fiori Elements and utilize Object StorepublishedThe Object Store variant of the author's earlier Document Management post, written after testing @cap-js/attachments@cap-js/attachmentsAn official CAP Node.js plugin for attachment handling, with local database storage and AWS S3, Azure Blob or GCP Object Store integration.sap official, cap — a sample managing text and file information together, and offered as something for people new to BTP rather than as a pattern.
Fiori Elements Analytical Table with CAP: Does it work with V2 and V4?publishedA question in the title and an answer in the post, with the boundary drawn carefully: this is an analytical table inside a List Report, not the Analytical List Page, and the two protocol versions do not behave the same.
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- DeploymentpublishedThe 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.
From R/3 ABAP to CAP/Fiori Elements on SAP CloudpublishedWritten 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.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-2]publishedPart 1 left a working OData service whose Fiori preview showed nothing useful. This is the annotations that fix that — the UI vocabulary added to the CDS model until the generated list report has columns worth reading.
Part 1: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementspublishedThe substantial part of a side-by-side extensibility series: CAP Node.js, Cloud SDK and Fiori elements against S/4HANA Cloud. Eighteen thousand characters, and the one to read if you only read one.
Part 2: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementspublishedThe second part, continuing the same extension. Opens with a recap of the stack rather than of the steps, which makes it readable on its own.
Random collection of useful code fragments for CAP Fiori Elements and SAPUI5publishedExactly what it says, and the author gives the reason: none of these were easy to find in the documentation or the samples. A collection of fragments rather than an argument, and the kind of page people bookmark.
SAP CAP Remote Services & SAP Fiori ElementspublishedWhat 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.
SAP Fiori Element using CAP Model – List Report ApppublishedThe build half of the same author's pair: the List Report application over the CAP model introduced in the previous post.
SAP Fiori Elements using CAP Model - IntroductionpublishedThe introduction to a demo project, and it says where the project came from — exploring what the then-new Fiori tools could do. Context rather than code; the List Report post is the one that builds.
The SAP Fiori elements feature showcase with CAP CDS annotationspublishedThe feature showcase, which is the closest thing to a reference for what the annotations can do, presented here with its CAP CDS side. Short, because the value is in what it points at.
Tree-Table Support in CAP is Now Generally AvailablepublishedThe announcement that closes a gap other posts here worked around for years — hierarchy maintenance for Java in February, recursive support in March, generally available since July. Read it beside the 2022 post that had to build hierarchies by hand.
Use SAP CAP SAPUI5 Smart Filter to Show Value Help that are not Associated EntititespublishedValue help for a field with no association behind it, which is the case the annotation assumes away. Short, and the workaround is the content.
@sap-ux/cds-annotation-parserartifact type, 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.
@sap-ux/cds-odata-annotation-converterartifact type, 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.
@sap-ux/fiori-annotation-apiartifact type, 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.
@sap/generator-fiorilinks, artifact type, 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.
CAP JavaでObject Pageの項目の動的な入力制御を実装するpublishedTwo ways to make an object page field editable or not from the value of another field in CAP Java, with the same rule implemented both ways. The first routes the decision through a separate entity holding default values, reached by Side Effects annotations; the second adds a virtual element the Java event handler fills. The piece is about the trade the two make — annotation-only versus a handler that runs — rather than about which is correct, and the running code is the repository it links.
cap-js-geoloc-pluginadded to the atlasAnnotation-driven geocoding, address correction and routing for CAP
urp-vocabadded to the atlasCDS vocabulary for User-Rendered Patterns display annotations
Visualizing Your SAP Bill of Materials Using CAP, Fiori elements, and the UI5 Network GraphpublishedA parent-child structure rendered as a network graph inside a Fiori Elements application, with the CAP service modelling the bill of materials behind it. Useful as one of the few worked examples of putting a non-standard visualisation into an annotation-driven floorplan rather than building a freestyle app around it.
@sap-ux/cds-annotation-parseradded to the atlasParser for annotations in CDS source
@sap-ux/cds-odata-annotation-converteradded to the atlasConverter from CDS annotations to their OData form
@sap-ux/fiori-annotation-apiadded to the atlasProgrammatic API for reading and writing project annotations
@sap/generator-fioriadded to the atlasEntry point for generating a Fiori application from a template
Fiori annotationscore 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.
@sap-ux/cds-annotation-parserreleased 1.0.0Code that loads
@sap-ux/cds-annotation-parser with require() from CommonJS, or Jest setups that test such code without ESM support.@sap-ux/cds-odata-annotation-converterreleased 1.0.0Examples that load the package with
const ... = require('@sap-ux/cds-odata-annotation-converter') from a CommonJS module, written against 0.x.@sap-ux/fiori-annotation-apireleased 1.0.0The package moved from CommonJS to ECMAScript Modules with NodeNext module resolution, as part of the SAP Open UX Tools monorepo migration to ESM.
@sap-ux/odata-vocabulariesreleased 1.0.0Examples and test setups written for the CommonJS build, such as a Jest configuration without ESM support.
Fiori annotationsthe core changed in @sap/cds-dk 9.6.0Guidance that says a Fiori tree view needs several hand-written OData annotations. Since December 2025 a single
@hierarchy (optionally naming the association) is enough.Frontend boundarycore coverage revisedReassessed against the graph (check:capabilities): both providers of this capability are sap-official, so no artifact of another origin is present behind the door; the schema allows relationship only on a core-and-community block.
From Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPpublishedA Devtoberfest 2026 session walking live through a sales workbench that turns an incoming customer e-mail into a quotation in S/4HANA, built as a React UI on CAP. It shows the filterable request inbox, the extracted configuration properties with a confidence indicator per characteristic, the variant configurator rendered in React from a JSON schema the configuration service returns, and the link from a derived value back to the place in the e-mail it was read from; the stated reason for the stack is that CAP keeps authentication, destinations and deployment the same in every project, which is where frontend boundaryFrontend boundaryConnecting a separately hosted frontend to an application service: authentication, routing, access to backend systems, user identity propagation and tenant isolation across the hosting boundary.SAP only holds. The inbox grows while a user works because a CAP WebSocket plugin pushes new requests into the list — WebSocketWebSocketPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.Community only.
Frontend boundarydescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
CAP, CORS and custom headerspublishedWhat CAP itself does about CORS, and where it stops. The starting point is a colleague's request and a deliberate constraint: @sap/approuter has full CORS support, but the author wanted to know what the CAP server offers on its own and how to extend it. Ends up covering preflight requests and custom servers, which is the mechanism a frontend hosted outside BTP actually runs into.
Show 2 more
@sap/appfront-cliadded to the atlasCLI for the SAP BTP Application Frontend service
Frontend boundarycore 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.
cap-companionadded to the atlasPlayback-only SAP Companion (Help4) workarea served from CAP
Integrated frontend dev servercoverage by ecosystem revisedReassessed against the graph (check:capabilities): the only provider of the capability that counts is cds-plugin-ui5, which sits on the CAP door and does not serve the UI5 door, so no provider of another origin counts there. The core stays present on the sourced what_core_does. The middlewares the removed sentence named are not providers of this capability.
Integrated frontend dev serverecosystems revisedThe UI5 dev middlewares staged in intake-20261019-bestofui5 that forward the app's backend paths (ui5-middleware-route-proxy, ui5-middleware-destination) could only be placed under ui5-build-tooling, whose own boundary leaves proxying to a backend to middlewares. The two facets stay on CAP, where they were asked. The UI5 reading comes from the UI5 CLI Server page and SAP's backend-proxy-middleware README.
Integrated frontend dev servername, description revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and 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).
Show 6 more
cds-plugin-ui5description, provides, compat, flavors, identity revisedRead from the package's own README licence section, as its siblings in the same repository already record.
Integrated frontend dev servercore coverage, description, facets revisedThe two facts that separate the answers here: where a project has to sit to be served, and what serves its resources once it is found. Both are stated by each option's own documentation, and both are text until the answers are numerous enough to have a vocabulary.
cds-plugin-ui5contributors revisedTwo actor files carried the same GitHub login. peter-m-ssig was keyed on a slugified display name — the umlaut in "Peter Müssig" drops out of the slug, so it looked nothing like the crawled petermuessig and nobody spotted the double. Merged onto the login, which is the identity the crawl matches on.
SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAPpublishedGetting UI5 Tooling and the CAP server onto one port under one command, using cds-plugin-ui5cds-plugin-ui5A CDS plugin that runs the UI5 CLI express middlewares inside the CDS server, so a UI5 CLI project is served from the same port as the services, mounted under a path from its ui5.yaml.community org, cap — which the post presents as the thing that removes the proxy and destination configuration a full-stack dev setup otherwise needs. Part one of a journey that goes on to put the approuter in front at development time.
cds-plugin-ui5added to the atlasUI5 CLI middlewares running inside the CDS server
cds-plugin-ui5origin ring revisedui5-community is the UI5 ecosystem's community org, the counterpart of cap-js-community. It was absent from the owner table because that table only knew CAP, so this fell through to independent. Found by probing UI5.
Localizationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): providers arrived after the block was last looked at, an XLIFF editor and an MCP server among them, and the text named none of the kinds.
Localizationcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.
@sap-ux/i18nadded to the atlasReader and writer for i18n bundles of UI5 or CAP projects
Localizationecosystems, coverage by ecosystem, framing by ecosystem revisedBehind the UI5 door the texts are files in the app rather than model elements in a service, which is what the CAP framing describes.
Show 4 more
Localizationecosystems, coverage by ecosystem, framing by ecosystem revisedOn BTP the concern includes getting texts translated by a service, where the CAP framing is serving texts per locale and the ABAP framing is translating repository objects in the system.
Localizationecosystems revisedSeven repositories translate ABAP texts: they push object lists to SAP Translation Hub, call DeepL or LibreTranslate, export a package's texts to a spreadsheet, keep form labels in a table, and read texts from the online text repository.
Localizationcore 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.
@sap-ux/i18nreleased 1.0.0The package is published as an ECMAScript module (
"type": "module") instead of CommonJS, with Node.js 22 still the minimum; the notes give the Jest configuration for testing code that imports it.Server-side renderingcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the sentence claimed an absence of providers, which goes stale when one arrives.
Server-side renderingcore coverage revisedThe state said community-only and nothing else, so the cap door carried no sentence a reader could use and no source for the claim. capire states that CAP has no UI technology of its own, and the documented bootstrap of the built-in server mounts the app folder as static content without a rendering step; the community sentence names the one provider the graph holds. State unchanged.
ui5-cap-serverside-rendering-plugindescription, provides revisedA bare ref said the plugin answers the capability without saying how. The object form carries the contribution and the files it was read from.
Server-side renderingcoverage by ecosystem, coverage by flavor revisedUI5 Web Components for React documents partial SSR support since v1.17.0 (outer markup only, client-rendered component) and the base UI5 Web Components library tracks full declarative-shadow-DOM SSR as an open, unassigned feature request. Neither is a catalogued artifact in this graph, so no ui5-door provider states web-components for this capability, but the concern plainly exists here — unmapped rather than not-applicable.
Show 1 more
ui5-cap-serverside-rendering-pluginadded to the atlasCAP plugin rendering UI5 views with entity data on the server
Establish a central inbox with SAP Task Centerexplains 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).
How to Approve/Reject Task via API in SAP Build Process Automationexplains 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).
SAP Build Process Automationで「グループ宛て承認ワークフロー」を構築する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).
How to Approve/Reject Task via API in SAP Build Process AutomationpublishedWalks through the Workflow API's
/task-instances PATCH call that SAP Build Process AutomationSAP Build Process AutomationSAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances.sap official, btp exposes to approve or reject a user task from outside its Inbox, matching the instance ID from the Monitoring tab and the identifier of the button the approval form defines. Covers the permission split between an authenticated user, who needs the ProcessAutomationAdmin or ProcessAutomationParticipant role collection to appear as the one who completed the task, and Client Credentials, which completes it as a generic client identity, plus the error codes the API returns for a missing instance, an already-completed task or an invalid status.Show 2 more
SAP Build Process Automationで「グループ宛て承認ワークフロー」を構築するpublishedWalks through building a group-addressed approval workflow in SAP Build Process AutomationSAP Build Process AutomationSAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances.sap official, btp: a user group created in SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp is bound to the app so an approval step can send one request to every group member's inbox at once, closing as soon as any one of them acts. The approval formTask and approval UIsThe screen a person approves something on — a workflow or process task rendered as a form, embedded in an inbox that supplies its context. Distinct from workflow integration, which is about driving the engine: this is the half a human touches, and its hard part is that it cannot run without the engine that normally feeds it.SAP only shown in that inbox carries a Claim button that hides a claimed task from the other members, and the workflowWorkflow integrationDriving an external workflow or automation engine from an application and reacting to what it emits — triggering runs transactionally and importing the engine’s shape as a typed model.SAP and community, core adopted it's approval step binds its group recipients to the field the requester chose on the start form.
Establish a central inbox with SAP Task CenterpublishedSAP's reference architecture for SAP Task CenterSAP Task CenterOne inbox across SAP applications: tasks from S/4HANA, SuccessFactors, Ariba and BTP workflows in one list, with a public API for a custom task provider.sap official, btp as one inbox for the tasks of several SAP applications, opened in the Task Center web app or as To-Dos in SAP Start and SAP Mobile Start, which is the inbox half of task and approval UIsTask and approval UIsThe screen a person approves something on — a workflow or process task rendered as a form, embedded in an inbox that supplies its context. Distinct from workflow integration, which is about driving the engine: this is the half a human touches, and its hard part is that it cannot run without the engine that normally feeds it.SAP only. It rests on Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp: every task provider must work with Identity Authentication, its users must carry the Global User ID and so must the recipients of each task, and sign-on between the provider and Identity Authentication is what lets a user navigate from Task Center into the provider. Task Center reaches providers through destinations in a customer subaccount, with Cloud ConnectorCloud ConnectorSAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow.sap official, btp for on-premise SAP S/4HANA.
com.sap.cds:cds-feature-flowadded to the atlasDeclarative status-transition flows on bound actions in CAP Java
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.
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.
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).
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).
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).
Show 18 more
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).
Workflow integrationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.
@cap-js/processadded to the atlasStarts and manages SAP Build Process Automation processes from CAP
com.sap.cds:cds-feature-n8nadded to the atlasTriggers n8n workflows from CAP Java through the outbox
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.
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.
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.
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.
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.
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.
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 MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp with a CloudEvents payload. Written before @cap-js/process@cap-js/processStarts, cancels, suspends and resumes SAP Build Process Automation processes from a CAP service through entity annotations, or through a typed CDS service imported from the process definition.sap official, cap 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.
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.
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.
@cap-js/n8nadded to the atlasTriggers n8n workflows from a CAP application
cap-n8nadded to the atlasIntegration of CAP with n8n workflows and triggers
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.
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.
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.
Documentationcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): absence claims about providers go stale as providers arrive. The flavor states are unchanged.
Clean-Core.ioadded to the atlasHosted workspace redrawing custom ABAP as BPMN and grading it
Documentationcore coverage revisedPackage pass 2026-09-27: the capability had no paragraph and no source at all.
Before You Upgrade S/4HANA: Static UI5 Checks with MCPpublishedA UI5 version upgrade checked against one app by pairing two MCP servers: the
ui5_version_diff tool added to mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, which reads a bundle from ui5-lib-diff downloaded once at setup and filters it by version range, change type, library or query text, and @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, whose get_project_info, get_version_info, run_ui5_linter and run_manifest_validation say what the app uses and what fails. Run with a ui5-versions-upgrade.md skill on the legacy app from From SEGW and Legacy UI5 to RAP with ARC-1From SEGW and Legacy UI5 to RAP with ARC-1Three ARC-1 skills, run in Cursor with Composer-2 against a deliberately rough demo on an S/4HANA 2023 trial system, turn the SEGW service ZDEMO_MIG_PROJECTS_SRV into a managed, draft-enabled RAP business object published as OData V4, replace its ApproveProject function import and its direct UPDATE ... COMMIT WORK with the action approve_project written in EML in local mode, and rebuild the freestyle UI5 JavaScript app once in UI5 TypeScript and once as a Fiori elements list report and object page driven by metadata extensions. What the published transcripts add is how the agent got there: it found the generated MPC class names and the custom logic in DPC_EXT only by reading the system, the skills made it print the extracted model and stop for confirmation before writing, and @ui5/mcp-server, mcp-sap-docs and @sap-ux/fiori-mcp-server each had their own job beside it. The demo is small on purpose, and the post says a productive SEGW service that calls BAPIs, carries custom authorisation logic or supports deep inserts is not solved with one prompt.published 2026-05-11, from SAPUI5 1.84.59 to 1.147.2, the diff range held 985 deprecations and 961 What's New entries, and the lintingLintingCatching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.SAP and community, narrow by design and manifest validation narrowed that to findings in this app, among them jQuery.sap.require, synchronous bootstrap, the sap_belize theme, sap.m.MessagePage and an old manifest _version. The checks read the source in a local checkout and never the deployed app, so the report is a first pass: a changelog entry is not proof that a workaround can be deleted, and the app still has to be run and tested.Show 11 more
Finally: An MCP Server for ABAPpublishedAnnounces the ABAP variant of mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, published at mcp-abap.marianzeis.de for GitHub CopilotGitHub CopilotAn AI coding assistant built into GitHub, with agents that can use external tools and MCP servers.'s Agent Mode in ADT for Eclipse, which the post names as the trigger, with ABAP knowledge still a recurring problem in the models. Documentation irrelevant to ABAP was removed from the SAP docs server and the ABAP Keyword Documentation, the DSAG ABAP Development Guidelines and the ABAP Style Guide were added, with search reaching past the local index to SAP Community posts and SAP Help. Copilot in Eclipse is where the post puts the weight, because SAP Joule for Developers, ABAP AI capabilitiesSAP Joule for Developers, ABAP AI capabilitiesSAP's AI for ABAP development in ADT for Eclipse and VS Code: chat, code completion, explain, test and CDS generation, RAP logic prediction, and since June 2026 an agentic mode over the ADT MCP Server, metered in AI units through the ABAP AI Hub Service on BTP.sap official, abap in Eclipse is not available for S/4HANA on-premise systems; an update of 2026-02-05 adds Software Heroes as an online source and an
abap_feature_matrix tool that checks feature availability across releases and ABAP Cloud, and the server runs hosted or locally with Node or Docker.Documentationcoverage by flavor revisedThe only UI5-ecosystem artifact that states web-components in its flavors is ui5-webcomponents-mcp-server, sap-official, and no other UI5-ecosystem provider of this capability names the flavor at all — core-only per the reading rule. framing_by_flavor was left unset: framing_by_ecosystem.ui5 already describes this same artifact, and it already reads as the web-components flavor's own paragraph rather than a cross-flavor one, so a second copy would restate it rather than say something different.
Documentationdescription revisedWidened rather than forked into abap-code-documentation: producing a document of a custom package is the same concern from the writing side. The ABAP coverage moved from community-only to core-and-community because ADT's ABAP Doc export is the core's answer for custom code. Done so abap-doc (staged in intake-20260913-mariokernich) can provide it.
mcp-sap-docsdescription revisedCorrected against the README: its offline-sources table lists seventeen repositories, abap-docs-standard through wdi5.
Documentationecosystems revisedArtifacts that answer this concern sat behind the ABAP door with no tile to appear under, so browse counted them and rendered nothing. The concern is one a ABAP developer actually decides there, which is the test for opening a door rather than trimming a serves claim.
mcp-sap-docsadded to the atlasMCP server searching seventeen SAP documentation repositories
Documentationcore coverage, ecosystems revisedAn SAP-published MCP server entered from the sap-ai-mcp-servers catalogue answers this concern on the UI5 door, and the door had no tile for it to sit under.
mcp-sap-docsentry revisedNamed in docs/NEIGHBOURS.md §3.1 as a project of the bestofcapjs author but never entered. It is a documentation retrieval server, not an index of options — the complement posture the same section assigns ARC-1, and hard rule 5 makes it exist here only as an attached entry.
@sap-ux/fiori-docs-embeddingsartifact type, 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.
@sap-ux/fiori-docs-embeddingsadded to the atlasFiori documentation indexed as embeddings
@sap-ux/fiori-docs-embeddingsreleased 1.0.0Examples that load the package with
const ... = require('@sap-ux/fiori-docs-embeddings') from a CommonJS module, written against 0.x.Build a Business Application Using CAP for Javaexplains 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).
Build a Business Application Using CAP for Node.jsexplains 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).
Develop a Full-Stack CAP Application Following SAP BTP Developer's 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).
From Concept to action: Hands-On with the CAP Operator and the Partner Reference Applicationexplains 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).
Show 13 more
The CAPstone Project: A Journey from Component to 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).
UI5ers Buzz #56: New full-stack UI5 sample app featuring CAP + OData V4 + draft modeexplains 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 appscore coverage, ecosystems revisedTwo SAP-samples repositories in this batch are whole applications on other doors: hana-shine-xsa, SHINE for XS Advanced on SAP HANA, and btp-abap-cna, a RAP side-by-side extension on SAP BTP ABAP Environment. Both are samples, so each door opens unmapped.
Reference appsname 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.
Build a Business Application Using CAP for JavapublishedThe Java counterpart to the Node.js path — eight tutorials, around two and a half hours, from a generated project to a running service. Worth having indexed separately rather than folded in with the Node.js one: the runtimes diverge most in exactly the places a first application touches, and following the wrong path is a slow way to find that out.
Build a Business Application Using CAP for Node.jspublishedThe Node.js introduction path, and the shorter of the pair — the runtime most CAP writing assumes, which is why the Java path exists separately.
Develop a Full-Stack CAP Application Following SAP BTP Developer's GuidepublishedThe eight-part path SAP's own Developer's Guide prescribes: a CAP service, Fiori Elements over it, custom logic, authorization, tests, and the preparation deployment needs. It is the closest thing to an official answer to 'what does a whole CAP application look like', which is why it sits under reference applications rather than under any one of the capabilities it touches.
From Concept to action: Hands-On with the CAP Operator and the Partner Reference ApplicationpublishedThe CAP Operator applied to a real application rather than a sample of its own — SAP's Partner Reference Application, taken from plugin integration through containerisation to custom resources. The transition to CRDs is the part that repays attention: it is where the deployment stops being an mta and becomes Kubernetes.
The CAPstone Project: A Journey from Component to CloudpublishedA React and Vite front end on a CAP backend, written for two readers at once — the React developer curious about SAP, and the CAP developer wondering about modern front ends. Predates CAP's own React and Vue support.
UI5ers Buzz #56: New full-stack UI5 sample app featuring CAP + OData V4 + draft modepublishedA sample app published as code rather than described — SAPUI5 over a CAP service with OData V4 and draft mode — and the note that it was built on what the team learned from an application written in March 2020 to help the German Foreign Office repatriate citizens. That provenance is unusual and worth keeping.
cds-incidents-sampledescription 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.
cap-utilsadded to the atlasnpx tool adding worked example files to a CAP project
cds-incidents-sampleadded to the atlascds add plugin adding the incidents-app model to a project
Under no capability
Robin van het Hofadded to the atlas
btp-agentadded to the atlasLangGraph agent and UI5 chat screen over four BTP MCP servers
arjith-p-jadded to the atlas
EdoBadded to the atlas
Show 872 more
Ganesh Ramachandranadded to the atlas
Kesavanadded to the atlas
Luís Marquesadded to the atlas
martina-sapadded to the atlas
NM Veekshith Gandhiadded to the atlas
Ogulcan Kusluogluadded to the atlas
Pavan Jayashrinathadded to the atlas
Robert Eijpeadded to the atlas
Sri Sai Lahari Gandrapuadded to the atlas
yashika-Gulatiadded to the atlas
Reports Assistant with SAP Document Managementadded to the atlasCAP agent writing reports into a shared SDM document workspace
Kamil Kováčadded to the atlas
Supply Chain Rescueadded to the atlasCAP and SAPUI5 demo of recovery from a supply disruption
ui5-cap-serverside-rendering-demoadded to the atlasDemo CAP bookshop with server-rendered UI5 views
abap2UI5 protocoladded to the atlasVersioned specification of the abap2UI5 roundtrip protocol
Abinaya Srinivasanadded to the atlas
Ajay Sorengadded to the atlas
amarubheadded to the atlas
Andreas Schoesseradded to the atlas
Bastian Dennstedtadded to the atlas
Fabian Fellhaueradded to the atlas
Fernando Meregali Xavieradded to the atlas
GerdBuchmuelleradded to the atlas
HP Seitzadded to the atlas
j-denneradded to the atlas
Joerg Meyeradded to the atlas
Julian Schambeckadded to the atlas
Marcel Merkleadded to the atlas
Martina Gehwolfadded to the atlas
Nora von Thenenadded to the atlas
Oliver Feldmannadded to the atlas
Olivier Bagotadded to the atlas
Parita Gandhiadded to the atlas
Priyanka Gayenadded to the atlas
ProFreakadded to the atlas
Samuele Barzaghiadded to the atlas
SAP Tutorialsadded to the atlas
Sebastian Maginadded to the atlas
Shrinivasan Neelamegamadded to the atlas
Srinikitha Kondreddyadded to the atlas
Steffenadded to the atlas
Varun Shanbhagadded to the atlas
Vikas Thimmiahaadded to the atlas
Vitaliy Rudnytskiyadded to the atlas
cap-openaiadded to the atlasCAP service actions calling OpenAI chat completions two ways
cap-openapiadded to the atlasCAP Java service calling role collection APIs via a generated client
cap-principal-propagationadded to the atlasOn-premise ABAP OData V2 service read from CAP over Connectivity
cap-redisadded to the atlasApprouter session held in a bound Redis cache instance
cap-reuse-html5added to the atlasFiori elements app in the HTML5 Application Repository with cdm.json
cap-rfcadded to the atlasCAP Node.js action calling BAPI_EPM_BP_CREATE over RFC
cap-uiadded to the atlasMTA deploying CAP, HDI container and a Fiori elements app
Mario Ponceadded to the atlas
Ashutosh Kumar Singhadded to the atlas
AyhamTadded to the atlas
azhariqbaladded to the atlas
BirgitSadded to the atlas
chrisobaradded to the atlas
davidtilladded to the atlas
frank_xieadded to the atlas
leoirudayamadded to the atlas
Manisha Debnathadded to the atlas
Palakadded to the atlas
prajnaparmitaadded to the atlas
rupamaityadded to the atlas
Shilpa Vijadded to the atlas
shiromani_soni1added to the atlas
Talari Hari Kumaradded to the atlas
Udo Paltzeradded to the atlas
Walter Andres Aguero Machadoadded to the atlas
auth-samplesadded to the atlasCAP services and a UI for trying role restrictions with mock users
blog-bookshopadded to the atlasCAP bookshop with Fiori elements UI deployed whole to Cloud Foundry
blog-cap-chartadded to the atlasFiori overview page comparing aggregated and plain donut-chart cards
cap-bp-ragadded to the atlasEvent-driven RAG app with CAP, Cloud Integration and SAP HANA Cloud
cap-cds-typeradded to the atlasCAP service in TypeScript using types from @cap-js/cds-typer
cap-defaultvalue-functionadded to the atlasCommon.DefaultValuesFunction pointed at a CAP service function
cap-embedding-functionadded to the atlasCAP service computing embeddings with HANA Cloud vector_embedding
cap-external-northwindadded to the atlasCAP service serving Northwind's external OData Products as its own
cap-fe-masseditadded to the atlasMass edit enabled in a Fiori elements list report over CAP
cap-feature-controladded to the atlasSingleton entity whose flags drive Fiori elements feature control
cap-github-actionadded to the atlasCAP project built and deployed to Cloud Foundry by GitHub Actions
cap-java-childadded to the atlasConsumer side of a CAP Java parent pom promotion model with Renovate
cap-java-parent-pom-sampleadded to the atlasMaven parent pom pinning cds-services-bom and Spring Boot for CAP Java
cap-java-resilienceadded to the atlasCAP Java service consuming a Business Partner API mocked in Node.js
cap-js-notificationsadded to the atlasOrder service sending notifications via @cap-js/notifications
Andrefirst recorded in the atlas
Martin Frickfirst recorded in the atlas
MichaelSchmid-AGIfirst recorded in the atlas
xtravelsdemonstrates revisedcapire's XTravels Sample for AI page shows the sample integrating several MCP services and CAP-level agents.
MattBrightmanadded to the atlas
cap-materialbom-graphadded to the atlasCAP sample drawing a material BOM as a UI5 network graph
custom-llm-clientadded to the atlasLocal chat client for SAP questions with a CAP LangGraph backend
fiori-table-maintenanceadded to the atlasCAP and UI5 app for in-place table maintenance with SmartTable
spreadsheetimporter/sample-full-btpadded to the atlasCAP Risks and Mitigations project with a Spreadsheet Upload button
ui5-call-actionadded to the atlasUI5 apps calling CAP OData actions and functions from custom code
ui5con24-dev-envadded to the atlaspnpm workspace running CAP, a local launchpad and two UI5 apps
cap-materialbom-graphentry revisedDrafted from the repository's own files, because its README is the unedited
cds init template and the only sentence the maintainer wrote about it is the repository description, "This is a sample to show the Material as Network Graph in a Fiori elements app": db/schema.cds for the model and the GraphNetwork pseudo-entity, srv/service.js for the READ handler that walks the bill of materials, app/material/webapp/manifest.json for the list report and object page generated from @sap/generator-fiori:lrop and the custom section, the graph fragment for sap.suite.ui.commons.networkgraph, and package.json for @sap/cds ^8 and @cap-js/sqlite. artifact_type sample and use_as starting-point are a placement: one commit, a local SQLite run and no deployment described. domain ui-and-frontend-bridge follows the half of it the sample is about, as on cap-sflight. No licence is recorded: the repository has no LICENSE file and package.json carries the cds init defaults "license": "UNLICENSED" and "private": true.Expertumfirst recorded in the atlas
Matthis Vansteenhuysefirst recorded in the atlas
Stijn Mertensfirst recorded in the atlas
SAP Task Centerrequires revisedSAP's Discovery Center lists both Work Zone editions as required services of the all-tasks plan, and npm run check:catalogue listed the relations with no edge. Basis entitlement and conditional: the plan's own description says either edition serves (vocab PERSPECTIVES, 2026-09-22).
Juliana Moraisadded to the atlas
Andreas Wehrmannfirst recorded in the atlas
Anim Basuadded to the atlas
georgi-shakevfirst recorded in the atlas
Hristina Ivanovafirst recorded in the atlas
kevin-b-sapfirst recorded in the atlas
Markus Bucherfirst recorded in the atlas
@cap-js/cds-dbsname, provides, description revisedThe page led with a one-line index entry and nothing that said the root installs nothing. Written from the repository README, re-read 2026-09-20.
Alla Volkovfirst recorded in the atlas
allacherkesfirst recorded in the atlas
Armin Hattingfirst recorded in the atlas
bryan-weefirst recorded in the atlas
busehalis-sapfirst recorded in the atlas
CAPfirst recorded in the atlas
dheerasameerkfirst recorded in the atlas
Furkan Aksoyfirst recorded in the atlas
Jhodel Cailanfirst recorded in the atlas
krshubham-1first recorded in the atlas
Lidor Talfirst recorded in the atlas
liorfrfirst recorded in the atlas
maheshsooryambylufirst recorded in the atlas
Maksim Pahlbergfirst recorded in the atlas
michawaifirst recorded in the atlas
rayakorenfirst recorded in the atlas
Rima Sirichfirst recorded in the atlas
SanjayBabu SPfirst recorded in the atlas
Sapir Polfirst recorded in the atlas
Shahar Soelfirst recorded in the atlas
Slavik Lvovskyfirst recorded in the atlas
Spreadsheet Importerfirst recorded in the atlas
tal-sapanfirst recorded in the atlas
XinYe22first recorded in the atlas
young.yang03first recorded in the atlas
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.
az-private-linky-capadded to the atlasCAP project reaching S/4 via SAP BTP Private Link Service for Azure
DanKrompadded to the atlas
Martin Pankrazadded to the atlas
Object Store on SAP BTPprovides revisedPlace the service under its direct job of object storage. CAP attachment integration remains represented by existing dependency edges from the attachment plugins.
SAP BTP, Cloud Foundry Runtimeadded to the atlasCloud Foundry runtime of SAP BTP for polyglot applications
abap2UI5first recorded in the atlas
Abdelkader Abdelazizfirst recorded in the atlas
AbdelkaderDefirst recorded in the atlas
Abdulbasıt Gülşenfirst recorded in the atlas
Abhinav Singhfirst recorded in the atlas
Abhishek Anandfirst recorded in the atlas
Abu Buwefirst recorded in the atlas
actions-userfirst recorded in the atlas
Adi Pleyer (priv)first recorded in the atlas
Adrian Bobevfirst recorded in the atlas
Adrian Görlerfirst recorded in the atlas
agt-sapfirst recorded in the atlas
Agustino Limfirst recorded in the atlas
Aisling Noonefirst recorded in the atlas
AjeethKumar Rfirst recorded in the atlas
Ajinkya Patilfirst recorded in the atlas
Ajit Kumar Pandafirst recorded in the atlas
Akshat Jainfirst recorded in the atlas
Akshay Avinashfirst recorded in the atlas
Albin Ramovicfirst recorded in the atlas
Alejandro Sierra Sernafirst recorded in the atlas
Alessandro Biagifirst recorded in the atlas
Alina Govoruhinafirst recorded in the atlas
Alper Dedeoglufirst recorded in the atlas
amitsahu01first recorded in the atlas
Andis Redmansfirst recorded in the atlas
André Adamfirst recorded in the atlas
Andre Meyeringfirst recorded in the atlas
Andreas Kunzfirst recorded in the atlas
Andreas Schmidtfirst recorded in the atlas
Andreas-Meindl-msggroupfirst recorded in the atlas
Andrei Vishnevskyfirst recorded in the atlas
Andrew Barnardfirst recorded in the atlas
Angel Tonchevfirst recorded in the atlas
Anirudh Prasadfirst recorded in the atlas
Anish Kumarfirst recorded in the atlas
Anjanfirst recorded in the atlas
ankulfirst recorded in the atlas
Ankush Kumar Gargfirst recorded in the atlas
Anmol Binanifirst recorded in the atlas
Anmol Choprafirst recorded in the atlas
Annemarie Frankfirst recorded in the atlas
Ansgar Lichterfirst recorded in the atlas
Antonio Maradiagafirst recorded in the atlas
Anupam Medirattafirst recorded in the atlas
apnabahikhatafirst recorded in the atlas
Apurv Trivedifirst recorded in the atlas
Arley Triana Morinfirst recorded in the atlas
Arsalan Khanfirst recorded in the atlas
Artem Kovalovfirst recorded in the atlas
Artemis Coderfirst recorded in the atlas
Arun Krishnamoorthyfirst recorded in the atlas
Ashish Jainfirst recorded in the atlas
ashutoshtghoratfirst recorded in the atlas
Attila Borosfirst recorded in the atlas
Austin Devinefirst recorded in the atlas
Austin Kloskefirst recorded in the atlas
automatizatodofirst recorded in the atlas
avasilev-sapfirst recorded in the atlas
bandlowfirst recorded in the atlas
Benjamin Reimfirst recorded in the atlas
Benny Meifirst recorded in the atlas
Berkayfirst recorded in the atlas
Bhoomikafirst recorded in the atlas
bhoomikkfirst recorded in the atlas
Bob den Osfirst recorded in the atlas
bozaidafirst recorded in the atlas
BraunMatthiasfirst recorded in the atlas
Brian Bernardfirst recorded in the atlas
BrigittaK307first recorded in the atlas
Britta Varwigfirst recorded in the atlas
broksyfirst recorded in the atlas
bthillayfirst recorded in the atlas
CAP Botfirst recorded in the atlas
Capire Docs & Samplesfirst recorded in the atlas
Carl Önnheimfirst recorded in the atlas
cavehillfirst recorded in the atlas
chaithrashreefirst recorded in the atlas
Charles Duboisfirst recorded in the atlas
chcohrsfirst recorded in the atlas
Chiara De Dominicisfirst recorded in the atlas
ChrGlasfirst recorded in the atlas
Christian Fuchsfirst recorded in the atlas
Christian Georgifirst recorded in the atlas
Christian Kolbowskifirst recorded in the atlas
Christian Lechnerfirst recorded in the atlas
Christian Neufirst recorded in the atlas
Christian Schüringsfirst recorded in the atlas
Christian Zindelfirst recorded in the atlas
Christine Hörnerfirst recorded in the atlas
Christoph Gollmickfirst recorded in the atlas
Christoph Matthiesfirst recorded in the atlas
Christos Koutsiarisfirst recorded in the atlas
Cian Morrinfirst recorded in the atlas
Ciarafirst recorded in the atlas
colindoherty1first recorded in the atlas
Cora Bonniefirst recorded in the atlas
corporateuserfirst recorded in the atlas
cronossclkfirst recorded in the atlas
Csaba K Molnárfirst recorded in the atlas
cyrilfirst recorded in the atlas
d023613first recorded in the atlas
D068023first recorded in the atlas
d3rdennisfirst recorded in the atlas
Daniel Dragoleafirst recorded in the atlas
Dániel Hajnalfirst recorded in the atlas
Daniel Hutzelfirst recorded in the atlas
Daniel Kullmannfirst recorded in the atlas
Daniel O'Gradyfirst recorded in the atlas
Daniel O'Gradyfirst recorded in the atlas
Daniel Schlachterfirst recorded in the atlas
Daniel Shterevfirst recorded in the atlas
Danyal Aslamfirst recorded in the atlas
David Gogrichianifirst recorded in the atlas
David H Lamfirst recorded in the atlas
David Knaackfirst recorded in the atlas
David O'Connorfirst recorded in the atlas
David Sooterfirst recorded in the atlas
Davis Voicescuksfirst recorded in the atlas
DeblinaSanyalfirst recorded in the atlas
Deeksha Sinhafirst recorded in the atlas
Deepika Singh NSfirst recorded in the atlas
deklosdevfirst recorded in the atlas
Deni Dajafirst recorded in the atlas
Dennis Eisoldfirst recorded in the atlas
Dennis Hempfingfirst recorded in the atlas
Dietrich Mostowojfirst recorded in the atlas
Dilpreet Kaurfirst recorded in the atlas
Dimitar Fenerskifirst recorded in the atlas
dimitar-nikolov-lazarovfirst recorded in the atlas
Dimitri Herberfirst recorded in the atlas
Diptofirst recorded in the atlas
Dirk Teufelfirst recorded in the atlas
Divyanshu kumarfirst recorded in the atlas
Diya Dhandapanifirst recorded in the atlas
DJ Adamsfirst recorded in the atlas
Dominik Feiningerfirst recorded in the atlas
Dominik Heimfirst recorded in the atlas
Donal Tobin (SAP)first recorded in the atlas
Đông Trầnfirst recorded in the atlas
Dr. David A. Kunzfirst recorded in the atlas
Dr. Markus Königsteinfirst recorded in the atlas
Duc Tai Lyfirst recorded in the atlas
Dusan Sachafirst recorded in the atlas
dx frontier GmbHfirst recorded in the atlas
eckliefirst recorded in the atlas
Eddiefirst recorded in the atlas
Edouard Ouinfirst recorded in the atlas
EGnedelfirst recorded in the atlas
EgorTfirst recorded in the atlas
Ekansh Saxenafirst recorded in the atlas
Ekaterina Mitovafirst recorded in the atlas
Elias Gnedelfirst recorded in the atlas
Emanuel Bahrfirst recorded in the atlas
emincihangerifirst recorded in the atlas
Emre Cevikfirst recorded in the atlas
Enesfirst recorded in the atlas
Eric Pfirst recorded in the atlas
erlethorfirst recorded in the atlas
Ethan Jewettfirst recorded in the atlas
Evan Foxfirst recorded in the atlas
Evgeny Andreevfirst recorded in the atlas
Eyüp Bayçölfirst recorded in the atlas
F7502first recorded in the atlas
Fabian Reinboldfirst recorded in the atlas
FabianBerrfirst recorded in the atlas
Fatih Pensefirst recorded in the atlas
fionan-SAPfirst recorded in the atlas
Florian Richterfirst recorded in the atlas
Florian Vogtfirst recorded in the atlas
Florian Wilhelmfirst recorded in the atlas
Francisco Nataniel Gubbinsfirst recorded in the atlas
Frank Essenbergerfirst recorded in the atlas
Frank Hufnagelfirst recorded in the atlas
Frank Meertensfirst recorded in the atlas
Frank Nietzoldfirst recorded in the atlas
Frank Weigelfirst recorded in the atlas
Franziska Friedrichfirst recorded in the atlas
fred-ops-at-workfirst recorded in the atlas
Freddy Jetty Johnsonfirst recorded in the atlas
Gabriel Marangoni Moitafirst recorded in the atlas
Gavdi Labsfirst recorded in the atlas
GDamyanovfirst recorded in the atlas
Geert-Jan Klapsfirst recorded in the atlas
Geethika Pulafirst recorded in the atlas
georgbischofffirst recorded in the atlas
gernotkuhrfirst recorded in the atlas
Gerritfirst recorded in the atlas
Gert Mertensfirst recorded in the atlas
Gianluca Beilfirst recorded in the atlas
Gopal Anandfirst recorded in the atlas
gopalanand3first recorded in the atlas
Goran Peucfirst recorded in the atlas
GoWalefirst recorded in the atlas
green-m-bitfirst recorded in the atlas
Gregor Wolffirst recorded in the atlas
Grzegorz Karaluchfirst recorded in the atlas
Guilherme Dellagustinfirst recorded in the atlas
Guilherme Segantinifirst recorded in the atlas
Gunnar Koschefirst recorded in the atlas
gwcswfirst recorded in the atlas
hannaolbfirst recorded in the atlas
Harshith Kumar Reddyfirst recorded in the atlas
HatriGt Acefirst recorded in the atlas
Heiko Theißenfirst recorded in the atlas
Heiko Witteborgfirst recorded in the atlas
heikowitteborgfirst recorded in the atlas
Helmut Tammenfirst recorded in the atlas
Henning Heitkötterfirst recorded in the atlas
Henry Brinkfirst recorded in the atlas
Hitesh Parmarfirst recorded in the atlas
hjbothfirst recorded in the atlas
Hubert Dreckerfirst recorded in the atlas
IainSAPfirst recorded in the atlas
iDschepefirst recorded in the atlas
Ikko Eltociear Ashiminefirst recorded in the atlas
Ilia Kushnirfirst recorded in the atlas
Ilya Klopkovfirst recorded in the atlas
Ingmar Lemkefirst recorded in the atlas
Injun Parkfirst recorded in the atlas
iot-cparsfirst recorded in the atlas
Isaac Palomerofirst recorded in the atlas
Ivan Paunovfirst recorded in the atlas
IvoSGfirst recorded in the atlas
Iwona Hahnfirst recorded in the atlas
Iyad-Alhafezfirst recorded in the atlas
J Longfirst recorded in the atlas
jadolffirst recorded in the atlas
Jakob Marius Kjaerfirst recorded in the atlas
Jan Dudafirst recorded in the atlas
Jan Müllerfirst recorded in the atlas
Janumpally Kalyanfirst recorded in the atlas
Jason Maritzfirst recorded in the atlas
jdmulefirst recorded in the atlas
jeevitha011first recorded in the atlas
Jeff Dederickfirst recorded in the atlas
Jegors Čemisovsfirst recorded in the atlas
Jegors Čemisovsfirst recorded in the atlas
JenniferStammfirst recorded in the atlas
Jere Kelonenfirst recorded in the atlas
Jérôme Benoitfirst recorded in the atlas
Jimmy Josephfirst recorded in the atlas
Joaquin Recio Huertasfirst recorded in the atlas
JocelynGu135first recorded in the atlas
johannagonnzdzfirst recorded in the atlas
Johannes Eschrigfirst recorded in the atlas
Johannes Gluchfirst recorded in the atlas
Johannes Kolbefirst recorded in the atlas
Johannes Neisenerfirst recorded in the atlas
Johannes Vogelfirst recorded in the atlas
Johannes Vogtfirst recorded in the atlas
Jörg Mannfirst recorded in the atlas
Julian Breukschfirst recorded in the atlas
Julian Fliellerfirst recorded in the atlas
Julian Königfirst recorded in the atlas
julian-schambeckfirst recorded in the atlas
Junjie Tangfirst recorded in the atlas
Jürgen Walterfirst recorded in the atlas
Juri Zeislerfirst recorded in the atlas
kalevSAPfirst recorded in the atlas
kalyanjanumpallyfirst recorded in the atlas
KamalKumarSardiwalfirst recorded in the atlas
KavithaSivafirst recorded in the atlas
Kay Schmitteckertfirst recorded in the atlas
Kazuhiko Takatafirst recorded in the atlas
Keckl, Matthiasfirst recorded in the atlas
ketzlerfirst recorded in the atlas
Kevin Riedelsheimerfirst recorded in the atlas
KevinC0210first recorded in the atlas
Khalid Marhoumfirst recorded in the atlas
kingagesfirst recorded in the atlas
kitzkanfirst recorded in the atlas
Klaus Kellerfirst recorded in the atlas
KopalJauharifirst recorded in the atlas
korotkovaofirst recorded in the atlas
Kostas T.first recorded in the atlas
kranthie-sapfirst recorded in the atlas
Krish Bhardwajfirst recorded in the atlas
krish469first recorded in the atlas
KritiShekharfirst recorded in the atlas
KS-Prathikshafirst recorded in the atlas
kshanthfirst recorded in the atlas
KSPrathikshafirst recorded in the atlas
LalithManokarfirst recorded in the atlas
Lars Hvamfirst recorded in the atlas
Lars Plessingfirst recorded in the atlas
Lennartfirst recorded in the atlas
LiamM2004first recorded in the atlas
Lisa Julia Nebelfirst recorded in the atlas
Lochner Louwfirst recorded in the atlas
Lochner Louwfirst recorded in the atlas
lorenzobigsfirst recorded in the atlas
Lothar Benderfirst recorded in the atlas
Louise Findlayfirst recorded in the atlas
Luca Wunderlichfirst recorded in the atlas
lucaatsapfirst recorded in the atlas
Ludwig Stockbauer-Muhrfirst recorded in the atlas
Lukas Böhmfirst recorded in the atlas
Lukas Fitzfirst recorded in the atlas
Lukas Schwabefirst recorded in the atlas
Lukas Theis (MuwuM)first recorded in the atlas
M Sahufirst recorded in the atlas
madankumarpichamuthufirst recorded in the atlas
Madhusudhanan Perumalswamyfirst recorded in the atlas
Mahati Shankarfirst recorded in the atlas
Malemfirst recorded in the atlas
ManevaVfirst recorded in the atlas
Manuel Finkfirst recorded in the atlas
ManuelPastorinifirst recorded in the atlas
mar-holfirst recorded in the atlas
Mara Nikola Kieferfirst recorded in the atlas
M̷̱̥̳͔̖̠̙͈̫͕͔̳͉̱̣̭̮̠̰̄͊̒̈͛͗̈̇͆͗͆͋̾̋̅ͅͅẠ̴̡̬̭͓̟̠̣̤̓̽͛̋̌̆̆̔́̊̋́͜Ŕ̶͈̹̯̹͈̠̮̰̓̈́̐̊͐̕̕͝C̷̨̡̖̱̭͉̞̗̳͈̩͚̏͛̓̃͂͌̀̆͊̅̃̒̄͐̿̽̚͝first recorded in the atlas
Marc Beckerfirst recorded in the atlas
Marc Bernardfirst recorded in the atlas
Marcel Schorkfirst recorded in the atlas
Marcel Schwarzfirst recorded in the atlas
MarcelWaechterfirst recorded in the atlas
Marco Viethfirst recorded in the atlas
Marian Zeisfirst recorded in the atlas
mariayordfirst recorded in the atlas
Marika Marszalkowskifirst recorded in the atlas
Mario Kernichfirst recorded in the atlas
Marius Freitagfirst recorded in the atlas
MariusPerleSAPfirst recorded in the atlas
Markus Fathfirst recorded in the atlas
Markus Haugfirst recorded in the atlas
Markus Ofterdingerfirst recorded in the atlas
Markus Reetz-Lamourfirst recorded in the atlas
Markus Riedingerfirst recorded in the atlas
Marten Schiwekfirst recorded in the atlas
Martin Januskafirst recorded in the atlas
Martin Lakovfirst recorded in the atlas
Martín Rodríguezfirst recorded in the atlas
Martin Stenzigfirst recorded in the atlas
martindecortefirst recorded in the atlas
Maruf Rasullyfirst recorded in the atlas
Marvin Lfirst recorded in the atlas
Marvin Weitzfirst recorded in the atlas
Matthiasfirst recorded in the atlas
Matthias Kieferfirst recorded in the atlas
Matthias Kuhrfirst recorded in the atlas
Matthias Oßwaldfirst recorded in the atlas
Matthias Schurfirst recorded in the atlas
Mattias Johanssonfirst recorded in the atlas
Mauricio Laufferfirst recorded in the atlas
Maxfirst recorded in the atlas
Max Gruenfelderfirst recorded in the atlas
Max Meinelfirst recorded in the atlas
Max Reichmannfirst recorded in the atlas
Max Streifenederfirst recorded in the atlas
maxi1555first recorded in the atlas
Maximilian Eckertfirst recorded in the atlas
Maximilian Moehlfirst recorded in the atlas
Maximilian Weilerfirst recorded in the atlas
Mayank Guptafirst recorded in the atlas
Md. Ashraful Alamfirst recorded in the atlas
Medelkouch98first recorded in the atlas
meltem7first recorded in the atlas
Merbin J Anselmfirst recorded in the atlas
Merlin Beutlbergerfirst recorded in the atlas
Metzing Mártonfirst recorded in the atlas
mfigueirfirst recorded in the atlas
Mhidayah19first recorded in the atlas
Mi8Y Technologiesfirst recorded in the atlas
Michał Majerfirst recorded in the atlas
Mikhail Goncharovfirst recorded in the atlas
Mio Yasutakefirst recorded in the atlas
Mirko Güntherfirst recorded in the atlas
Mirko Güntherfirst recorded in the atlas
Miroslav Tsvetanovfirst recorded in the atlas
mmilko01first recorded in the atlas
Modood Alvifirst recorded in the atlas
motarobertafirst recorded in the atlas
mrbandlerfirst recorded in the atlas
mushegh-sapfirst recorded in the atlas
muskansethi1first recorded in the atlas
Mustafa Mengütayfirst recorded in the atlas
mzimnnfirst recorded in the atlas
Nfirst recorded in the atlas
N2oB6n-SAPfirst recorded in the atlas
Nafees Ahmedfirst recorded in the atlas
nafis0077first recorded in the atlas
NAGARJUN DASfirst recorded in the atlas
Nangiale Shirfirst recorded in the atlas
Narendran N Vfirst recorded in the atlas
Navin Krishnanfirst recorded in the atlas
Nazife Alidzhikfirst recorded in the atlas
neoimpulse GmbHfirst recorded in the atlas
Nick Josipovicfirst recorded in the atlas
Nico Schoenteichfirst recorded in the atlas
Nicolas Lunetfirst recorded in the atlas
niemdafirst recorded in the atlas
Nigel Jamesfirst recorded in the atlas
Nikita B.first recorded in the atlas
Niklasfirst recorded in the atlas
Niko Lockenvitzfirst recorded in the atlas
Nikolay Grechanovfirst recorded in the atlas
Nils Hirsekornfirst recorded in the atlas
Nils Schnabelfirst recorded in the atlas
nocinfirst recorded in the atlas
oblomov-devfirst recorded in the atlas
ODATANOfirst recorded in the atlas
Ognyan Kulevfirst recorded in the atlas
Olaf Schmidtfirst recorded in the atlas
Ole Lilienthalfirst recorded in the atlas
Olegs Bugrovsfirst recorded in the atlas
Olenafirst recorded in the atlas
Olena Vyshnevskafirst recorded in the atlas
Oliver Klemenzfirst recorded in the atlas
Olivers Berzsfirst recorded in the atlas
Oliwerfirst recorded in the atlas
Ondřej Šebelafirst recorded in the atlas
OpenUI5 Botfirst recorded in the atlas
Paneesh Prabhurajfirst recorded in the atlas
Pascal Wasemfirst recorded in the atlas
patimwebfirst recorded in the atlas
patimwepneofirst recorded in the atlas
Patrice Benderfirst recorded in the atlas
Patrick frisonfirst recorded in the atlas
Paulfirst recorded in the atlas
Paulchenfirst recorded in the atlas
Pavanfirst recorded in the atlas
Pavel Kornevfirst recorded in the atlas
PavelNikitsiukfirst recorded in the atlas
Petar Dimovfirst recorded in the atlas
Peter Muessigfirst recorded in the atlas
Petr Plenkovfirst recorded in the atlas
PetrStribrnyfirst recorded in the atlas
Pierre Fritschfirst recorded in the atlas
Pieter Janssensfirst recorded in the atlas
PrathikshaKSfirst recorded in the atlas
Preetam Kajal Routfirst recorded in the atlas
Priyanka R Sfirst recorded in the atlas
PujaDeshmukh17first recorded in the atlas
pwasemsapfirst recorded in the atlas
QuadriO Beratungsgesellschaft mbHfirst recorded in the atlas
QuentinCHAMPAULTfirst recorded in the atlas
Rafael Augusto Leite Yegrosfirst recorded in the atlas
Rafael Yegrosfirst recorded in the atlas
rafaelhofffirst recorded in the atlas
raghavskfirst recorded in the atlas
Rahulfirst recorded in the atlas
rajbhuva1first recorded in the atlas
Rajdeep Bhuvafirst recorded in the atlas
Ralf Handlfirst recorded in the atlas
Ram Prasad GSfirst recorded in the atlas
rashmiangadi05first recorded in the atlas
rbrechterfirst recorded in the atlas
rd-sapfirst recorded in the atlas
René Jeglinskyfirst recorded in the atlas
resitamasfirst recorded in the atlas
Richard Lindnerfirst recorded in the atlas
Rishi Kunnathfirst recorded in the atlas
Robert Jakobsfirst recorded in the atlas
Robert Kaniafirst recorded in the atlas
Robert Wittfirst recorded in the atlas
Robinfirst recorded in the atlas
Robinfirst recorded in the atlas
Robin Kuckfirst recorded in the atlas
Rohtash Pooniafirst recorded in the atlas
Romans Koldunsfirst recorded in the atlas
RoshniNaveenaSfirst recorded in the atlas
rygiolfirst recorded in the atlas
SAHIL SACHDEVAfirst recorded in the atlas
SalvatoreLafirst recorded in the atlas
Samuel Bruckschfirst recorded in the atlas
Samyuktha Prabhufirst recorded in the atlas
sanat-thukralfirst recorded in the atlas
Sanoberfirst recorded in the atlas
SAPfirst recorded in the atlas
SAP Architecture Centerfirst recorded in the atlas
SAP Cloud Application Programming Modelfirst recorded in the atlas
SAP Cloud SDK Botfirst recorded in the atlas
SAP Mentors & Friendsfirst recorded in the atlas
SAP Open Source Admin Botfirst recorded in the atlas
SAPzer0first recorded in the atlas
Saurabh Kumarfirst recorded in the atlas
saurbhsinghfirst recorded in the atlas
sbabevfirst recorded in the atlas
Sebastian Blessingfirst recorded in the atlas
Sebastian Eschfirst recorded in the atlas
Sebastian Mahrfirst recorded in the atlas
Sebastian Schmidtfirst recorded in the atlas
Sebastian Wennemersfirst recorded in the atlas
Sebastian Wolffirst recorded in the atlas
Sebastiano Marchesinifirst recorded in the atlas
Sébastien Savallefirst recorded in the atlas
Sergei Hallerfirst recorded in the atlas
shahidlafirst recorded in the atlas
ShahMeet1first recorded in the atlas
Shankari G Rfirst recorded in the atlas
Sharmavkshfirst recorded in the atlas
Shen Linfirst recorded in the atlas
shibeshduwfirst recorded in the atlas
Shreyas Sfirst recorded in the atlas
Shubho Banerjeefirst recorded in the atlas
shubho5first recorded in the atlas
Siarhei Murkoufirst recorded in the atlas
sidakphullfirst recorded in the atlas
Simeon Petkovfirst recorded in the atlas
simeongelovskifirst recorded in the atlas
Simonfirst recorded in the atlas
Simon Coenfirst recorded in the atlas
Simon Engelfirst recorded in the atlas
Simon Heimlerfirst recorded in the atlas
Simon Koblerfirst recorded in the atlas
Simon Vestergaard Laursenfirst recorded in the atlas
simonoswaldfirst recorded in the atlas
singhal-bhavyafirst recorded in the atlas
Siyana Todorovafirst recorded in the atlas
sjvansfirst recorded in the atlas
SkylarkAfirst recorded in the atlas
somagsfirst recorded in the atlas
Sophie-Marie Lückfirst recorded in the atlas
Sören Leibachfirst recorded in the atlas
SoujitD-SAPfirst recorded in the atlas
SRKPendyalafirst recorded in the atlas
stbabevfirst recorded in the atlas
Stefan Engelhardtfirst recorded in the atlas
Stefan Henkefirst recorded in the atlas
Stefan Rudifirst recorded in the atlas
Stefan Schreckfirst recorded in the atlas
Stefania Santimbreanfirst recorded in the atlas
Steffen Waldmannfirst recorded in the atlas
Steffen Weinstockfirst recorded in the atlas
Stephen Cherianfirst recorded in the atlas
Steven De Saeger ( Sedacrivity )first recorded in the atlas
StoilAtSAPfirst recorded in the atlas
Sushant Priyadarshifirst recorded in the atlas
swendlandtfirst recorded in the atlas
TaldykinVyacheslavfirst recorded in the atlas
TanyaMedvedevafirst recorded in the atlas
Terry-Huang-00first recorded in the atlas
testojsfirst recorded in the atlas
Theo Sunfirst recorded in the atlas
Thomas Bonkfirst recorded in the atlas
Thomas Frischholzfirst recorded in the atlas
Thomas Hammerfirst recorded in the atlas
Thomas Jungfirst recorded in the atlas
Thomas Swolfsfirst recorded in the atlas
Thomas-Neuhauserfirst recorded in the atlas
Thorbenfirst recorded in the atlas
Thorsten Hochreuterfirst recorded in the atlas
Thorsten Sandfuchsfirst recorded in the atlas
Tiago Martinsfirst recorded in the atlas
Tian Tengfirst recorded in the atlas
TiKeiNeofirst recorded in the atlas
Til Weberfirst recorded in the atlas
Tim Schulze-Hartungfirst recorded in the atlas
Timon Gäbeleinfirst recorded in the atlas
Timothy Gibbonsfirst recorded in the atlas
Tobias Queckfirst recorded in the atlas
Tomfirst recorded in the atlas
Tom Frenkenfirst recorded in the atlas
Tomas Rimkusfirst recorded in the atlas
Tommyfirst recorded in the atlas
Tongwei Zhangfirst recorded in the atlas
Tony Quachfirst recorded in the atlas
Tuan Dinhfirst recorded in the atlas
Tux240first recorded in the atlas
UBSusmithafirst recorded in the atlas
UI5first recorded in the atlas
UI5 Communityfirst recorded in the atlas
Ullas Hollafirst recorded in the atlas
UserAbcd1234first recorded in the atlas
Uwe Klingerfirst recorded in the atlas
Uwe Schwerkfirst recorded in the atlas
vadson71first recorded in the atlas
vibhutikumarfirst recorded in the atlas
Vilim Mikicfirst recorded in the atlas
vinayhospetefirst recorded in the atlas
Vincent Escalierfirst recorded in the atlas
vincentatsapfirst recorded in the atlas
Vinícius Barrionuevofirst recorded in the atlas
Vinicius Cesar Diasfirst recorded in the atlas
viniciuslorafirst recorded in the atlas
Vitalii Komarfirst recorded in the atlas
Vitaly Kozyurafirst recorded in the atlas
Vivek Gowdafirst recorded in the atlas
VivienLeonhardtfirst recorded in the atlas
Vladimirfirst recorded in the atlas
Vladimirs Semikinsfirst recorded in the atlas
Vladislav Leonkevfirst recorded in the atlas
Vladislavs-Silins-SAPfirst recorded in the atlas
vlovinifirst recorded in the atlas
Volker Buzekfirst recorded in the atlas
Vrishin Patelfirst recorded in the atlas
Wenjun Zhengfirst recorded in the atlas
Willem Pardaensfirst recorded in the atlas
Wouter Lemairefirst recorded in the atlas
Yannick Winterfirst recorded in the atlas
Yannis Moserfirst recorded in the atlas
Yarloy037first recorded in the atlas
yashmeet29first recorded in the atlas
YatishNagarajafirst recorded in the atlas
Yavor Ivanovfirst recorded in the atlas
Yevgen Trukhinfirst recorded in the atlas
YuanZhuang107first recorded in the atlas
Yusmen Rashidovfirst recorded in the atlas
z-mvgfirst recorded in the atlas
zakfirst recorded in the atlas
Zdravko Georgievfirst recorded in the atlas
Zhongpin Wangfirst recorded in the atlas
Ziyang Lifirst recorded in the atlas
Zongqi Chenfirst recorded in the atlas
zzsshalikfirst recorded in the atlas
approuteradded to the atlasShowcase for dev-approuter in front of two UI5 apps
bookshop-javaadded to the atlasJava implementation of the capire/bookshop getting-started sample
bookstore-javaadded to the atlasJava implementation of the capire/bookstore composite app
btp-user-management-microserviceadded to the atlasCAP microservice on XSUAA managing users and authorizations
cap-microservices-workshopadded to the atlasreCAP 2025 workshop on cutting a CAP app into microservices
cap-nodejs-dev-envadded to the atlasDevelopment container definition for CAP Node.js
cds-bookshopadded to the atlasCAP bookshop showing UI5 development with cds-plugin-ui5
commonadded to the atlasSample CAP plugin extending @sap/cds/common with reuse data
ordersadded to the atlasSample CAP reuse service for orders, with a Fiori UI
orders-javaadded to the atlasSample CAP Java reuse service for orders, with a Fiori UI
reviewsadded to the atlasSample CAP reuse service for reviews, with a Fiori UI
reviews-javaadded to the atlasSample CAP Java reuse service for reviews, with a Vue UI
Sample CAP Application with SAP Cloud SDK for AIadded to the atlasCAP samples calling SAP AI Core through the SAP Cloud SDK for AI
SAP BTP AI Best Practice Demo - Content Filtering - CAPadded to the atlasCAP samples comparing SAP AI Core responses with content filtering
SAP BTP AI Best Practice Demo - Data Masking - CAPadded to the atlasCAP samples generating email through SAP AI Core with anonymization
SAP BTP AI Best Practice Demo - Prompt Registry - CAPadded to the atlasCAP samples using SAP AI Core's Prompt Registry for templates
SAP BTP AI Best Practice Demo - Prompt Templating - CAPadded to the atlasCAP samples filling a prompt template sent to SAP AI Core
SAP BTP AI Best Practice Demo - Vector Embedding (RAG) - CAPadded to the atlasCAP samples embedding CSV rows into the SAP HANA Cloud vector store
SAP BTP AI Best Practice Demo - Vector Query (RAG) - CAPadded to the atlasCAP samples running RAG similarity queries over SAP HANA Cloud vectors
shared-dbadded to the atlasCAP sample sharing one domain model and database across apps
shared-db-javaadded to the atlasCAP Java sample sharing one domain model across several apps
tailspendmanagementadded to the atlasCAP reference application for tail spend management
teched2025-XP260added to the atlasTechEd 2025 workshop on OWASP Top 10 risks in CAP applications
ui5-bookshop-vieweradded to the atlasUI5 app consuming the cds-bookshop server via ui5-middleware-cap
xflightsadded to the atlasCAP reuse package serving Airlines, Airports and Flights data
xflights-javaadded to the atlasCAP Java reuse package for Airlines, Airports and Flights data
xsa-cap-migrationadded to the atlasGuide migrating the hana-shine-xsa demo from XS Advanced to CAP
xsa-cap-migration-using-basextnadded to the atlasGuide to migrating XS Advanced database artefacts to CAP
xsc-cap-migrationadded to the atlasGuide to migrating XS Classic database artefacts to CAP
xtravelsadded to the atlasCAP travel-booking app built on xflights master data
xtravels-javaadded to the atlasCAP Java travel-booking app built on xflights-java master data
cap-vector-hccapability revisedThe capability moved to a neutral id when it opened to HANA, BTP and ABAP; the concern and this entry's edge to it are unchanged.
liteinventorymanagementadded to the atlasCAP reference app for lightweight local inventory management
SAP-samples/btp-cap-dox-invoice-validationadded to the atlasCAP app validating invoices with Document Information Extraction
SAP-samples/btp-cap-genai-ragadded to the atlasCAP reference app for GenAI email support with RAG on HANA Cloud
SAP-samples/btp-cap-genai-semantic-searchadded to the atlasCAP sample for semantic search with Generative AI Hub and HANA Cloud
SAP-samples/btp-developer-guide-capadded to the atlasIncident Management CAP app for the SAP BTP Developer's Guide
SAP-samples/btp-event-driven-multi-tenant-architectureadded to the atlasCAP sample of SAP Event Mesh events feeding a multi-tenant SaaS app
SAP-samples/btp-joule-a2a-pro-code-agentadded to the atlasA2A reference letting Joule delegate to a CAP pro-code agent
SAP-samples/btp-secure-developmentadded to the atlasOWASP Top 10 workshop exploiting and fixing flaws in a CAP Node.js app
SAP-samples/cap-bookshop-wdi5added to the atlasCAP bookshop with wdi5 system tests for a CI/CD tutorial
SAP-samples/cap-cds-hands-onadded to the atlasFive-part workshop on CDS, from a first service to constraints
SAP-samples/cap-hana-exercises-codejamadded to the atlasCodeJam building a full-stack CAP app on SAP HANA Cloud
SAP-samples/cap-local-development-workshopadded to the atlasreCAP 2025 workshop on CAP's local-development toolset
SAP-samples/cap-service-integration-codejamadded to the atlasCodeJam on consuming external services from a CAP project
SAP-samples/cap-sflightadded to the atlasTravel-booking reference app on CAP Node.js and Java backends
SAP-samples/cap-tour-hands-onadded to the atlasEight-exercise tour of CAP features, from mocking to plugins
SAP-samples/cloud-cap-hana-swapiadded to the atlasCAP data model of many-to-many relationships on a Star Wars dataset
SAP-samples/cloud-cap-samples-javaadded to the atlasBookshop app demonstrating the CAP Java SDK end to end
SAP-samples/cloud-foundry-runtime-learning-journeyadded to the atlasCompanion repo deploying a CAP app to Cloud Foundry two ways
SAP-samples/codejam-cap-llmadded to the atlasCodeJam on a CAP job posting service using SAP AI Core over OData
SAP-samples/e-mobility-driver-appadded to the atlasCAP-based PWA for EV drivers proxying SAP E-Mobility OData APIs
SAP-samples/event-hub-cap-samplesadded to the atlasCAP consumer of SAP Cloud Application Event Hub events
SAP-samples/fiori-elements-feature-showcaseadded to the atlasShowcase of Fiori elements for OData V4 features on a CAP backend
SAP-samples/fiori-elements-fpm-exercises-codejamadded to the atlasCodeJam building a bookshop app on the flexible programming model
SAP-samples/fiori-elements-v4-cap-advancedadded to the atlasExercise solutions for the UX405 course on Fiori elements with CAP
SAP-samples/odata-dd-serveradded to the atlasCAP Node.js server behind the OData Deep Dive tutorials
SAP-samples/partner-reference-applicationadded to the atlasPoetry Slam Manager, a multi-tenant SaaS reference app on SAP BTP
SAP-samples/partner-reference-application-extensionadded to the atlasCustomer-specific catering extension to the Poetry Slam Manager
SAP-samples/recap2026-cap-level-data-federationadded to the atlasreCAP 2026 workshop on data federation between CAP applications
SAP-samples/ui5-cap-event-appadded to the atlasEvent registration app showing OData V4 draft with UI5 and CAP
slp-supplier-validationadded to the atlasCAP reference app validating Ariba supplier registration data
ui5-cap-todoadded to the atlasTodo app with CAP and SAPUI5 in TypeScript over OData V4
SAP Samplesadded to the atlas
Object Store on SAP BTPadded to the atlasBinding onto hyperscaler object storage, chosen by plan
SAP Task Centeradded to the atlasOne inbox for tasks across SAP applications and BTP workflows
sap-cap-mongodbadded to the atlasCAP service reading and writing MongoDB from custom handlers
SAP-samples/cap-agentic-engineeredadded to the atlasFinancial Risk Analyzer built by an agent grounded in SAP MCP servers
SAP-samples/cap-agentic-engineeredentry revisedEntered from the sap-ai-mcp-servers catalogue, which is credited as the source; written from the repository's own README rather than from the catalogue's line about it. Hard rule 7: skills are indexed, never authored here. The catalogue files it under skills; its own README calls it a reference application showing what grounding does, so it is typed sample and demonstrates rather than provides. VISION §5: evidence is never an option you depend on.
@capire/data-vieweradded to the atlasSample CAP plugin adding a generic data browser
capire/bookshopadded to the atlasCAP's getting-started bookshop sample
capire/bookstoreadded to the atlasComposite CAP app from separately deployed services
capire/docsadded to the atlasSources of capire, the CAP documentation
capire/incidents-appadded to the atlasIncident Management reference application for CAP
@cap-js/cds-dbsartifact type, 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.
repository-templatedescription 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.
@cap-utils/barrieradded to the atlasPlaceholder package under a CAP annotations name, no annotations
assert-targetadded to the atlasWhich CAP paths trigger @assert.target and which do not
attachment-reuse-controls-sampleadded to the atlasFiori Elements page embedding upload controls on @cap-js/attachments
cap-alpadded to the atlasAnalytical List Page over a CAP OData V4 service
cap-ams-a2aadded to the atlasApp-to-app setups between CAP Java and CAP Node.js under AMS and IAS
cap-cross-containeradded to the atlasCAP services reading each other's HANA tables across HDI containers
cap-java-auth-checkadded to the atlasCAP Java authorization checks tried case by case
cap-java-draft-composition-deleteadded to the atlasCAP Java draft cancel on composition items as a flag update
cap-java-snippetsadded to the atlasTen short CAP Java references, one document per topic
cap-mediaadded to the atlasMedia handling in core CDS with a UI5 UploadSet
cap-oauth-destinationadded to the atlasOAuth2UserTokenExchange destination declared in mta.yaml
cap-ui5-gpt-chatadded to the atlasChat app on CAP and SAPUI5 against the OpenAI API
cap-vector-hcadded to the atlasVECTOR_EMBEDDING in a CDS entity for FAQ similarity search
fiori-dynamic-feature-controladded to the atlasOne object page field made read-only from another's value, two ways
fiori-inline-editadded to the atlasList report inline edit on a draft-enabled CAP service
fiori-invoke-functionadded to the atlasCalling an unbound CAP Java function from freestyle UI5
fiori-navigation-patternsadded to the atlasOutbound navigation patterns from a Fiori Elements list report
forsap-s4hana-private-simulatoradded to the atlasCAP project simulating S/4HANA Private Edition OData APIs locally
repository-templateadded to the atlasRepository template with LICENSE, REUSE and compliance files
ui5-ai-features-demoadded to the atlasProduct-review screen consuming ui5-cap-ai-features on CAP
bookshop-amsdomain 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.
bookshop-demodemonstrates revisedIt demonstrates three capabilities across two domains and is no single thing's example, which is what a reference application is. Attaching it to the capability that exists for that gives Reference applications a population beyond the one plugin that scaffolds one.
cap-azure-ad-b2cdomain 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.
cap-replication-demodomain 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.
cap-rfcdomain 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.
cap-sflight-hierarchydomain 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.
cap-typescriptdomain 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.
cap-websocketsdomain 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.
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.
pg-beershopdomain 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.
SAP-NPM-API-collectiondomain 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.
bookshop-amsadded to the atlasCAP bookshop wired to the Authorization Management Service
bookshop-demoadded to the atlasSimple CDS bookshop model used across CAP explanations
btpvulnerabilityreportadded to the atlasCAP and Fiori app showing BTP Application Vulnerability Report data
cap-agent-ui5-webui-sampleadded to the atlasWorked example of the cap-agent-ui5-webui plugin
cap-azure-ad-b2cadded to the atlasAuthenticating a CAP service against Azure AD B2C
cap-replication-demoadded to the atlasReplication between systems with CAP
cap-rfcadded to the atlasCalling ABAP function modules over RFC from a CAP service
cap-sflight-hierarchyadded to the atlassflight example extended with hierarchy support
cap-typescriptadded to the atlasMinimal CAP project in TypeScript
cap-websocketsadded to the atlasWebSocket push from a CAP service
mtxs-reviewsadded to the atlasMultitenant CAP application using cds-mtxs
pg-beershopadded to the atlasCAP beershop on PostgreSQL, predating an official adapter
SAP-NPM-API-collectionadded to the atlasAPI documentation extracted from SAP-published npm packages
cap-js-communityfirst recorded in the atlas
Mike Zaschkafirst recorded in the atlas
@cap-js/cds-dbsadded to the atlasMonorepo of CAP's SQL database services
@sap/cds 10 released@sap/cds 10 releasedThe active line. Everything written against an older major now reads against a line in maintenance or ended.
SAP-samples/cloud-cap-hana-swapireleased 1.8.0Walkthroughs that query or annotate the old helper entities such as
climate or hair_colors.@sap/cds 9 released@sap/cds 9 releasedNow in maintenance until 2027-06.
@sap/cds 8 released@sap/cds 8 releasedNow no longer maintained.