NewSAP Cloud Application Programming Model

Today
64 changes
audit-summaryadded to the atlasGroups npm audit findings by root dependency, with failing thresholdsCLI,
enforce-export-coverageadded to the atlasStatic check that each exported TypeScript function has a testCLI,
git-env-branchesadded to the atlasShows which feature branches reached which environment branchCLI,
Give Your AI Agent Some Tools: Introducing the UI5 MCP ServerpublishedAnnounces @ui5/mcp-server, 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 fixes) read the project's own version, manifest and code rather than an LLM's training data, which is what agent access to your code 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 generators.Blog,
Show 60 more
hana-linteradded to the atlasRegex naming rules for SAP HANA artifacts in a CAP projectCLI,
Joule Studioがリリースされたので早速CAPアプリを自然言語で操作するカスタムスキルを構築してみたpublishedA walkthrough of building a custom Joule Studio 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 service (XSUAA), and mbt build packages the app for deployment to the SAP BTP, Cloud Foundry Runtime. The skill reaches the deployed OData API through the SAP Destination service, 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.Blog,
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 Studio's JavaScript Debug Terminal. It also walks through an @open entity that accepts properties the model never declared, and reading temporal data 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.Blog,
SAP Fiori Application Generator Available in Open SourcepublishedThe SAP Fiori tools team announces that the code behind @sap/generator-fiori 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.Blog,
UI5 MCP Server Got Extended for UI Integration Cards GenerationpublishedVersion 0.2.1 of the UI5 MCP Server 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.Blog,
Robin van het Hofadded to the atlasPerson,
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.Capability,
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.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.Capability,
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.Capability,
App hostingcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the absence claim about ui5 artifacts.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Change promotioncore coverage, id, ecosystems, name revisedPublic feedback issue #9. The ABAP name is kept in framing_by_ecosystem.abap; the default name and description now state the cross-door concern.Capability,
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.Capability,
Concurrency controlcore coverage revisedReassessed against the graph (check:capabilities): states what the community provider adds beyond the ETag.Capability,
Configurationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): config-management arrived as a provider after the block was last looked at; the state stays core-and-community.Capability,
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.Capability,
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.Capability,
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.Capability,
Deploymentcoverage by ecosystem revisedReassessed against the graph (check:capabilities): SAP's BTP services now provide this capability behind the door, so the note's count-like absence of providers no longer holds. The state stays core-only: the providers are SAP-official and none comes from the community.Capability,
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).Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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).Capability,
Health checkscore coverage revisedReassessed against the graph (check:capabilities): the only provider behind the CAP door is the runtime core @sap/cds, so no provider of another origin counts for the door. The state follows the providers; the block's prose already names no community answer.Capability,
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.Capability,
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.Capability,
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.Capability,
Knowing the maintenance status of a releasecore coverage, coverage by ecosystem revisedui5-task-check-eocp, from public feedback issue #6, is the first independent provider on the UI5 door, beside SAP's SAPUI5 version overview.Capability,
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.Capability,
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.Capability,
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.Capability,
Loggingcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the state is now community-only and the block needed to say what the community adds.Capability,
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.Capability,
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.Capability,
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.Capability,
Platform migrationcore coverage revisedReassessed against the graph (check:capabilities): a partner artifact serving the BTP door provides this capability, which the core-only state contradicted. The core stays, since what_core_does is sourced.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Telemetrycoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removes a universal claim about the providers that goes stale as they arrive.Capability,
Tool governancedescription, core coverage, coverage by ecosystem, framing by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): a count of providers removed.Capability,
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.Capability,
Vulnerability scanningecosystems, description revisedPublic feedback issue #10. CAP and UI5 coverage assessed as unmapped: no atlas artifact provides the dependency-tree check there yet.Capability,
Workflow integrationcore coverage revisedReassessed against the graph (check:capabilities): the CAP Java n8n plugin is SAP-official and uses the outbox, so outbox dispatch is no longer only a community addition. Source: the plugin's README. State unchanged.Capability,
Yesterday
7 changes
[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 modelling. Alongside these it covers @cds.query.limit for default and maximum page sizes (pagination and streaming), @odata.etag with exclusive and shared locks for optimistic concurrency (concurrency control), and @cds.search for scoping $search to chosen elements (search), each with a CDS code example.Blog,
#BTP #SAPCAP: Quirky Nuggets (N05-N06)publishedOn SAP BTP, Cloud Foundry Runtime, a one-shot PostgreSQL db-deployer app can be restarted by the platform's default port-type health check inside its 60-second timeout, re-running the deploy and duplicating data in the PostgreSQL database; setting health-check-type to process or http, via cf commands or the app's mta.yaml parameters, avoids it. In CAP, a remote service's entities are imported and consumed through cds.connect.to and queried via a projection, but its functions and actions cannot be projected: they must be redefined in the consuming service's own interface, with the handler forwarding the call to the remote proxy.Blog,
CAPVAL: A project is bornpublishedThis second CAPVAL post announces CAPVAL 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 validation mechanic the project builds on, and the release otherwise adds automated tests and release-automation GitHub Actions rather than new annotations.Blog,
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'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.Blog,
Show 3 more
Keep the Core Clean with Rizing CDSXpublishedJhodel Cailan 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-extension) to add draft handling 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.Blog,
SAP CAP With Prostgres Serice in BTPpublishedA step-by-step walkthrough of a CAP bookshop project on @cap-js/postgres, provisioning PostgreSQL on SAP BTP, hyperscaler option'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 Zaschka 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.Blog,
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.Capability,
Sat 24
18 changes
btp-agentadded to the atlasLangGraph agent and UI5 chat screen over four BTP MCP serversSample,
Edge Integration Cell : Design, deploy and manage APIspublishedWalks through creating an API artifact in API Management on the customer-managed Edge Integration Cell runtime, including the option to generate the artifact by importing an OpenAPI 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.Blog,
Part 2 – Empowering SAP BTP CAP Services through Open API Spec and Annotations for Effective Communication, Collaboration and GovernancepublishedWalks through generating an OpenAPI specification for a Node.js CAP service: installing cds-swagger-ui-express, 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.Blog,
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.Blog,
Show 14 more
arjith-p-jadded to the atlasPerson,
EdoBadded to the atlasPerson,
Ganesh Ramachandranadded to the atlasPerson,
Kesavanadded to the atlasPerson,
Luís Marquesadded to the atlasPerson,
martina-sapadded to the atlasPerson,
NM Veekshith Gandhiadded to the atlasPerson,
Ogulcan Kusluogluadded to the atlasPerson,
Pavan Jayashrinathadded to the atlasPerson,
Robert Eijpeadded to the atlasPerson,
Sri Sai Lahari Gandrapuadded to the atlasPerson,
yashika-Gulatiadded to the atlasPerson,
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.Service,
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.CLI,
Fri 23
10 changes
🚀 秒速で学ぶ SAP AI Core Agent 開発 🚀 - Part 8 CloudFoundry にデプロイpublishedPart 8 of a Japanese-language series deploys the Python backend and SAPUI5 chat UI built in earlier parts to SAP BTP, Cloud Foundry Runtime: the backend's manifest.yaml declares its buildpack, memory and start command for cf push, while the UI's MTA project is built with mbt build and uploaded with cf deploy, then has its ENDPOINT constant repointed at the live API's route. It closes with adding the deployed HTML5 app to SAP Build Work Zone, standard edition through Channel Manager's content sync, Content Explorer and a new Site Directory site.Blog,
Cloud Integration with Document AIpublishedWalks through connecting Cloud Integration to SAP Document AI: 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.Blog,
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.CDS plugin,
cds-feature-togglelifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
Show 6 more
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.Package,
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.Package,
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.CDS plugin,
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.CDS plugin,
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.CDS plugin,
opentelemetry-cdslifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
Thu 22
2 changes
@mi8y/cap-agents-sdm-backendadded to the atlasDeep Agents filesystem over an SAP Document Management repositoryPackage,
Reports Assistant with SAP Document Managementadded to the atlasCAP agent writing reports into a shared SDM document workspaceSample,
Tue 20
2 changes
What an AI infra engineer sees when opening SAP's AI stack (1/3): the model gatewaypublishedA first look at SAP AI Core'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 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.Blog,
Kamil Kováčadded to the atlasPerson,
Mon 19
46 changes
🔴 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 Management inside SAP Integration Suite, 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 MCP and Rate limiting hold. For totals across all sales orders they send the agent to SAP Business Data Cloud instead of the transactional system, since it aggregates and is read-only, and back through Integration Suite for writes such as journal entries.Talk,
🟣 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 Core, 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 SDK, 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.Talk,
🟣 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 Core 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 management); 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 evals); and the orchestration service harmonising the providers behind one message format with a priority-sorted fallback list (LLM integration). 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.Talk,
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 Studio, 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.Talk,
Show 42 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 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/skills, 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.Talk,
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 reading an OpenUI5 sample app and converting it to TypeScript, mcp-sap-docs grounding Terraform files for a BTP subaccount the presenter had not written before, and arc-1 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 Zeis gives for servers written for internal use: keep them read-only, because what the agent is short of is context.Talk,
Be the First to Understand Joule Work's Agentic ThinkingpublishedA Devtoberfest 2026 session on the agent harness behind agentic thinking in Joule Work: 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 Studio, 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.Talk,
Beyond copilots: Agentic development with SAPUI5publishedDevtoberfest 2026 session UI-12, from the SAPUI5 team, on the year of work behind UI5/plugins-coding-agents: 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 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.Talk,
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 HANA. 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.Talk,
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 Cloud 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 MCP 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 Core 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.Talk,
Building Agentic Workflows with n8n in Joule StudiopublishedA Devtoberfest 2026 session, JS-31, on SAP-managed n8n inside Joule Studio, 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 Center, and SAP AI Core 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.Talk,
Building Code-Based AI Agents on the BAIPpublishedA Devtoberfest 2026 session on writing the agent yourself rather than configuring one, which is the agent tooling 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 Core 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-webui 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.Talk,
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 Cloud. 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 data 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 Cloud.Talk,
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-synonyms 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 xflights and xtravels, including the local run where CDS watch mocks the imported service from the CSV files inside the package.Talk,
CAP: The Road Ahead - Simplicity in an AI ErapublishedDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.Talk,
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 Rudnytskiy does a data scientist's work against the embedded machine learning of SAP HANA Cloud 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 tooling 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.Talk,
Custom Business Logic Extensibility in CAP (CDS-Oyster)publishedA Devtoberfest 2026 session walking @sap/cds-oyster — at version 0.55, with 1.0 stated for Q4 — end to end on a multitenant xtravels, from the application developer's side and the extension developer's side. The application developer adds a submit-for-review action to the status flow and opens exactly one surface for custom code: a separate extension service marked as extensible code, holding a no-op validate action and two read-only helper entities, which the host application calls before the status change; nothing else is extensible, because the annotation defaults to false. The extension developer works in a project whose base model came from cds pull, with test data, a server.js and types from @cap-js/cds-typer added so the UI and code completion work, debugs the handler locally and pushes it as an @sap/cds-mtxs extension, after which the next request rejects a travel over the policy limit without a restart — the code having been stored as an annotation in the tenant's model and run in a Rust WebAssembly sandbox with no database connection, whose queries go back to the CAP runtime as CQL strings, which is tenant extensibility extended from fields to logic.Talk,
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 authoring.Talk,
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 mesh, which is where the Event Mesh 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.Talk,
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 boundary holds. The inbox grows while a user works because a CAP WebSocket plugin pushes new requests into the list — WebSocket.Talk,
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 Studio 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 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.Talk,
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 SDK: 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 integration from ABAP code. The second demo builds a capability for SAP Joule 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.Talk,
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 Mesh as the concern — topics, subscriptions, filters and queues — and SAP Integration Suite, advanced event mesh 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.Talk,
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 Code edges hold on the demo itself: its virtual file system keeps the ABAP package beside the Fiori project, the ADT MCP Server 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 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 guidance 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.Talk,
MCP Gateway in Practice: Architecture, configuration, and hands-onpublishedA Devtoberfest 2026 integration-track session (INT-21) on the MCP gateway of SAP Integration Suite: 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 Management, 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 systems 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.Talk,
Meet Joule Studio and Build your First AI AgentpublishedA Devtoberfest 2026 session from the product manager of Joule Studio, 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.Talk,
Powering Enterprise-Ready Agentic AI with SAP Integration SuitepublishedA Devtoberfest 2026 session (INT-31) from SAP Integration Suite 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 Management, 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 exposure and the tool governance the edges rest on. Three AI features inside Cloud Integration 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.Talk,
Real Pro-Code Development with Joule StudiopublishedA Devtoberfest 2026 AI-track session that runs one agent build across both of Joule Studio'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 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 tooling; the skills themselves, which SAP says not to edit but which a developer may add to, are the edge to Agent guidance.Talk,
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 Cloud 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 Joule 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 Studio as the place to build your own agents and data products.Talk,
SAP BDC in Business AI Platform: Contextualize and ReasonpublishedA Devtoberfest 2026 session (DAT-31) that places SAP Business Data Cloud 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 data in the SAP HANA Cloud knowledge graph engine as RDF triples queried with SPARQL. The closing demo has SAP Joule 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 lineage as much as for the products it names.Talk,
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 Cloud 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 storage 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.Talk,
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 Playwright and browser dev tools, then annotates the catalogue service with the MCP protocol through @cap-js/mcp, 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.Talk,
Supply Chain Rescueadded to the atlasCAP and SAPUI5 demo of recovery from a supply disruptionSample,
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 integration 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 service edge covers the on-premise destination and the additional properties the walkthrough insists on, and the SAP Business Application Studio 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.Talk,
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 Core, 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-skills plugin in a coding agent, and one of them only resolves once the agent is told which scenario configuration to use.Talk,
What's in Daniel Hutzel's brain?publishedA Devtoberfest 2026 session in the building-apps track, in which Daniel Hutzel and DJ Adams 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 MCP, Agent tooling and Agent guidance 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 authoring.Talk,
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.Capability,
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.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.Capability,
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.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.Capability,
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.Capability,
Loggingecosystems revisedSRBJSLogger and openui5-error-collector were staged in intake-20261019-bestofui5 with no capability edge, because this capability was not open on the UI5 door. The UI5 reading comes from the sap/base/Log API documentation and the OpenUI5 Logging and Tracing page.Capability,
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.Skill,
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.Capability,
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.Desktop app,
Sun 18
15 changes
CAP in the age of AIpublishedSeven live episodes of Hands-on SAP Dev in which DJ Adams 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: 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 — 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 Cloud.Series,
CAP in the age of AI #1 - the MCP adapterpublishedThe episode that opens the series and the first pass over @cap-js/mcp, 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.Video,
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 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.Video,
CAP in the age of AI #3 - from MCP to A2ApublishedThe episode that finishes @cap-js/mcp 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, which serves it over A2A with an agent card and a chat preview, runs first against a mocked response and then against SAP AI Core bound with cds bind and a hybrid profile, and reuses the MCP adapter's tools rather than defining new ones.Video,
Show 11 more
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 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.Video,
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 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 xtravels 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.Video,
CAP in the age of AI #6 - vector embeddingspublishedVector embeddings put to work in the incident management 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 Core 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 Cloud the function is native, while SQLite needs packages added to the project.Video,
CAP in the age of AI #7 - vector embeddings wrap-uppublishedThe same embeddings model taken from SQLite to SAP HANA Cloud, then handed to an agent. Locally it is @cap-js/ai 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 Core 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, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.Video,
Event enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEMpublishedWalks through connecting SAP's ABAP-side Data Replication Framework to Advanced Event Mesh 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.Blog,
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 Joule 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 Studio's low-code design canvas.Blog,
SAP Developers MCPadded to the atlasHosted MCP server of developers.sap.com tutorials and missionsMCP server,
SAP Job Scheduling Service: Set Job Run Status with the REST API and Node.jspublishedWalks through recovering a stuck asynchronous job run in SAP Job Scheduling service: when a triggered app fails to call back, the run stays at ACK_RECEIVED and eventually UNKNOWN, since the scheduler never assumes success or failure on its own. The fix is a Node.js script that reads a downloaded service key, gets an OAuth2 client-credentials token, and calls PUT /scheduler/jobs/{jobId}/schedules/{scheduleId}/runs/{runId} with a success/message body to set the run to FAILURE or SUCCESS by hand.Blog,
ui5-cap-serverside-rendering-demoadded to the atlasDemo CAP bookshop with server-rendered UI5 viewsSample,
@odatano/nightgatereleased 0.35.0Client code and examples written against the /api/v1/… service paths.CDS plugin,
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.MCP server,
Sat 17
430 changes
abap2UI5 protocoladded to the atlasVersioned specification of the abap2UI5 roundtrip protocolPractice,
Accelerating Your Analytics with Delta Table Replication into SAP HANA CloudpublishedStarting with QRC 04/2025, SAP HANA Cloud 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.Blog,
Clean-Core.ioadded to the atlasHosted workspace redrawing custom ABAP as BPMN and grading itWeb tool,
[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,
Show 426 more
[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).Blog,
[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).Blog,
#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).Blog,
#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).Blog,
#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).Blog,
#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).Blog,
⚡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).Blog,
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).Blog,
A 25x faster mta.yaml build for SAP CAP Node.js projectsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
A 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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
A modern workflow for SAP Cloud Integration with CAP and Azure DevOpsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Blog,
Adding Custom Metrics to a CAP application using cap-js/telementry plugin and SAP Cloud Loggingexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Adding 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).Blog,
Adding Shell Plugin to SAP Fiori CAP Application and Deploying to Cloud Portal Serviceexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Agent access to your systemsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Talk,
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).Reference architecture,
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).Talk,
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).Talk,
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).Talk,
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).Reference architecture,
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).Blog,
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).Blog,
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).Blog,
Analytical queriesdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Talk,
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).Blog,
App hostingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.ui5. Maintainer-requested scope audit.Capability,
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).Blog,
Authenticationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation Appsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Workshop,
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).Workshop,
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).Blog,
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).Blog,
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).Talk,
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).Blog,
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).Talk,
Build, Configure, and Deploy SAP CAP Projects to the Cloudexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Building a 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).Blog,
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).Blog,
Building a SaaS Multitenant Application Using SAP CAP Framework — Without a Databaseexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Talk,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Cachingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
CAP multitenancy with Work Zoneexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP 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).Video,
CAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma Runtimeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Change promotiondescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit.Capability,
CI/CD pipelinesdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.btp. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Talk,
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).Blog,
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).Blog,
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).Workshop,
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).Blog,
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).Tutorial,
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).Blog,
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).Blog,
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).Blog,
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).Workshop,
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).Blog,
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).Tutorial,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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.Capability,
Database connectorsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
Declarative Programming in CAP: Less Code, More Valueexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
Deploy a Full-Stack CAP Application in SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Workshop,
Deploy and Run the Incident Management Application in the SAP BTP, Kyma Runtime with a Mock Serverexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Tutorial,
Deploying a CAP Application to SAP Cloud Platform, Kyma runtime & connecting an iOS appexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Deploying 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).Blog,
Deploying first CAP Project in SAP Cloud : A Step-by-Step Guideexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Deploymentdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Deployment and operatordescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Workshop,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Developing CAP java/node.js mixed mono Multitenant SaaS Applications with Shared Databaseexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
DevOps with SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Reference architecture,
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).Blog,
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).Blog,
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).Blog,
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).Doc,
Draft handlingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Reference architecture,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Event Meshdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
Everything new: Try out the latest features in CAPexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Talk,
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).Talk,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Workshop,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Talk,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Frontend boundarydescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-6]explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Talk,
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).Blog,
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).Reference architecture,
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).Tutorial,
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).Blog,
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).Tutorial,
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).Blog,
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).Blog,
Getting your head into Cloud Application Programming model multitenancyexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Talk,
Health checksdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Talk,
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).Talk,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
HTML5.Timeout for CAP destinations in mta.yaml longer than defaultexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Implementation of Observability using OpenTelemetry in SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Integrated frontend dev servername, description revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Reference architecture,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Talk,
Kyma Evolution: Transforming SAP Kyma into a tailor-made SaaS Platform for sbs extensionsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Kyma Integration with SAP Cloud Logging. Part 2: Let's ship some tracesexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Tutorial,
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).Blog,
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).Blog,
Lintingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Blog,
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).Reference architecture,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Model visualisationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Talk,
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).Talk,
Multitenant application using Cloud Application Programming Model (CAP)explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant Business Applications with CAP | Hands-on Video Tutorialsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS Application using CAPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Reference architecture,
Multitenant SaaS applications on SAP BTP using CAP - The Reloaded Version!explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS applications on SAP BTP using CAP? SAP BTP, Kyma Runtime!explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS applications on SAP BTP using CAP? Tried-and-True!explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Advanced Versionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Basic Versionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Expert Featuresexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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.Capability,
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).Blog,
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).Blog,
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).Blog,
ODatadescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Talk,
Open Sourcing CAP – how to learn more or get involvedexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
OpenAPIdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Part 2: Runtime Architecture & Cost efficiency gainsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
Platform migrationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.btp. Maintainer-requested scope audit.Capability,
Plugin authoringdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
Product Updates for SAP Build Code – June 2025 Editionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Blog,
Query profilingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
Quickly Deploy a Sample CAP Application to BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
SaaS Self-Onboarding and One-Domain Concept in SAP BTP, Kyma Runtime using CAPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP 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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js Serviceexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP 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).Blog,
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).Blog,
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).Blog,
SAP CAP - Optimize your build MTA projects with several ui appsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP 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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
SAP Cloud Logging Serviceでコンテナメトリクスを監視するexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP 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).Reference architecture,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
SAP Job Scheduling Service: 🔧 Generate Your Own Client Library from OpenAPI Specexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Talk,
Secrets rotationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Reference architecture,
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).Blog,
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).Blog,
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).Blog,
Serve your application over MCPdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Tutorial,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Speed up deployment for CAP using Turborepoexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Talk,
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).Blog,
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).Blog,
Streamline User Targeting with Segments in SAP Feature Flagsexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
Streamlined Kyma deployment for CAP applicationsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
Surviving and Thriving with the SAP Cloud Application Programming Model: Deployment to SAP BTP, Kyma runtimeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Blog,
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).Blog,
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.Capability,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
The fastest way to a deployable CAP app on SAP BTP Cloud Foundryexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
The Future of Continuous Delivery for SAP Cloud SDK and SAP Cloud Application Programming Modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
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).Reference architecture,
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).Blog,
Tips for running CAP nodejs in SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
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).Blog,
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) Appsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
TypeScript patternsdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Talk,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Tutorial,
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).Blog,
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).Blog,
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).Tutorial,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
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).Blog,
Workflow integrationdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
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).Blog,
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).Blog,
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).Blog,
加速开发和部署的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).Blog,
Fri 16
29 changes
Abinaya Srinivasanadded to the atlasPerson,
Ajay Sorengadded to the atlasPerson,
amarubheadded to the atlasPerson,
Andreas Schoesseradded to the atlasPerson,
Show 25 more
Bastian Dennstedtadded to the atlasPerson,
Fabian Fellhaueradded to the atlasPerson,
Fernando Meregali Xavieradded to the atlasPerson,
GerdBuchmuelleradded to the atlasPerson,
HP Seitzadded to the atlasPerson,
j-denneradded to the atlasPerson,
Joerg Meyeradded to the atlasPerson,
Julian Schambeckadded to the atlasPerson,
Marcel Merkleadded to the atlasPerson,
Martina Gehwolfadded to the atlasPerson,
Nora von Thenenadded to the atlasPerson,
Oliver Feldmannadded to the atlasPerson,
Olivier Bagotadded to the atlasPerson,
Parita Gandhiadded to the atlasPerson,
Priyanka Gayenadded to the atlasPerson,
ProFreakadded to the atlasPerson,
Samuele Barzaghiadded to the atlasPerson,
SAP Tutorialsadded to the atlasPerson,
Sebastian Maginadded to the atlasPerson,
Shrinivasan Neelamegamadded to the atlasPerson,
Srinikitha Kondreddyadded to the atlasPerson,
Steffenadded to the atlasPerson,
Varun Shanbhagadded to the atlasPerson,
Vikas Thimmiahaadded to the atlasPerson,
Vitaliy Rudnytskiyadded to the atlasPerson,
Thu 15
67 changes
Agentic Engineering for SAP BTP ExtensionspublishedAn agent harness coordinates code generation across isolated Git worktrees, using a skills registry, SAP CAP MCP Server, Fiori MCP Server and UI5 Web Components MCP Server for development context. The diagram shows LiteLLM as a model proxy in front of SAP AI Core, 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.Reference architecture,
Automate Recurring Data Updates in SAP HANA CloudpublishedA walkthrough for marking inventory rows stale after 30 days using SAP HANA Cloud's own scheduler: a SQLScript procedure, a CREATE SCHEDULER JOB statement with its 7-field cron pattern, the M_SCHEDULER_JOBS monitoring view, and the matching DROP statements to remove both. It then names where that approach stops and lists the alternatives for scheduling outside the database: SAP Integration Suite's Timer Event, the SAP Job Scheduling service, SAP Automation Pilot for infrastructure commands, and a custom approach for triggering scheduled REST calls from an application.Blog,
cap-openaiadded to the atlasCAP service actions calling OpenAI chat completions two waysSample,
cap-openapiadded to the atlasCAP Java service calling role collection APIs via a generated clientSample,
Show 63 more
cap-principal-propagationadded to the atlasOn-premise ABAP OData V2 service read from CAP over ConnectivitySample,
cap-redisadded to the atlasApprouter session held in a bound Redis cache instanceSample,
cap-reuse-html5added to the atlasFiori elements app in the HTML5 Application Repository with cdm.jsonSample,
cap-rfcadded to the atlasCAP Node.js action calling BAPI_EPM_BP_CREATE over RFCSample,
cap-uiadded to the atlasMTA deploying CAP, HDI container and a Fiori elements appSample,
Joule Studioadded to the atlasSAP's managed environment for building custom agents and workflowsWeb tool,
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 Suite and Joule Studio are described as SAP-provided paths. Hosting a server on BTP does not automatically supply its governance controls.Reference architecture,
Werkbankadded to the atlasLocal desktop workspace for AI conversations with SAP connectorsDesktop app,
Mario Ponceadded to the atlasPerson,
@cap-js-community/business-metricsdescription revisedTelemetry curation for the CAP door. The README opens by calling it an extension library for @cap-js/telemetry and lists telemetry enabled in the application configuration as a prerequisite, and the graph held no edge between the two. Read against the README at commit eee01d0.CDS plugin,
@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.Package,
@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.CDS plugin,
@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.CDS plugin,
@cap-js/telemetrydescription revisedTelemetry curation for the CAP door. The entry carried no paragraph and no property values, so the capability's comparison had nothing from the runtime's own answer on Node.js. Read against the README at commit e97874b, the 2.1.0 release, and capire's plugins page.CDS plugin,
@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.Package,
@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.Package,
@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.Package,
@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.CDS plugin,
@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.CDS plugin,
@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.CLI,
@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.CLI,
@sanjay-sde/cap-js-log-controlprovides revisedTelemetry curation for the CAP door. The edge carried no sentence, and what the plugin does here is narrow: it lowers the verbosity of the telemetry logger and of the OpenTelemetry DiagLogger rather than producing or exporting a signal, so it states no signal and no destination. Read against the README at commit 587455e. Whether this entry belongs under telemetry or under logging is left open for review.CDS plugin,
@sap-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.Package,
@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.Package,
@sap-ux/telemetryprovides revisedTelemetry curation for the CAP door. The entry stood among the options a reader compares for observing a running CAP service, and its own README places it elsewhere: a library SAP Fiori tools use to collect anonymous usage data. The sentence is recorded so the page states what it is; whether the edge, the cds-plugin type and the CAP door are right is left for review rather than changed here.Package,
@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.CLI,
@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.CLI,
@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.CDS plugin,
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.Capability,
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.Capability,
Agent guidancecoverage by ecosystem, framing by ecosystem, facets, coverage by flavor, framing by flavor revisedskillOverflow 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.Capability,
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.Capability,
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.Capability,
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 plugin,
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,
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.Package,
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.CDS plugin,
cap-mcp-guardprovides revisedTelemetry curation for the CAP door. The edge said nothing about what the plugin contributes, and the README's own statement is narrow and conditional: one span per agent request, emitted into an OpenTelemetry SDK the application configures, with no exporter of its own. Read against the README at the master branch, last pushed 2026-08-14.CDS plugin,
cap-ui-telemetrydescription revisedTelemetry curation for the CAP door. This is the one option in the corpus answering the boundary the core states, that traces begin when a request arrives, and the entry did not say how it does it or that its records are logs rather than spans. Read against the README at commit 78e5d75.CDS plugin,
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.Skill,
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.Package,
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,
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.Build tool,
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.Package,
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.CLI,
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.Service,
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.Package,
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.Build tool,
com.sap.cds:cds-services-bomprovides revisedThe entry carried the Fiori draft lifecycle and not the annotations the same guide documents for Java. Capire's Serving SAP Fiori UIs guide names the Java configuration for the Fiori preview and one annotation the Java runtime reads itself, @cds.java.descendants.aggregate for a hierarchy view over aggregates. Without this edge the java flavor of capability:fiori-annotations had no provider of its own, although CAP Java serves the same annotated metadata. @http.CacheControl, which the same guide states is supported only on the Java runtime, is a response header rather than a rendering instruction and is left to capability:pagination-and-streaming.Package,
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.Skill,
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.Build tool,
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.Capability,
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.Web tool,
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.Capability,
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.Capability,
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.Service,
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.Skill,
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.Skill,
Telemetrycore coverage, coverage by flavor, framing by flavor, framing by ecosystem, facets revisedThree questions the sources answer differently for the CAP options and that change which one a reader reaches for: which signals it produces, where it can send them, and whether the application has to write code for a signal of its own. Scoped to the CAP door; the ABAP and BTP options were not assessed in this pass.Capability,
Testingcoverage by ecosystem revisedIntake of @saptools/bruno, which runs request collections against services deployed to Cloud Foundry: the concern exists behind the BTP door.Capability,
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.Capability,
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.CDS plugin,
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.Desktop app,
Wed 14
4 changes
Adapting SAP Joule for Purchase Order Creation from an Existing Purchase RequisitionpublishedA custom Joule Agent and Joule Skill, built in Joule Studio, classic edition to extend SAP Joule 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.Blog,
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.Capability,
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.Capability,
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.Capability,
Tue 13
5 changes
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 environment 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.Blog,
Integrate SAP Business Technology Platform audit logs with IBM Security QRadarpublishedWalks through pulling entries from the SAP Audit Log service for a Cloud Foundry subaccount, via its retrieval API and a service key downloaded from the SAP Authorization and Trust Management service, 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 logging entry arrive in QRadar as an offense.Blog,
Nice patch SAP! Revisiting your SAP BTP security measures after AI Core vulnerability fixpublishedWritten after the SAPwned disclosure in SAP AI Core, it argues SAP BTP's shared-responsibility model still requires the customer's own hardening: scope SAP BTP, Cloud Foundry Runtime and SAP BTP, Kyma runtime 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 service 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.Blog,
SAP BTP Audit log Enable and retrieve logspublishedWalks through enabling and retrieving records from the SAP Audit Log service 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.Blog,
Show 1 more
SAP Business Technology Platform: Authorization and Trust Management ServicepublishedWalks through how the SAP Authorization and Trust Management service 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's place in front of the resource apps as the gateway that starts authentication and checks for cross-site request forgery.Blog,
Mon 12
37 changes
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 publishing says every exposed service gets. The entity and service definitions it writes by hand are the basic shape data modelling covers, though the webIDE and MTA tooling staged around them is gone.Blog,
Explaining SAP Joule for HR Business Users & Functional Consultants.publishedWritten for HR business users and functional consultants, this walks through how SAP Joule 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 provisioning 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.Blog,
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 service'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 logging 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.Blog,
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 publishing and CRUD requests, fills in primary keys and audit data, and writes trace and audit logs 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 annotations work in CAP.Blog,
Show 33 more
Model Context Protocol Adapter — CAP guidepublishedDocuments @cap-js/mcp and com.sap.cds:cds-adapter-mcp, 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.Doc,
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 modelling 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 OData V4 against the guid'...' literal V2 requires — citing the OData specification for the difference.Blog,
SAP PI Migration to BTP Integration Suite Patterns and learning experiencespublishedWalks through the integration patterns an SAP PI migration project moved onto SAP Cloud Integration iFlows — API Management 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.Blog,
Ashutosh Kumar Singhadded to the atlasPerson,
AyhamTadded to the atlasPerson,
azhariqbaladded to the atlasPerson,
BirgitSadded to the atlasPerson,
chrisobaradded to the atlasPerson,
davidtilladded to the atlasPerson,
frank_xieadded to the atlasPerson,
leoirudayamadded to the atlasPerson,
Manisha Debnathadded to the atlasPerson,
Palakadded to the atlasPerson,
prajnaparmitaadded to the atlasPerson,
rupamaityadded to the atlasPerson,
Shilpa Vijadded to the atlasPerson,
shiromani_soni1added to the atlasPerson,
Talari Hari Kumaradded to the atlasPerson,
Udo Paltzeradded to the atlasPerson,
Walter Andres Aguero Machadoadded to the atlasPerson,
@odatano/nightgatereleased 0.32.0Calls to the sponsor actions that pass a sponsorSessionId.CDS plugin,
@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.CDS plugin,
@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.CDS plugin,
@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.CDS plugin,
@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.MCP server,
@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.MCP server,
@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.MCP server,
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.Capability,
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.Service,
cap-mcp-pluginprovides[mcp-servers], provides revisedResolves the requested review findings while preserving the structured comparison values, runtime scopes and implementation restrictions.CDS plugin,
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.Package,
Knowing the maintenance status of a releaseentry revisedDrafted with sap-support-radar and pam-mcp-server, the first umbrella artifacts (ADR-0063), which had no concern to attach to: mcp-servers is serving an application one built, agent-systems-access reaches into a running SAP system, and documentation is first-party docs made searchable. On the ABAP, CAP and UI5 doors because each has a published SAP answer of its own: the Product Availability Matrix, capire's release schedule and the SAPUI5 version overview. BTP is left out: its services name plans and regions rather than releases, and no page was read that states a maintenance period for one. core-only on every door because SAP publishes the answer and no door holds an option of its own; the umbrella entries count into no door's coverage by construction.Capability,
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.Capability,
Sun 11
71 changes
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 Joule, 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.Talk,
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 MCP concern, and SAP AI Core is the LLM integration 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 Hutzel, Daniel Schlachter, Marc Huber and Sami Lechner, written here from SAP's abstract; the recording is not yet published.Talk,
Agentic memory: Knowledge graph engine and recall in SAP HANA CloudpublishedThe knowledge graph engine in SAP HANA Cloud as an agent's memory: what the engine, the graph side of graph, spatial and document data, does in an agentic workflow, how an agent keeps what it learns there, the state agent tooling holds between turns, and the SAP AI Core 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 Fath and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.Talk,
AI needs a foundation: A map of the plug-in ecosystem for CAPpublishedA map of the plug-ins for CAP (@sap/cds), 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 authoring 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 Zaschka, written here from SAP's abstract; the recording is not yet published.Talk,
Show 67 more
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 Joule, of which Joule for Consultants is a part; the system transition workbench has no entry here, and Platform migration 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.Talk,
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 OData: the agent access to your code concern, a coding assistant reading and changing the project it works in. The abstract names no server, so neither @cap-js/mcp-server 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.Talk,
AI-enabled administration: Automating log analysis with generative AI hubpublishedA log analysis tool for incident work, built in SAP Business Application Studio with the generative AI hub feature, which SAP AI Core ships as its LLM integration 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.Talk,
AI-enhanced analytics with SAP Business AI PlatformpublishedSAP Business Data Cloud 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 Joule) and SAP Analytics Cloud: 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 Huertas, Matilda Hyka and Oliver Huth, written here from SAP's abstract; the recording is not yet published.Talk,
Analyze and optimize ABAP Cloud model apps built on core data servicespublishedPerformance anti-patterns in data models built with ABAP CDS 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 HANA 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 modelling 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.Talk,
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 Core with SAP Document AI. 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 models 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.Talk,
Build AI agents and applications natively on SAP HANA CloudpublishedSAP HANA Cloud 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 Core, 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.Talk,
Build business differentiation with SAP AI CorepublishedSAP AI Core 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 Cloud 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 Knaack, Franziska Dobrigkeit, Hadi Hares and Jonas Israel, written here from SAP's abstract; the recording is not yet published.Talk,
Build real-time event-driven integrations for your enterprisepublishedEvent-driven integration with SAP Integration Suite, advanced event mesh inside SAP Integration Suite: where events beat request-response, how publish and subscribe decouple systems, and what a phased move to event-driven integration looks like. Event Mesh 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.Talk,
Build your custom knowledge layer with SAP HANA CloudpublishedSAP HANA Cloud'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 Cloud as the product that includes the database. Graph, spatial and document data 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 Schmidt, written here from SAP's abstract; the recording is not yet published.Talk,
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, 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.Talk,
Build your own event-driven scenario with advanced event meshpublishedAn event-driven scenario built on SAP Integration Suite, advanced event mesh: 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 Mesh; 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.Talk,
Building agentic applications with SAP HANA CloudpublishedA CAP application extended with semantic search and agent features on top of SAP HANA Cloud's vector engine and SAP AI Core, 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 generation, and LLM-supported agent capabilities inside the application, which is agent tooling. 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.Talk,
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 Cloud. The agents are SAP Joule'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.Talk,
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 Joule's agents do and what Joule Studio, classic edition 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.Talk,
Connecting AI agents to the ABAP RESTful application programming modelpublishedJoule Studio, classic edition 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 tooling 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.Talk,
Deploy, review, break, fix: Govern cloud transports with agility and AIpublishedFive BTP services in one delivery chain, as the abstract lays it out: a transport is triggered in SAP Content Agent Service, tested in SAP Cloud Transport Management, its failure is raised by SAP Alert Notification service for SAP BTP and remediated by a SAP Joule agent with SAP Automation Pilot, and SAP Cloud Logging keeps the history for root-cause analysis. The chain from alert to remediation is the operations automation concern; what the Joule agent decides on its own is not in the abstract. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Biser Simeonov, Daniel Funkert, Sven Rullmann and Thorsten Sandfuchs, written here from SAP's abstract; the recording is not yet published.Talk,
Discover fast-track implementation of SAP Cloud ERP with AIpublishedSAP's implementation practice for SAP S/4HANA Cloud Public Edition 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 Joule 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.Talk,
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 Joule, 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.Talk,
Enriching AI models with SAP AI Core in SAP Business Data CloudpublishedThe integration between SAP Business Data Cloud and SAP AI Core, 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.Talk,
Everything new: Try out the latest features in CAPpublishedCAP (@sap/cds) gains the features this hands-on session works through: declarative constraints, which is the input validation concern, status flows as status transition flows, a cds REPL, extensibility through @sap/cds-oyster, and HCQL, which SAP's abstract calls CAP's native query-over-HTTP protocol, after an opening stretch of AI-driven app development. The abstract names the features and stops there; what each one does is not described. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Daniel Hutzel, Daniel Schlachter, Marc Huber and Tim Back, written here from SAP's abstract; the recording is not yet published.Talk,
Evolving the identity lifecycle for an AI-first futurepublishedCloud Identity Services 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, Authentication and Identity provisioning; 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.Talk,
Experience core foundational capabilities of SAP Cloud ERPpublishedGuided exercises in SAP S/4HANA Cloud Public Edition, 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 Joule, 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.Talk,
Extending SAP Autonomous SuitepublishedExtensibility across SAP Autonomous Suite: AI-enabled development in SAP Build solutions, the ABAP Cloud model among them, as the way extensions are designed, generated and deployed, and a direction for making extensions ready for agentic AI. The abstract names the suite, SAP Build and the ABAP Cloud model and no single feature, so the edges are to Extensibility, the concern, and to SAP Build Code, the SAP Build solution held here in which Joule generates and deploys development; which other SAP Build solutions the session shows is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Alexander Rother and Khaled MUSILHY, written here from SAP's abstract; the recording is not yet published.Talk,
Flexible analytics at speed: Calculation views in SAP Business Data CloudpublishedCalculation views in SAP HANA Cloud, the reusable analytic modelling 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 Cloud. 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 Hammer, written here from SAP's abstract; the recording is not yet published.Talk,
From Dashboard to Conversational AI in Minutes: Adding MCP to an Existing CAP ApplicationpublishedA walkthrough of adding @cap-js/mcp 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.Blog,
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 Joule, which does the translating, and to Extensibility, 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.Talk,
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 automation with the workflow generated from intent, and agent tooling where the workflow calls agents. The generated workflow sends notifications to the Joule Work mobile app of SAP Joule, 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.Talk,
Get hands on with tabular AI and forecasting models in SAP HANA CloudpublishedPrediction and forecasting as predictive models inside SAP HANA Cloud, 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 Fath, Ritty Joseph and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published.Talk,
Get to know our AI-enhanced mobile apps across the Autonomous EnterprisepublishedA demo of the Joule Work mobile app, part of SAP Joule, 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 apps 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.Talk,
Hands on SAP Document AI: Next-generation intelligent document processingpublishedSAP Document AI 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 extraction 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.Talk,
How SAP Document AI brings agentic intelligence to business documentspublishedSAP Document AI 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 extraction 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.Talk,
How SAP secures enterprise AI agents with identity propagationpublishedCloud Identity Services 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 authentication side and the per-hop check the authorisation 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 Kosche and Sebastian Ries, written here from SAP's abstract; the recording is not yet published.Talk,
Identity lifecycle and governance with SAP services and Microsoft EntrapublishedCloud Identity Services 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 provisioning 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.Talk,
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 Joule, whose agents the runtime runs; the atlas reaches that runtime through @sap/joule-work-dev-cli-early-adopters, 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.Talk,
Joule and related AI offerings from SAP: One platform, many systemspublishedSAP Joule 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.Talk,
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 Core as the management and orchestration layer of an AI architecture: extending Joule Agents in SAP Joule, the model library in Joule Studio for contextual reasoning, connecting data products from SAP Business Data Cloud, 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.Talk,
Joule without walls: From personal skills to enterprise interoperabilitypublishedSAP Joule 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.Talk,
Knowledge graph and agent memory: Build an agent that rememberspublishedThe knowledge graph engine in SAP HANA Cloud as an agent's memory: what the engine, the graph side of graph, spatial and document data, does in an agentic workflow, how an agent keeps what it learns there, the state agent tooling holds between turns, and the SAP AI Core 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 Fath and Thomas Hammer, written here from SAP's abstract; the recording is not yet published.Talk,
Modern integration at TÜV Rheinland: APIs, events and cloud transformationpublishedTÜV Rheinland's migration from SAP Process Orchestration to SAP Integration Suite with API-led connectivity and event-driven architecture, told through business cases. The abstract names what was used: the SAP Integration Suite, Event Mesh capability, API Management, generative AI for faster development and SAP Cloud ALM for monitoring. It states nothing about how any of them was used, so the edges rest on the names and on the Platform migration the story starts from. A TechEd 2026 session (Wednesday 28 October, Berlin), written here from SAP's abstract; the recording is not yet published.Talk,
Modernize your database landscape with SAP HANA CloudpublishedWhy to move a database estate to SAP HANA Cloud, and the migration tools and services for doing so, which is the platform migration 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.Talk,
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 Server, or from @cap-js/mcp-server for CAP, and the UI from @sap-ux/fiori-mcp-server, with annotations and actions added before the app is tied to SAP's AI features. Agent access to your code 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 Engelhardt, written here from SAP's abstract; the recording is not yet published.Talk,
Road map for SAP HANA Cloud: What’s next for the AI databasepublishedSAP's road map for SAP HANA Cloud, which the abstract places as a core component of SAP Business AI Platform within SAP Business Data Cloud. 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 Hammer, written here from SAP's abstract; the recording is not yet published.Talk,
Road map for SAP Integration Suite: What ships next across all capabilitiespublishedSAP's road map for SAP Integration Suite across its capability areas: API Management, 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.Talk,
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 Services 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.Talk,
SAP AI Core deep dive: Models, agents, and business context at scalepublishedSAP AI Core 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 Cloud, 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.Talk,
SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and WebhookspublishedA step-by-step walkthrough of wiring Event Mesh to publish and consume events between an on-premise S/4HANA system and Cloud Integration, contrasting persistent queues (one subscriber, kept until consumed) against unpersisted topics, and WebSocket'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.Blog,
SAP HANA Cloud advisors and automationpublishedSAP HANA Cloud'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 Pilot as the service that runs the resulting tasks, which is operations automation 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.Talk,
SAP HANA Cloud as a self-managed database: Advisors and automationpublishedSAP HANA Cloud advisors generate recommendations for database administration, aimed at system performance and efficiency, and SAP Automation Pilot runs the manual and administrative tasks around the database as automated processes, which is the operations automation 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.Talk,
SAP HANA Cloud as the AI database for SAP Business Data CloudpublishedSAP HANA Cloud as the AI database at the centre of SAP Business Data Cloud: 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 Hammer, written here from SAP's abstract; the recording is not yet published.Talk,
SAP HANA Cloud: The data foundation for contextualizing and reasoningpublishedWhere SAP is taking SAP HANA Cloud, 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.Talk,
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 Core, getting answers from SAP knowledge and that content, then building an expert, loading project files and running guided prompts. The edges are to SAP Joule, 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.Talk,
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 Core with a workflow built on tabular orchestration and connected to the participant's own data for real-time predictions. A predictive models 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.Talk,
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 Joule: 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 UI 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.Talk,
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 server 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 GraphQL 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 tooling; 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 publishing.Blog,
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 runtime, connect it to SAP AI Core, give it observability over the runtime and cause a failure for it to diagnose, the operations automation 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 Lechner, Piotr Tesny, Thorsten Sandfuchs and Vipin VijayKumar, written here from SAP's abstract; the recording is not yet published.Talk,
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 Cloud 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 integration 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.Talk,
Talking to your database: The new data exploration tools in SAP HANA CloudpublishedSAP HANA Cloud'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.Talk,
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 Joule, 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.Talk,
Transform business data into AI-supported insightspublishedBusiness metrics turned into insights, narratives and recommendations by SAP Joule's agents, with People Intelligence, the SAP Snowflake solution extension for SAP Business Data Cloud and SAP Analytics Cloud connected in SAP Business Data Cloud. 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.Talk,
Understanding Fuzzy Search in SAP Fiori ApplicationspublishedExplains SAP HANA Enterprise Search'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 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.Blog,
Unlock composable business using SAP Integration Suite, advanced event meshpublishedSAP Integration Suite, advanced event mesh 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 Mesh 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.Talk,
Unlock predictive and generative AI with your data in SAP HANA CloudpublishedThe AI features SAP lists for SAP HANA Cloud: the function libraries for tabular prediction and forecasting, where predictive models run inside the database, the vector engine, the knowledge graph engine, which is graph, spatial and document data 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.Talk,
What a Second Document AI Workshop Taught Me About GovernancepublishedFrom questions raised at a second SAP Document AI 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 Hub.Blog,
What’s next for agentic analytics and planning in SAP Business Data CloudpublishedWhat is next for agentic analytics and planning in SAP Business Data Cloud: SAP Joule'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.Talk,
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 Services and SAP Cloud Logging, on how enterprise AI is governed and run. The edges are to the two named services and to SAP Joule, 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.Talk,
Zero token architecture for Joule AgentspublishedA pattern for SAP Joule'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.Talk,
Sat 10
4 changes
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 service already implements this via the Connectivity service, so the custom SSLContext work can be skipped there.Blog,
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 WebSocket channel through @cap-js-community/websocket, while Draft handling gains ABAP RAP's live field locking on CAP Node.js through Sören Leibach's own cap-collaborative-draft plugin. Both rest on Fiori annotations such as Common.SideEffects and CollaborativeDraft.enabled, which the frontend reads rather than requiring a manifest flag.Blog,
SAP BTP Cloud foundry Job Scheduling for CAP based projectpublishedWalks through binding the SAP Job Scheduling service's trial instance to a CAP application's own custom action endpoint, so the service calls it on a configured interval and keeps a log of each run. The action itself is ordinary application code — here, sending an email through a third-party library — and the trial subaccount the author used could only run the job once, not on a repeating schedule.Blog,
SAP Cloud Application Programming Model(CAP):カスタムロジックの実装 – Part 2publishedA walkthrough of implementing custom logic in a CAP Node.js service for the capire bookshop 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.Blog,
Fri 9
14 changes
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 Studio'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.Blog,
cap-mtx-scaffoldadded to the atlasAgent skill for CAP multitenancy scaffoldingSkill,
Don't "let it crash", is this the new CAP guideline?publishedDinu traces a change in error handling in CAP's Node.js runtime: @sap/cds@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.Blog,
sap-cx-developer-companionadded to the atlasAgent skill for SAP Customer Experience APIs, CDS and errorsSkill,
Show 10 more
@cap-js/advanced-event-meshreleased 1.1.0Setup notes that add the plugin to a CAP 8 project.CDS plugin,
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.Capability,
Agent guidanceecosystems revisedSAP Commerce opened as a product door (docs/concepts/product-doors.md, ADR-0033) and sap-commerce-skill 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.Capability,
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.Reference architecture,
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.MCP server,
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.Skill,
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.Reference architecture,
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.Reference architecture,
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.Skill,
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.Capability,
Thu 8
15 changes
auth-samplesadded to the atlasCAP services and a UI for trying role restrictions with mock usersSample,
blog-bookshopadded to the atlasCAP bookshop with Fiori elements UI deployed whole to Cloud FoundrySample,
blog-cap-chartadded to the atlasFiori overview page comparing aggregated and plain donut-chart cardsSample,
cap-bp-ragadded to the atlasEvent-driven RAG app with CAP, Cloud Integration and SAP HANA CloudSample,
Show 11 more
cap-cds-typeradded to the atlasCAP service in TypeScript using types from @cap-js/cds-typerSample,
cap-defaultvalue-functionadded to the atlasCommon.DefaultValuesFunction pointed at a CAP service functionSample,
cap-embedding-functionadded to the atlasCAP service computing embeddings with HANA Cloud vector_embeddingSample,
cap-external-northwindadded to the atlasCAP service serving Northwind's external OData Products as its ownSample,
cap-fe-masseditadded to the atlasMass edit enabled in a Fiori elements list report over CAPSample,
cap-feature-controladded to the atlasSingleton entity whose flags drive Fiori elements feature controlSample,
cap-github-actionadded to the atlasCAP project built and deployed to Cloud Foundry by GitHub ActionsSample,
cap-java-childadded to the atlasConsumer side of a CAP Java parent pom promotion model with RenovateSample,
cap-java-parent-pom-sampleadded to the atlasMaven parent pom pinning cds-services-bom and Spring Boot for CAP JavaSample,
cap-java-resilienceadded to the atlasCAP Java service consuming a Business Partner API mocked in Node.jsSample,
cap-js-notificationsadded to the atlasOrder service sending notifications via @cap-js/notificationsSample,
Wed 7
1 change
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 service (XSUAA), restricting CDS service definitions with @restrict per role, and dropping into handler code where a rule needs custom logic, with a @sap/cds Node.js 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.Blog,
Tue 6
2 changes
Beginners Guide to Advanced Event MeshpublishedA scenario-by-scenario walkthrough of Advanced Event Mesh, run through Cloud Integration 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.Blog,
@cap-js/openapireleased 1.7.0OpenAPI documents generated before 1.7.0 for services without a @protocol, which described REST paths for them.CDS plugin,
Mon 5
1 change
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.Capability,
Sat 3
2 changes
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 model. 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 handling.Blog,
CAP Node.js Expert Session #6 - The MCP AdapterpublishedDaniel Schlachter and DJ Adams add @cap-js/mcp 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.Video,
Thu 1
5 changes
Product Updates for SAP Build Code – June 2025 EditionpublishedThe Q2-2025 release of SAP Build Code adds a Joule-based SAP HANA Application Migration Assistant extension that automates converting XS Classic and XS Advanced service-layer artifacts — XSJSLIB, XSODATA and XSJS — into CAP service definitions and handlers on SAP HANA Cloud, extending the existing database migration assistant with generative AI. It walks through the "XS Classic to CAP" and "XS Advanced to CAP" templates that trigger the conversion.Blog,
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 model (CDL comments propagated into generated database objects via the package.json cdsc.docs compiler option), and schema evolution 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.Blog,
SAP Developer New, July 3rd 2026publishedA "Did You Know" segment in this SAP Developer News video walks through schema evolution: 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 Cloud Q2 release announcement and a UI5 survey call, none explained in substance here.Video,
Andrefirst recorded in the atlasPerson,
Show 1 more
Martin Frickfirst recorded in the atlasPerson,

Wed 30
2 changes
#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 privacy 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 Manager, SAP Data Retention Manager, SAP Data Privacy Integration and SAP Audit Log service. 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 and Part 3.Blog,
Integrating SAP Cloud Identity Services (Identity Authentication - IAS) with SAP Audit Log ViewerpublishedWalks through wiring an Identity Authentication tenant of Cloud Identity Services into the SAP Audit Log service 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.Blog,
Tue 29
3 changes
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 servers 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-tooling 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 Core GenAI Hub model setup behind two credential layouts, one for local runs and one for the Cloud Foundry service binding, the LLM integration 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.Blog,
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 Core's Generative AI Hub, and lets its tool-calling loop draw on five deployed MCP servers — OData MCP Proxy, CI MCP Server, AI Core MCP Server, BTP MCP Server and BTP CF MCP Server — 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.Blog,
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-proxy, 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 service'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.Blog,
Mon 28
16 changes
[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 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.Blog,
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 is installed — and defers routing that connection through the Cloud Foundry Destinations service to the next post in the series.Blog,
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 Mesh 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 integration, so CAP generates the client used to call them. A reference application, RunSmooth, ties Automated Configurations, Event Mesh and CAP together end to end.Blog,
Extend SAP SuccessFactors on SAP BTP with CAP - Create the CAP ServicepublishedWalks through writing a service definition in SAP Business Application Studio 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.Blog,
Show 12 more
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 Studio 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.Blog,
First Java Cap ApplicationpublishedA step-by-step walkthrough of a first CAP Java project: com.sap.cds:cds-services-archetype 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 SQLite 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.Blog,
How to build reusable plugin components for CAP Java applicationspublishedA companion to Daniel Schlachter's Reusable components for CAP with cds-plugin, 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.Blog,
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.Blog,
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 OData'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.Blog,
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'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'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.Blog,
SAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1publishedIntroduces SAP Cloud Application Programming Model 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's cds init scaffolds the project, cds watch serves it locally with live reload against an in-memory SQLite database, and a CatalogService projects a CDS domain model seeded from CSV files. The result is read as an OData service in the browser and exercised further through a Postman collection, with the optional @sap/vscode-cds extension noted for CDS syntax highlighting and completion in VS Code.Blog,
SAP Cloud Platform Backend service: Tutorial [12]: CDS : local: buildpublishedCompiling a CDS model locally with the cds command-line tool, installed from @sap/cds 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.Blog,
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 Cloud. cds add mta and fiori add deploy-config, from @sap/generator-fiori, build the Cloud Foundry deployment descriptor together, adding a destination-service block and an xs-app.json that routes the Fiori app's calls through a named destination.Blog,
MichaelSchmid-AGIfirst recorded in the atlasPerson,
@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.CDS plugin,
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.CDS plugin,
Sun 27
52 changes
@cap-js/processadded to the atlasStarts and manages SAP Build Process Automation processes from CAPCDS plugin,
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 integration covers. The mta.yaml binds the SAP S/4HANA Cloud extensibility service and a SAP Destination service instance so the S/4HANA Public Cloud system's address and credentials stay outside the application, per Destinations.Blog,
@odatano/nightgatereleased 0.27.0Queries that read the full contract state from every ContractActions row.CDS plugin,
@odatano/nightgatereleased 0.28.0Client code that branches on error.code being "400".CDS plugin,
Show 48 more
@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.CDS plugin,
@sap_oss/vscode-mta-toolslinks revisedThe old repository's README says it has moved to the app-studio-toolkit monorepo; the edge now cites the README at the new address.IDE extension,
@sap/cdsprovides[service-integration] revisedThe option states the protocols it speaks for this concern, from its documentation's sentence (docs/concepts/design-roles-and-interfaces.md, P2). Both facets cite the published capire pages, and each value carries the sentence that names it. What it serves rests on cds.protocols, which names OData V4 and REST outright. What it consumes rests on the Remote Services page, which names OData and plain REST, and, for the OData versions, on the Consuming Services guide, the one capire page that enumerates them; that guide says it is outdated and kept for archival purposes, so the entry dates the reading. HCQL, which CAP-level Service Integration calls CAP's native protocol, is not in the atlas's protocol list and stays out until it is.Package,
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".Capability,
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.Capability,
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).Capability,
Audit loggingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
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.Capability,
Authorizationcore coverage revisedcapire audit 2026-09-27, proposed pages read once more: a page this capability owns was cited nowhere.Capability,
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.CDS plugin,
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.Build tool,
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.Capability,
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.Capability,
Configurationcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: a page this capability owns was cited nowhere.Capability,
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.Capability,
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.Capability,
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.Capability,
Database connectorscore coverage revisedcapire audit 2026-09-27, link-only pass: a page this capability owns was cited nowhere.Capability,
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.Capability,
Deploymentcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
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.Capability,
Documentationcore coverage revisedPackage pass 2026-09-27: the capability had no paragraph and no source at all.Capability,
Draft handlingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
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.Capability,
Feature togglescore coverage revisedcapire audit 2026-09-27: the Feature Toggles guide documents toggled features as built into both runtimes, with the production toggle provider left to the project, which is exactly what the one community option supplies. The capability had no core paragraph and no source.Capability,
Health checkscore coverage revisedP1 backfill 2026-09-27: the paragraph and the runtime edge now rest on a page in common.Capability,
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.Capability,
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.Capability,
Local developmentcore coverage revisedcapire audit 2026-09-27, judgement pages read once more: a page this capability owns was cited nowhere.Capability,
Localizationcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
Loggingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
Metadata publishingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
Multitenancycore coverage revisedP1 backfill 2026-09-27: the paragraph and the runtime edge now rest on a page in common.Capability,
Multitenant SaaS Application using CAPparts, areas, edges revisedThe record states what its source draws around and between the parts (docs/concepts/reference-architectures.md §9.2): the provider and consumer subaccounts, the users and API clients, and the flow of subscription, data and authentication as the architecture page states it. On the checker's reading of the first draft: only the application is placed in the provider subaccount, since the page places nothing else there; the registration with the SaaS Provisioning service is the stated direction, not events the service raises; and API Management's policies are stated with no path, so no arrow.Reference architecture,
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.Capability,
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".Capability,
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.Capability,
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.Capability,
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.Service,
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.Reference architecture,
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.Capability,
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.Capability,
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".Capability,
Telemetrycore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
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.Capability,
Testingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
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.Capability,
xtravelsdemonstrates revisedcapire's XTravels Sample for AI page shows the sample integrating several MCP services and CAP-level agents.Sample,
Sat 26
8 changes
capvaladded to the atlasCustom messages and handler classes for CAP input validationCDS plugin,
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 Automation 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.Blog,
SAP Build Process Automationで「グループ宛て承認ワークフロー」を構築するpublishedWalks through building a group-addressed approval workflow in SAP Build Process Automation: a user group created in SAP Cloud Identity Services 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 form shown in that inbox carries a Claim button that hides a claimed task from the other members, and the workflow's approval step binds its group recipients to the field the requester chose on the start form.Blog,
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 service 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.Blog,
Show 4 more
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 Services as the trust and user-correlation layer behind SAP Task Center: 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 Provisioning jobs, and the principal-propagation trust the cloud connector needs to pass it through to an on-premise task provider.Blog,
MattBrightmanadded to the atlasPerson,
@odatano/nightgatereleased 0.26.0Upgrade notes that move to 0.26.0 without running nightgate-rewrap-keys.CDS plugin,
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.Blog,
Fri 25
13 changes
@sap-ux/createadded to the atlasCommand line for changing features of an existing Fiori projectCLI,
@sap-ux/fe-fpm-writeradded to the atlasWriter of flexible programming model elements into Fiori elements appsPackage,
@sap-ux/odata-service-writeradded to the atlasWriter that adds an OData service to an existing UI5 projectPackage,
@sap-ux/odata-vocabulariesadded to the atlasOASIS and SAP OData vocabularies with a VocabularyServicePackage,
Show 9 more
cap-materialbom-graphadded to the atlasCAP sample drawing a material BOM as a UI5 network graphSample,
custom-llm-clientadded to the atlasLocal chat client for SAP questions with a CAP LangGraph backendSample,
fiori-table-maintenanceadded to the atlasCAP and UI5 app for in-place table maintenance with SmartTableSample,
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 Mesh, where the author configures topics, queues and subscriptions and forwards it through a REST Delivery Point to SAP Build Process Automation, 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.Blog,
spreadsheetimporter/sample-full-btpadded to the atlasCAP Risks and Mitigations project with a Spreadsheet Upload buttonSample,
ui5-call-actionadded to the atlasUI5 apps calling CAP OData actions and functions from custom codeSample,
ui5con24-dev-envadded to the atlaspnpm workspace running CAP, a local launchpad and two UI5 appsSample,
Agent evalsecosystems revisedLLM-Benchmark-ABAP-Code-Generation, 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.Capability,
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.Sample,
Wed 23
12 changes
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.Blog,
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 Cloud 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 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.Blog,
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'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.Blog,
SAP AI Services - DOX - Gen AI with SAP CAP Plugin - Part 3publishedBuilding on Reusable components for CAP with cds-plugin by Daniel Schlachter, 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.Blog,
Show 8 more
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 OData V4 entity and forwards each query with api.run(req.query). The CAP service reaches that API through a Destination service instance configured with OAuth2ClientCredentials authentication from a service key, so the address and credentials stay out of the application code.Blog,
Expertumfirst recorded in the atlasPerson,
Matthis Vansteenhuysefirst recorded in the atlasPerson,
Stijn Mertensfirst recorded in the atlasPerson,
@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.CDS plugin,
@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.CDS plugin,
@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.CDS plugin,
@sap/cdsrequires revisedThe edge to SAP HANA Cloud, entered 2026-09-22, is removed: capire names SAP HANA as a CAP application's default database, not as a dependency of this package, whose own entry says databases arrive as plugins. The database service, @cap-js/hana, carries the edge since 2026-09-23, as cds-feature-hana does on the Java side.Package,
Tue 22
23 changes
API Composition: Seamless Enterprise Data Access for Developers and AI AgentspublishedAPI Composition (formerly Graph, a capability of API Management) 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 servers coverage.Blog,
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-cucumber's ready-made step definitions for SAP Fiori elements 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.Blog,
Graph on Integration Suite: Simplifying Multi-API Data Retrieval with Unified Business Data GraphpublishedA hands-on walkthrough of Graph, the API Management feature of SAP Integration Suite 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 Integration Content Enricher would otherwise merge.Blog,
Information Map – Introduction Series: Graph in SAP Integration SuitepublishedIntroduces Graph, an enhancement to API Management within SAP Integration Suite 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.Series,
Show 19 more
SAP BTP Destinations in a Nutshell Part 1 - Motivation & NoAuthentication DestinationspublishedOpens a series on SAP BTP Destinations 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, 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.Blog,
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 OData V4 and GraphQL services require a fixed structure for action and function parameters, so the dynamic type works only over CAP's REST protocol.Blog,
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 modelling, with an extend Books with @restrict: [{ grant:'WRITE', to:'admin' }] aspect as its authorization example; CQL and CQN queries shown against both a local service and OData's $select/$expand; and the service-and-event model — this.on, this.emit, srv.on — that carries CAP's async processing. 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.Blog,
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 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 GraphQL plugin, @cap-js/graphql: 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.Blog,
@ui5/mcp-serverreleased 0.3.0Setups that rely on MCP roots to keep the server's tools inside the workspace.MCP server,
@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.CDS plugin,
@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.CDS plugin,
@cap-js/audit-loggingrequires, connects[0] revisedThe second reader read the connects batch of 2026-09-19 on 2026-09-22, after its acceptance, and found: the README states the service as the shipped integration and an own store as an alternative, and both edges asserted it as fixed; the bare requires is now object form, conditional, with the two sentences quoted.CDS plugin,
@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.CDS plugin,
@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.CDS plugin,
@sap/cdsrequires revisednpm run check:usecases listed the path of answer-a-question-from-records-in-a-cap-service this entry is a part of with no edge between its parts. capire's databases overview names SAP HANA as the production default and the embeddings guide bases the vector functions on its implementations, quoted now; conditional because SQLite and PostgreSQL are named as the other databases.Package,
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.CDS plugin,
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.Package,
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.Package,
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.Capability,
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.Service,
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).Service,
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.Capability,
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.CDS plugin,
Mon 21
18 changes
@mi8y/cap-agents-aicore-vectorstoreadded to the atlasLangChain vector store on SAP AI Core Document GroundingPackage,
@mi8y/cap-agents-cds-vectorstoreadded to the atlasLangChain vector store with CDS entities for embeddingsPackage,
@mi8y/cap-agents-memoryadded to the atlasLangGraph Store keeping agent memory as CDS entitiesCDS plugin,
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 service, 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.Blog,
Show 14 more
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'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 Runtime.Blog,
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, 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.Blog,
How to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata PollpublishedWalks through building a Cloud Integration flow that polls the S/4HANA Business Partner OData API on a timer, splits the response into individual records, and publishes each as an event to Advanced Event Mesh 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.Blog,
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 Suite, SAP Business Data Cloud and SAP Datasphere. Points to SAP's @cap-js/ord as the reference implementation that lets CAP applications publish ORD-compliant metadata, the piece metadata publishing 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.Blog,
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 AI: 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.Tutorial,
Use Free Tier to Subscribe to SAP Document AI Basic UIpublishedEight steps from an entitled subaccount to the SAP Document AI basic UI open in a browser, and most of them are identity work rather than document work: getting a tenant for Cloud Identity Services, 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.Tutorial,
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 Cloud requires of any data product — including ones Databricks publishes — before SAP Datasphere can discover it. Data products moving from Databricks into Business Data Cloud carry both ORD and CSN metadata side by side.Blog,
Juliana Moraisadded to the atlasPerson,
@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.CDS plugin,
@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.CDS plugin,
@sap/cdsprovides revisedcapire's CAP-native Embeddings guide documents the Vector type as built into CDS and vector_embedding, cosine_similarity and l2distance as functions of the query language, with a stored calculated element recomputing an embedding on write. The capability behind the CAP door carried no core edge and read community-only because of it. The edge is scoped to that modelled half in what_it_does: chunking and prompt assembly stay with the plugins and the application.Package,
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, 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.Capability,
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.CDS plugin,
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.Capability,
Sun 20
33 changes
@animb1996/cds-data-driftadded to the atlasCompares a CAP project's CSV data with its database rowsCLI,
@cap-js/mcp-serveradded to the atlasMCP server for CAP development: model and docs searchMCP server,
@sap/cds-analyticsadded to the atlasCDS plugin adding embedded analytics to CAP for SAP Analytics CloudCDS plugin,
@sapmentors/cds-scp-apiadded to the atlasNode module for CAP calling external APIs through a destinationPackage,
Show 29 more
API Managementadded to the atlasAPI proxies with security and traffic policies and Developer HubService,
SAP Job Scheduling Service: 🔧 Generate Your Own Client Library from OpenAPI SpecpublishedA tutorial on generating a type-safe client library for the SAP Job Scheduling service's REST API from its OpenAPI specification, using the OpenAPI Generator CLI to target Node.js, TypeScript, Java, Python, Go or C#. It walks through OAuth 2.0 client-credentials authentication and the generated client's Jobs API, listing, creating and reading jobs with their cron schedules, and lists what the service's error statuses (400, 401, 404, 409, 429, 503) mean to a caller. It states that the official @sap/jobs-client will be deprecated and tells readers to use a generated client for now.Blog,
Andreas Wehrmannfirst recorded in the atlasPerson,
Anim Basuadded to the atlasPerson,
georgi-shakevfirst recorded in the atlasPerson,
Hristina Ivanovafirst recorded in the atlasPerson,
kevin-b-sapfirst recorded in the atlasPerson,
Markus Bucherfirst recorded in the atlasPerson,
@odatano/core-mcpreleased 0.3.0An .mcp.json or setup guide that configures the server with ODATANO_BASE_URL and ODATANO_TOKEN.MCP server,
@odatano/nightgate-mcpreleased 0.7.0An .mcp.json or setup guide that configures the server with NIGHTGATE_BASE_URL and NIGHTGATE_TOKEN.MCP server,
@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.Package,
@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.Package,
@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.CDS plugin,
@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.CDS plugin,
@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 plugin,
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.Capability,
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.Capability,
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.Service,
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.Capability,
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.CDS plugin,
Error handlingcore coverage revisedcds-error-outbox, 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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Service,
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.Capability,
Tenant extensibilitycore coverage reviseddynamic-external-cds-join, an independent cds-plugin first seen on 2026-09-07, carries a provides edge to this capability on CAP beside @sap/cds-mtxs. The previous state was assessed on 2026-08-31, before that entry. The relationship is unassessed: no retrieved document gives a history between the plugin and the core.Capability,
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.Capability,
Sat 19
104 changes
cap-java/cds-aiadded to the atlasBridge from CAP Java to SAP AI Core, with Fiori field recommendationsPackage,
com.sap.cds:cds-adapter-agentadded to the atlasA2A adapter turning a CAP Java service into an LLM-backed agentPackage,
com.sap.cds:cds-adapter-mcpadded to the atlasMCP adapter turning a CAP Java service into an MCP serverPackage,
com.sap.cds:cds-adapter-odata-v2added to the atlasOData V2 protocol adapter built into the CAP Java runtimePackage,
Show 100 more
com.sap.cds:cds-adapter-odata-v4added to the atlasOData V4 protocol adapter for CAP Java Application ServicesPackage,
com.sap.cds:cds-feature-advanced-event-meshadded to the atlasCAP Java plugin for SAP Integration Suite, advanced event meshPackage,
com.sap.cds:cds-feature-auditlog-ngadded to the atlasCAP Java plugin sending audit log events to SAP Audit Log servicePackage,
com.sap.cds:cds-feature-auditlog-v2added to the atlasCAP Java handler for SAP Audit Log service API version 2Package,
com.sap.cds:cds-feature-change-trackingadded to the atlasChange log of annotated entity fields for CAP JavaPackage,
com.sap.cds:cds-feature-cloudfoundryadded to the atlasReads bound service credentials on SAP BTP, Cloud Foundry for CAP JavaPackage,
com.sap.cds:cds-feature-consoleadded to the atlasConnects a running CAP Java app to CAP console for monitoringPackage,
com.sap.cds:cds-feature-dev-dashboardadded to the atlasBrowser dashboard for a running CAP Java service during developmentApp,
com.sap.cds:cds-feature-enterprise-messagingadded to the atlasConnects CAP Java messaging to SAP Event MeshPackage,
com.sap.cds:cds-feature-event-hubadded to the atlasConnects CAP Java messaging to SAP Cloud Application Event HubPackage,
com.sap.cds:cds-feature-flowadded to the atlasDeclarative status-transition flows on bound actions in CAP JavaPackage,
com.sap.cds:cds-feature-hanaadded to the atlasSAP HANA Cloud datasource for CAP Java applicationsPackage,
com.sap.cds:cds-feature-identityadded to the atlasOAuth2 token validation from XSUAA and SAP Cloud Identity ServicesPackage,
com.sap.cds:cds-feature-jdbcadded to the atlasJDBC runtime for H2 and SQLite in CAP JavaPackage,
com.sap.cds:cds-feature-k8sadded to the atlasReads SAP BTP Operator service bindings on Kyma for CAP JavaPackage,
com.sap.cds:cds-feature-kafkaadded to the atlasConnects CAP Java messaging to Apache KafkaPackage,
com.sap.cds:cds-feature-mtadded to the atlasMultitenancy for CAP Java: tenant lifecycle and per-tenant containersPackage,
com.sap.cds:cds-feature-n8nadded to the atlasTriggers n8n workflows from CAP Java through the outboxPackage,
com.sap.cds:cds-feature-notificationsadded to the atlasBusiness notifications from CAP Java via SAP Alert NotificationPackage,
com.sap.cds:cds-feature-ordadded to the atlasGenerates Open Resource Discovery documents from a CAP Java modelPackage,
com.sap.cds:cds-feature-postgresqladded to the atlasPostgreSQL datasource for CAP Java applicationsPackage,
com.sap.cds:cds-feature-redisadded to the atlasBeta connector from CAP Java messaging to Redis Pub/SubPackage,
com.sap.cds:cds-feature-remote-odataadded to the atlasRemote Services for consuming OData V2 and V4 APIs in CAP JavaPackage,
com.sap.cds:cds-feature-xsuaaadded to the atlasFormer XSUAA JWT validation for CAP Java, removed in CAP Java 3.0Package,
com.sap.cds:cds-integration-cloud-sdkadded to the atlasSAP Cloud SDK integration for remote REST services in CAP JavaPackage,
com.sap.cds:cds-maven-pluginadded to the atlasMaven plugin running CDS build steps in a CAP Java projectBuild tool,
com.sap.cds:cds-services-archetypeadded to the atlasMaven archetype generating a new CAP Java projectGenerator,
com.sap.cds:cds-services-bomadded to the atlasMaven bill of materials pinning CAP Java module versionsPackage,
Getting started with cds.ql in NodeJS for CAP - 101 on how to query datapublishedWalks through cds.ql, the query API @sap/cds gives a Node.js CAP service's custom handlers, with worked SELECT, UPDATE, DELETE and INSERT examples against a sample schema — filters, AND/OR conditions, column projections, ordering, limiting, grouping and joining two entities through a schema view. An added correction notes that cds.tx(req) is no longer needed to run a query in newer CAP versions, contradicting the post's own original guidance.Blog,
Kyma Integration with SAP Cloud Logging. Part 2: Let's ship some tracespublishedWalks through shipping traces from SAP BTP, Kyma runtime to SAP Cloud Logging: a Kyma TracePipeline resource pointed at the service binding's OTLP endpoint, an Istio Telemetry resource that sets the mesh-wide sampling percentage, and Cloud Logging's Trace Analytics view to filter the resulting spans by service name or request ID. For a multitenant JavaScript CAP application it instruments with @cap-js/telemetry, naming the npm packages to add, and covers Cloud Native Buildpacks and manual Istio header propagation for services outside CAP.Blog,
Streamline User Targeting with Segments in SAP Feature FlagspublishedWalks through segments in the SAP Feature Flags service: reusable, named user lists — up to 1,000 direct user IDs or 15 attribute-based conditional rules per segment — referenced across every feature flag in a service instance instead of redefined per flag. Covers creating a segment from the Feature Flags Dashboard and the per-instance limit of 20 segments, plus the safeguard that a segment in use cannot be deleted.Blog,
Alla Volkovfirst recorded in the atlasPerson,
allacherkesfirst recorded in the atlasPerson,
Armin Hattingfirst recorded in the atlasPerson,
bryan-weefirst recorded in the atlasPerson,
busehalis-sapfirst recorded in the atlasPerson,
CAPfirst recorded in the atlasPerson,
dheerasameerkfirst recorded in the atlasPerson,
Furkan Aksoyfirst recorded in the atlasPerson,
Jhodel Cailanfirst recorded in the atlasPerson,
krshubham-1first recorded in the atlasPerson,
Lidor Talfirst recorded in the atlasPerson,
liorfrfirst recorded in the atlasPerson,
maheshsooryambylufirst recorded in the atlasPerson,
Maksim Pahlbergfirst recorded in the atlasPerson,
michawaifirst recorded in the atlasPerson,
rayakorenfirst recorded in the atlasPerson,
Rima Sirichfirst recorded in the atlasPerson,
SanjayBabu SPfirst recorded in the atlasPerson,
Sapir Polfirst recorded in the atlasPerson,
Shahar Soelfirst recorded in the atlasPerson,
Slavik Lvovskyfirst recorded in the atlasPerson,
Spreadsheet Importerfirst recorded in the atlasPerson,
tal-sapanfirst recorded in the atlasPerson,
XinYe22first recorded in the atlasPerson,
young.yang03first recorded in the atlasPerson,
@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 plugin,
@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.CDS plugin,
@cap-js/audit-loggingconnects revisedThe plugin required the Audit Log service and said nothing of what passes between them.CDS plugin,
@cap-js/telemetryconnects revised@cap-js/telemetry names SAP Cloud Logging as one of its predefined export targets, and the graph had no edge between the two.CDS plugin,
@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.Package,
cap-java/cds-aiprovides, connects revisedThe plugins required SAP AI Core; the connection says what they call it for, and when they do not.Package,
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.CDS plugin,
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.CDS plugin,
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.Package,
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.Package,
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.Package,
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.Package,
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.Package,
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.Package,
com.sap.cds:cds-feature-auditlog-ngprovides, connects revisedThe plugin required the Audit Log service; the connection says which way the events go.Package,
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.Package,
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.Package,
com.sap.cds:cds-feature-cloudfoundryprovides revisedNew CAP Java feature discovered through capire and its published Maven POM. Facts describe the documented release; deployment compatibility is not verified by the atlas.Package,
com.sap.cds:cds-feature-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.Package,
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.App,
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.Package,
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.Package,
com.sap.cds:cds-feature-flowprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.Package,
com.sap.cds:cds-feature-hanaprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.Package,
com.sap.cds:cds-feature-identityprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.Package,
com.sap.cds:cds-feature-jdbcprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.Package,
com.sap.cds:cds-feature-k8sprovides revisedNew CAP Java feature discovered through capire and its published Maven POM. Facts describe the documented release; deployment compatibility is not verified by the atlas.Package,
com.sap.cds:cds-feature-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.Package,
com.sap.cds:cds-feature-mtprovides revisedNew CAP Java provider discovered through official CAP documentation and its Maven POM. Facts describe capire's stated behaviour, not verified deployment compatibility.Package,
com.sap.cds:cds-feature-n8nprovides revisedNew CAP Java provider discovered through the CAP plugins documentation and the cap-java/cds-feature-n8n repository. Facts describe the pinned source revision (0.0.1); the README itself notes association-path traversal is more limited than the Node.js plugin's.Package,
com.sap.cds:cds-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.Package,
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.Package,
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.Package,
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.Package,
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.Package,
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.Package,
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.Package,
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.Build tool,
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.Generator,
com.sap.cds:cds-services-bomprovides revisedNew CAP Java runtime entry discovered through official CAP documentation. cds-services-bom stands for the release as a whole (capire, java/developing-applications/building.md, Module Dependencies and Standard Modules); the edges above are the capabilities the java/ documentation and the cross-runtime guides show answered by the mandatory core modules and application frameworks the BOM pins, without a separate cds-feature module.Package,
SAP 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.Service,
SAP-samples/partner-reference-applicationconnects revisedThe description named the ERP systems the application integrates with, and the graph had nothing to point at. SAP S/4HANA Cloud Public Edition is now an external of kind sap-solution, and the tutorial's sentence about its OData services is the edge.Sample,
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2explains revisedFollows the reclassification of cds-kafka. 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.Blog,
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.Blog,
Fri 18
25 changes
@mpah/enum-value-helpadded to the atlasCAP plugin generating value help for enum fields from an annotationCDS plugin,
@rizing/cds-extensionadded to the atlasCAP plugin putting a draft-capable facade in front of imported ODataCDS plugin,
@root3287/cap-segwadded to the atlasCompiler from a CDS service to SEGW model and data provider classesBuild tool,
@sap-ux/cap-config-writeradded to the atlasWriter module for changing a CAP project's configuration from codePackage,
Show 21 more
@sap-ux/i18nadded to the atlasReader and writer for i18n bundles of UI5 or CAP projectsPackage,
@sap/ams-devadded to the atlasCompiler from AMS DCL policies to DCN for local runs and testsBuild tool,
@saptarishi/cds-plugin-llmadded to the atlasCAP service kind putting eleven model providers behind one APICDS plugin,
Adding Custom Metrics to a CAP application using cap-js/telementry plugin and SAP Cloud LoggingpublishedWalks through adding a custom OpenTelemetry counter metric to a CAP application on top of @cap-js/telemetry's built-in database-pool metrics, incrementing and decrementing it from a service handler on CREATE and UPDATE of high-urgency incidents. Shows the resulting metric in SAP Cloud Logging's Discover and Visualize screens, building a custom visualisation from the exported metrics data.Blog,
az-private-linky-capadded to the atlasCAP project reaching S/4 via SAP BTP Private Link Service for AzureSample,
cds-event-monitoringadded to the atlasStores, browses and resends messages a CAP service receivesCDS plugin,
cds-spreadsheetimporter-pluginadded to the atlasSpreadsheet upload into a CDS entity, parsed on the serverCDS plugin,
cdseadded to the atlasDestination resolution and axios calls from CAP configurationPackage,
DanKromp/skillOverflowadded to the atlasCollection of 41 agent skills, 37 for SAP development tasksSkill,
From Application Logging to Cloud Logging: Service Innovation GuidepublishedSAP Cloud Logging replaces SAP Application Logging service, moving each customer from a shared multitenant stack to a dedicated, fully isolated one, and this guide sets out what changes with the move: a deployment per compliance region instead of per Cloud Foundry landscape, SAML/IDP-based authentication instead of Cloud Foundry-bound auth, retention that is configurable instead of fixed at seven days, and hourly capacity-unit pricing instead of fixed-size monthly plans. It also states the deprecation timeline for logging on BTP: SAP Application Logging closes to new or renewed CPEA contracts after 2025-07-31, while contracts signed before that date keep their entitlement until their next renewal.Blog,
How to Access SAP Cloud Logging Service Dashboards Using IAS SAML AuthenticationpublishedWalks through wiring SAML 2.0 single sign-on between SAP Cloud Identity Services (IAS) and SAP Cloud Logging 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.Blog,
sap-cap-validator-pluginadded to the atlasCAP plugin validating input against @Validator JSON Schema rulesCDS plugin,
DanKrompadded to the atlasPerson,
@sap/cdsdescription, provides, changed in revisedRead from the June and September 2026 release notes, so a piece written against CAP Node.js 9 can be seen to predate them. The 10.0 date is when the first 10.x reached npm; the release note itself names only the month.Package,
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.CDS plugin,
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.Skill,
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.Capability,
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. cdse is one: it reads the destination from the CAP configuration and makes the call with axios, 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.Capability,
Importing and exporting table datacoverage by ecosystem revisedA UI5 entry now answers the import side: ui5-cc-spreadsheetimporter 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.Capability,
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.Capability,
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.Skill,
Thu 17
22 changes
com.sap.cds:cds-feature-attachmentsadded to the atlasCAP Java attachments with database storage and an Object Store modulePackage,
com.sap.cds:sdmadded to the atlasCAP Java plugin for attachments in SAP Document ManagementPackage,
Enhancing Business Processes with SAP BTP AI in SAP Integration SuitepublishedWalks through a post-exit iflow in SAP Integration Suite that calls an LLM through SAP AI Core'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.Blog,
SAP HANAadded to the atlasSAP's relational database platform, on-premise and in HANA CloudPlatform,
Show 18 more
Martin Pankrazadded to the atlasPerson,
@cap-js-community/commonprovides, requires revisedMaintainer README documents replication configuration and the required production dependency.Package,
@cap-js/attachmentsprovides revisedRefresh storage and upload boundaries from the pinned README; make storage and scanning prerequisites conditional.CDS plugin,
@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.CDS plugin,
@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.CDS plugin,
@tklein1801/cap-js-attachmentsprovides revisedReplace the unsupported name-swapped summary with documented behaviour; preserve sourced lineage.CDS plugin,
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.Capability,
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.Capability,
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.CDS plugin,
cds-cachingdescription, compat, requires, description revisedThe maintainer Store Types table documents independently selectable storage modes and adapters.CDS plugin,
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 plugin,
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.CDS plugin,
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.Package,
com.sap.cds:sdmprovides revisedNew CAP Java provider discovered through official CAP documentation. Facts describe the pinned source revision, not verified deployment compatibility.Package,
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.Service,
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.Capability,
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.Service,
sap-cap-sdm-pluginprovides revisedPreserve the exact early release declaration and listed exclusions. Upload lifecycle and scan behaviour remain unestablished.CDS plugin,
Wed 16
10 changes
@sanjay-sde/cap-js-log-controladded to the atlasCAP plugin controlling CDS logger and OpenTelemetry log verbosityCDS plugin,
@sap_oss/vscode-mta-toolsadded to the atlasVS Code Multi-Target Application toolsIDE extension,
@sap-ux/telemetryadded to the atlasLibrary for sending usage telemetry dataPackage,
cap-mcp-guardadded to the atlasPolicy enforcement and field masking for MCP-enabled CAP appsCDS plugin,
Show 6 more
cdsmbt01added to the atlasCDS plugin for OData change tracking in CAP applicationsCDS plugin,
Deploy and Run the Incident Management Application in the SAP BTP, Kyma Runtime with a Mock ServerpublishedBuilds the Incident Management CAP service and its HTML5 UI deployer as container images with the pack CLI's Cloud Native Buildpacks, then deploys both to SAP BTP, Kyma runtime with a Helm chart, wiring in the mock-server destination and productive cds build --production output set up in the prerequisite tutorials. Marked out of maintenance in favour of the newer "Develop a Side-by-Side CAP-Based Extension Application" mission in SAP Discovery Center, but the build-and-deploy mechanics it walks through — buildpacks, image tags, a Helm chart — are what deployment still covers for Kyma.Tutorial,
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 Mesh to SAP Advanced Event Mesh: 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.Blog,
opentelemetry-cdsadded to the atlasOpenTelemetry support for the CDS Node.js runtimeCDS plugin,
SAP Joule implementation in an S/4HANA private cloud 3 system landscapepublishedWalks through enabling SAP Joule 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 Services 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 Connector into the production backend.Blog,
@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.CDS plugin,
Tue 15
637 changes
A Clearer View of Your SAP Integrations Under the New API PolicypublishedThe SAP API Policy Evidence Skill 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-docs and a read-only ARC-1, 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.Blog,
ARC-1 with Joule Studio: Bringing Real ABAP System Context into JoulepublishedBrings the same BTP-deployed ARC-1 endpoint into Joule through a Joule Studio, classic edition agent configured with Anthropic Claude Sonnet 4 and two MCP servers, ARC-1 and mcp-sap-docs, for work that starts in SAP where the previous part started in Microsoft 365. Two read-only showcases carry the ABAP Cloud readiness 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 Suite 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.Blog,
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-docs, 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, 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-1, from SAPUI5 1.84.59 to 1.147.2, the diff range held 985 deprecations and 961 What's New entries, and the linting 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.Blog,
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-docs for public documentation and the ADT MCP server vibing-steampunk 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.Blog,
Show 633 more
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 edition turns the action into a skill and deploys it. Establishing the connection and its destination before the action project exists is RFC connectivity and Destinations 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.Blog,
Establish a central inbox with SAP Task CenterpublishedSAP's reference architecture for SAP Task Center 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 UIs. It rests on Cloud Identity Services: 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 Connector for on-premise SAP S/4HANA.Reference architecture,
Finally: An MCP Server for ABAPpublishedAnnounces the ABAP variant of mcp-sap-docs, published at mcp-abap.marianzeis.de for GitHub Copilot'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 capabilities 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.Blog,
From SEGW and Legacy UI5 to RAP with ARC-1publishedThree 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.Blog,
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-docs, 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, @cap-js/mcp-server, @sap-ux/fiori-mcp-server) sit in off-stack work that git and pipelines already gate, and the harder ABAP case is left to the next part.Blog,
Integrating and Extending JoulepublishedSAP's reference architecture for SAP Joule 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 authentication path: each user sits in the Identity Directory of Cloud Identity Services 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 Studio 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 Core, the ground agent tooling covers; a later Joule Studio page describes a managed Joule Studio Runtime on the SAP Business AI Platform, which has no entry here.Reference architecture,
Introducing open-rfc: Calling SAP RFC from Node.js Without the SDKpublishedopen-rfc 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 needs an S-user, an SAP Build Code licence and a private registry. The history of RFC connectivity 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.Blog,
Joule in SAP Build Codeadded to the atlasJoule's generative AI inside SAP Build CodeService,
Medallion Reference Architecture for Big Data Processing in SAP HANA CloudpublishedSAP's medallion layout for SAP HANA Cloud: 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 warehouse covers, with Spark jobs and SAP Datasphere data flows named as ways to move data between layers and SAP Analytics Cloud 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.Reference architecture,
SAP BTP, Cloud Foundry Runtimeadded to the atlasCloud Foundry runtime of SAP BTP for polyglot applicationsService,
SAP Build Codeadded to the atlasDevelopment environment on BTP for UI5, Fiori, mobile and CAPService,
SAP Continuous Integration and Deliveryadded to the atlasPredefined CI/CD pipelines for SAP development projectsService,
SAP Document AIpublishedSAP's reference architecture for SAP Document AI, first as SAP composes the service on BTP for document extraction: OCR, pretrained models, customer-defined schemas and LLM calls through SAP AI Core and its Prompt Registry in one pipeline, with tenant-isolated persistence in SAP HANA Cloud, PostgreSQL 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 Suite flow, or through a 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.Reference architecture,
SAP Document Management service, integration optionadded to the atlasAPIs and a UI5 component for document management in appsService,
SAP HANA Cloud as an Esri GeodatabasepublishedSAP's design for running an Esri ArcGIS Enterprise geodatabase inside SAP HANA Cloud, 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 data. It traces three personas: an analyst in ArcGIS Pro building query layers over that view, a developer whose 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.Reference architecture,
SAP Jouleadded to the atlasSAP's AI engagement layer across SAP applicationsService,
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 authentication: 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 Services exchanged through AWS STS for an IAM role, or an X.509 certificate kept in SAP Destination service 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.Reference architecture,
abap2UI5first recorded in the atlasPerson,
Abdelkader Abdelazizfirst recorded in the atlasPerson,
AbdelkaderDefirst recorded in the atlasPerson,
Abdulbasıt Gülşenfirst recorded in the atlasPerson,
Abhinav Singhfirst recorded in the atlasPerson,
Abhishek Anandfirst recorded in the atlasPerson,
Abu Buwefirst recorded in the atlasPerson,
actions-userfirst recorded in the atlasPerson,
Adi Pleyer (priv)first recorded in the atlasPerson,
Adrian Bobevfirst recorded in the atlasPerson,
Adrian Görlerfirst recorded in the atlasPerson,
agt-sapfirst recorded in the atlasPerson,
Agustino Limfirst recorded in the atlasPerson,
Aisling Noonefirst recorded in the atlasPerson,
AjeethKumar Rfirst recorded in the atlasPerson,
Ajinkya Patilfirst recorded in the atlasPerson,
Ajit Kumar Pandafirst recorded in the atlasPerson,
Akshat Jainfirst recorded in the atlasPerson,
Akshay Avinashfirst recorded in the atlasPerson,
Albin Ramovicfirst recorded in the atlasPerson,
Alejandro Sierra Sernafirst recorded in the atlasPerson,
Alessandro Biagifirst recorded in the atlasPerson,
Alina Govoruhinafirst recorded in the atlasPerson,
Alper Dedeoglufirst recorded in the atlasPerson,
amitsahu01first recorded in the atlasPerson,
Andis Redmansfirst recorded in the atlasPerson,
André Adamfirst recorded in the atlasPerson,
Andre Meyeringfirst recorded in the atlasPerson,
Andreas Kunzfirst recorded in the atlasPerson,
Andreas Schmidtfirst recorded in the atlasPerson,
Andreas-Meindl-msggroupfirst recorded in the atlasPerson,
Andrei Vishnevskyfirst recorded in the atlasPerson,
Andrew Barnardfirst recorded in the atlasPerson,
Angel Tonchevfirst recorded in the atlasPerson,
Anirudh Prasadfirst recorded in the atlasPerson,
Anish Kumarfirst recorded in the atlasPerson,
Anjanfirst recorded in the atlasPerson,
ankulfirst recorded in the atlasPerson,
Ankush Kumar Gargfirst recorded in the atlasPerson,
Anmol Binanifirst recorded in the atlasPerson,
Anmol Choprafirst recorded in the atlasPerson,
Annemarie Frankfirst recorded in the atlasPerson,
Ansgar Lichterfirst recorded in the atlasPerson,
Antonio Maradiagafirst recorded in the atlasPerson,
Anupam Medirattafirst recorded in the atlasPerson,
apnabahikhatafirst recorded in the atlasPerson,
Apurv Trivedifirst recorded in the atlasPerson,
Arley Triana Morinfirst recorded in the atlasPerson,
Arsalan Khanfirst recorded in the atlasPerson,
Artem Kovalovfirst recorded in the atlasPerson,
Artemis Coderfirst recorded in the atlasPerson,
Arun Krishnamoorthyfirst recorded in the atlasPerson,
Ashish Jainfirst recorded in the atlasPerson,
ashutoshtghoratfirst recorded in the atlasPerson,
Attila Borosfirst recorded in the atlasPerson,
Austin Devinefirst recorded in the atlasPerson,
Austin Kloskefirst recorded in the atlasPerson,
automatizatodofirst recorded in the atlasPerson,
avasilev-sapfirst recorded in the atlasPerson,
bandlowfirst recorded in the atlasPerson,
Benjamin Reimfirst recorded in the atlasPerson,
Benny Meifirst recorded in the atlasPerson,
Berkayfirst recorded in the atlasPerson,
Bhoomikafirst recorded in the atlasPerson,
bhoomikkfirst recorded in the atlasPerson,
Bob den Osfirst recorded in the atlasPerson,
bozaidafirst recorded in the atlasPerson,
BraunMatthiasfirst recorded in the atlasPerson,
Brian Bernardfirst recorded in the atlasPerson,
BrigittaK307first recorded in the atlasPerson,
Britta Varwigfirst recorded in the atlasPerson,
broksyfirst recorded in the atlasPerson,
bthillayfirst recorded in the atlasPerson,
CAP Botfirst recorded in the atlasPerson,
Capire Docs & Samplesfirst recorded in the atlasPerson,
Carl Önnheimfirst recorded in the atlasPerson,
cavehillfirst recorded in the atlasPerson,
chaithrashreefirst recorded in the atlasPerson,
Charles Duboisfirst recorded in the atlasPerson,
chcohrsfirst recorded in the atlasPerson,
Chiara De Dominicisfirst recorded in the atlasPerson,
ChrGlasfirst recorded in the atlasPerson,
Christian Fuchsfirst recorded in the atlasPerson,
Christian Georgifirst recorded in the atlasPerson,
Christian Kolbowskifirst recorded in the atlasPerson,
Christian Lechnerfirst recorded in the atlasPerson,
Christian Neufirst recorded in the atlasPerson,
Christian Schüringsfirst recorded in the atlasPerson,
Christian Zindelfirst recorded in the atlasPerson,
Christine Hörnerfirst recorded in the atlasPerson,
Christoph Gollmickfirst recorded in the atlasPerson,
Christoph Matthiesfirst recorded in the atlasPerson,
Christos Koutsiarisfirst recorded in the atlasPerson,
Cian Morrinfirst recorded in the atlasPerson,
Ciarafirst recorded in the atlasPerson,
colindoherty1first recorded in the atlasPerson,
Cora Bonniefirst recorded in the atlasPerson,
corporateuserfirst recorded in the atlasPerson,
cronossclkfirst recorded in the atlasPerson,
Csaba K Molnárfirst recorded in the atlasPerson,
cyrilfirst recorded in the atlasPerson,
d023613first recorded in the atlasPerson,
D068023first recorded in the atlasPerson,
d3rdennisfirst recorded in the atlasPerson,
Daniel Dragoleafirst recorded in the atlasPerson,
Dániel Hajnalfirst recorded in the atlasPerson,
Daniel Hutzelfirst recorded in the atlasPerson,
Daniel Kullmannfirst recorded in the atlasPerson,
Daniel O'Gradyfirst recorded in the atlasPerson,
Daniel O'Gradyfirst recorded in the atlasPerson,
Daniel Schlachterfirst recorded in the atlasPerson,
Daniel Shterevfirst recorded in the atlasPerson,
Danyal Aslamfirst recorded in the atlasPerson,
David Gogrichianifirst recorded in the atlasPerson,
David H Lamfirst recorded in the atlasPerson,
David Knaackfirst recorded in the atlasPerson,
David O'Connorfirst recorded in the atlasPerson,
David Sooterfirst recorded in the atlasPerson,
Davis Voicescuksfirst recorded in the atlasPerson,
DeblinaSanyalfirst recorded in the atlasPerson,
Deeksha Sinhafirst recorded in the atlasPerson,
Deepika Singh NSfirst recorded in the atlasPerson,
deklosdevfirst recorded in the atlasPerson,
Deni Dajafirst recorded in the atlasPerson,
Dennis Eisoldfirst recorded in the atlasPerson,
Dennis Hempfingfirst recorded in the atlasPerson,
Dietrich Mostowojfirst recorded in the atlasPerson,
Dilpreet Kaurfirst recorded in the atlasPerson,
Dimitar Fenerskifirst recorded in the atlasPerson,
dimitar-nikolov-lazarovfirst recorded in the atlasPerson,
Dimitri Herberfirst recorded in the atlasPerson,
Diptofirst recorded in the atlasPerson,
Dirk Teufelfirst recorded in the atlasPerson,
Divyanshu kumarfirst recorded in the atlasPerson,
Diya Dhandapanifirst recorded in the atlasPerson,
DJ Adamsfirst recorded in the atlasPerson,
Dominik Feiningerfirst recorded in the atlasPerson,
Dominik Heimfirst recorded in the atlasPerson,
Donal Tobin (SAP)first recorded in the atlasPerson,
Đông Trầnfirst recorded in the atlasPerson,
Dr. David A. Kunzfirst recorded in the atlasPerson,
Dr. Markus Königsteinfirst recorded in the atlasPerson,
Duc Tai Lyfirst recorded in the atlasPerson,
Dusan Sachafirst recorded in the atlasPerson,
dx frontier GmbHfirst recorded in the atlasPerson,
eckliefirst recorded in the atlasPerson,
Eddiefirst recorded in the atlasPerson,
Edouard Ouinfirst recorded in the atlasPerson,
EGnedelfirst recorded in the atlasPerson,
EgorTfirst recorded in the atlasPerson,
Ekansh Saxenafirst recorded in the atlasPerson,
Ekaterina Mitovafirst recorded in the atlasPerson,
Elias Gnedelfirst recorded in the atlasPerson,
Emanuel Bahrfirst recorded in the atlasPerson,
emincihangerifirst recorded in the atlasPerson,
Emre Cevikfirst recorded in the atlasPerson,
Enesfirst recorded in the atlasPerson,
Eric Pfirst recorded in the atlasPerson,
erlethorfirst recorded in the atlasPerson,
Ethan Jewettfirst recorded in the atlasPerson,
Evan Foxfirst recorded in the atlasPerson,
Evgeny Andreevfirst recorded in the atlasPerson,
Eyüp Bayçölfirst recorded in the atlasPerson,
F7502first recorded in the atlasPerson,
Fabian Reinboldfirst recorded in the atlasPerson,
FabianBerrfirst recorded in the atlasPerson,
Fatih Pensefirst recorded in the atlasPerson,
fionan-SAPfirst recorded in the atlasPerson,
Florian Richterfirst recorded in the atlasPerson,
Florian Vogtfirst recorded in the atlasPerson,
Florian Wilhelmfirst recorded in the atlasPerson,
Francisco Nataniel Gubbinsfirst recorded in the atlasPerson,
Frank Essenbergerfirst recorded in the atlasPerson,
Frank Hufnagelfirst recorded in the atlasPerson,
Frank Meertensfirst recorded in the atlasPerson,
Frank Nietzoldfirst recorded in the atlasPerson,
Frank Weigelfirst recorded in the atlasPerson,
Franziska Friedrichfirst recorded in the atlasPerson,
fred-ops-at-workfirst recorded in the atlasPerson,
Freddy Jetty Johnsonfirst recorded in the atlasPerson,
Gabriel Marangoni Moitafirst recorded in the atlasPerson,
Gavdi Labsfirst recorded in the atlasPerson,
GDamyanovfirst recorded in the atlasPerson,
Geert-Jan Klapsfirst recorded in the atlasPerson,
Geethika Pulafirst recorded in the atlasPerson,
georgbischofffirst recorded in the atlasPerson,
gernotkuhrfirst recorded in the atlasPerson,
Gerritfirst recorded in the atlasPerson,
Gert Mertensfirst recorded in the atlasPerson,
Gianluca Beilfirst recorded in the atlasPerson,
Gopal Anandfirst recorded in the atlasPerson,
gopalanand3first recorded in the atlasPerson,
Goran Peucfirst recorded in the atlasPerson,
GoWalefirst recorded in the atlasPerson,
green-m-bitfirst recorded in the atlasPerson,
Gregor Wolffirst recorded in the atlasPerson,
Grzegorz Karaluchfirst recorded in the atlasPerson,
Guilherme Dellagustinfirst recorded in the atlasPerson,
Guilherme Segantinifirst recorded in the atlasPerson,
Gunnar Koschefirst recorded in the atlasPerson,
gwcswfirst recorded in the atlasPerson,
hannaolbfirst recorded in the atlasPerson,
Harshith Kumar Reddyfirst recorded in the atlasPerson,
HatriGt Acefirst recorded in the atlasPerson,
Heiko Theißenfirst recorded in the atlasPerson,
Heiko Witteborgfirst recorded in the atlasPerson,
heikowitteborgfirst recorded in the atlasPerson,
Helmut Tammenfirst recorded in the atlasPerson,
Henning Heitkötterfirst recorded in the atlasPerson,
Henry Brinkfirst recorded in the atlasPerson,
Hitesh Parmarfirst recorded in the atlasPerson,
hjbothfirst recorded in the atlasPerson,
Hubert Dreckerfirst recorded in the atlasPerson,
IainSAPfirst recorded in the atlasPerson,
iDschepefirst recorded in the atlasPerson,
Ikko Eltociear Ashiminefirst recorded in the atlasPerson,
Ilia Kushnirfirst recorded in the atlasPerson,
Ilya Klopkovfirst recorded in the atlasPerson,
Ingmar Lemkefirst recorded in the atlasPerson,
Injun Parkfirst recorded in the atlasPerson,
iot-cparsfirst recorded in the atlasPerson,
Isaac Palomerofirst recorded in the atlasPerson,
Ivan Paunovfirst recorded in the atlasPerson,
IvoSGfirst recorded in the atlasPerson,
Iwona Hahnfirst recorded in the atlasPerson,
Iyad-Alhafezfirst recorded in the atlasPerson,
J Longfirst recorded in the atlasPerson,
jadolffirst recorded in the atlasPerson,
Jakob Marius Kjaerfirst recorded in the atlasPerson,
Jan Dudafirst recorded in the atlasPerson,
Jan Müllerfirst recorded in the atlasPerson,
Janumpally Kalyanfirst recorded in the atlasPerson,
Jason Maritzfirst recorded in the atlasPerson,
jdmulefirst recorded in the atlasPerson,
jeevitha011first recorded in the atlasPerson,
Jeff Dederickfirst recorded in the atlasPerson,
Jegors Čemisovsfirst recorded in the atlasPerson,
Jegors Čemisovsfirst recorded in the atlasPerson,
JenniferStammfirst recorded in the atlasPerson,
Jere Kelonenfirst recorded in the atlasPerson,
Jérôme Benoitfirst recorded in the atlasPerson,
Jimmy Josephfirst recorded in the atlasPerson,
Joaquin Recio Huertasfirst recorded in the atlasPerson,
JocelynGu135first recorded in the atlasPerson,
johannagonnzdzfirst recorded in the atlasPerson,
Johannes Eschrigfirst recorded in the atlasPerson,
Johannes Gluchfirst recorded in the atlasPerson,
Johannes Kolbefirst recorded in the atlasPerson,
Johannes Neisenerfirst recorded in the atlasPerson,
Johannes Vogelfirst recorded in the atlasPerson,
Johannes Vogtfirst recorded in the atlasPerson,
Jörg Mannfirst recorded in the atlasPerson,
Julian Breukschfirst recorded in the atlasPerson,
Julian Fliellerfirst recorded in the atlasPerson,
Julian Königfirst recorded in the atlasPerson,
julian-schambeckfirst recorded in the atlasPerson,
Junjie Tangfirst recorded in the atlasPerson,
Jürgen Walterfirst recorded in the atlasPerson,
Juri Zeislerfirst recorded in the atlasPerson,
kalevSAPfirst recorded in the atlasPerson,
kalyanjanumpallyfirst recorded in the atlasPerson,
KamalKumarSardiwalfirst recorded in the atlasPerson,
KavithaSivafirst recorded in the atlasPerson,
Kay Schmitteckertfirst recorded in the atlasPerson,
Kazuhiko Takatafirst recorded in the atlasPerson,
Keckl, Matthiasfirst recorded in the atlasPerson,
ketzlerfirst recorded in the atlasPerson,
Kevin Riedelsheimerfirst recorded in the atlasPerson,
KevinC0210first recorded in the atlasPerson,
Khalid Marhoumfirst recorded in the atlasPerson,
kingagesfirst recorded in the atlasPerson,
kitzkanfirst recorded in the atlasPerson,
Klaus Kellerfirst recorded in the atlasPerson,
KopalJauharifirst recorded in the atlasPerson,
korotkovaofirst recorded in the atlasPerson,
Kostas T.first recorded in the atlasPerson,
kranthie-sapfirst recorded in the atlasPerson,
Krish Bhardwajfirst recorded in the atlasPerson,
krish469first recorded in the atlasPerson,
KritiShekharfirst recorded in the atlasPerson,
KS-Prathikshafirst recorded in the atlasPerson,
kshanthfirst recorded in the atlasPerson,
KSPrathikshafirst recorded in the atlasPerson,
LalithManokarfirst recorded in the atlasPerson,
Lars Hvamfirst recorded in the atlasPerson,
Lars Plessingfirst recorded in the atlasPerson,
Lennartfirst recorded in the atlasPerson,
LiamM2004first recorded in the atlasPerson,
Lisa Julia Nebelfirst recorded in the atlasPerson,
Lochner Louwfirst recorded in the atlasPerson,
Lochner Louwfirst recorded in the atlasPerson,
lorenzobigsfirst recorded in the atlasPerson,
Lothar Benderfirst recorded in the atlasPerson,
Louise Findlayfirst recorded in the atlasPerson,
Luca Wunderlichfirst recorded in the atlasPerson,
lucaatsapfirst recorded in the atlasPerson,
Ludwig Stockbauer-Muhrfirst recorded in the atlasPerson,
Lukas Böhmfirst recorded in the atlasPerson,
Lukas Fitzfirst recorded in the atlasPerson,
Lukas Schwabefirst recorded in the atlasPerson,
Lukas Theis (MuwuM)first recorded in the atlasPerson,
M Sahufirst recorded in the atlasPerson,
madankumarpichamuthufirst recorded in the atlasPerson,
Madhusudhanan Perumalswamyfirst recorded in the atlasPerson,
Mahati Shankarfirst recorded in the atlasPerson,
Malemfirst recorded in the atlasPerson,
ManevaVfirst recorded in the atlasPerson,
Manuel Finkfirst recorded in the atlasPerson,
ManuelPastorinifirst recorded in the atlasPerson,
mar-holfirst recorded in the atlasPerson,
Mara Nikola Kieferfirst recorded in the atlasPerson,
Marc Beckerfirst recorded in the atlasPerson,
Marc Bernardfirst recorded in the atlasPerson,
Marcel Schorkfirst recorded in the atlasPerson,
Marcel Schwarzfirst recorded in the atlasPerson,
MarcelWaechterfirst recorded in the atlasPerson,
Marco Viethfirst recorded in the atlasPerson,
Marian Zeisfirst recorded in the atlasPerson,
mariayordfirst recorded in the atlasPerson,
Marika Marszalkowskifirst recorded in the atlasPerson,
Mario Kernichfirst recorded in the atlasPerson,
Marius Freitagfirst recorded in the atlasPerson,
MariusPerleSAPfirst recorded in the atlasPerson,
Markus Fathfirst recorded in the atlasPerson,
Markus Haugfirst recorded in the atlasPerson,
Markus Ofterdingerfirst recorded in the atlasPerson,
Markus Reetz-Lamourfirst recorded in the atlasPerson,
Markus Riedingerfirst recorded in the atlasPerson,
Marten Schiwekfirst recorded in the atlasPerson,
Martin Januskafirst recorded in the atlasPerson,
Martin Lakovfirst recorded in the atlasPerson,
Martín Rodríguezfirst recorded in the atlasPerson,
Martin Stenzigfirst recorded in the atlasPerson,
martindecortefirst recorded in the atlasPerson,
Maruf Rasullyfirst recorded in the atlasPerson,
Marvin Lfirst recorded in the atlasPerson,
Marvin Weitzfirst recorded in the atlasPerson,
Matthiasfirst recorded in the atlasPerson,
Matthias Kieferfirst recorded in the atlasPerson,
Matthias Kuhrfirst recorded in the atlasPerson,
Matthias Oßwaldfirst recorded in the atlasPerson,
Matthias Schurfirst recorded in the atlasPerson,
Mattias Johanssonfirst recorded in the atlasPerson,
Mauricio Laufferfirst recorded in the atlasPerson,
Maxfirst recorded in the atlasPerson,
Max Gruenfelderfirst recorded in the atlasPerson,
Max Meinelfirst recorded in the atlasPerson,
Max Reichmannfirst recorded in the atlasPerson,
Max Streifenederfirst recorded in the atlasPerson,
maxi1555first recorded in the atlasPerson,
Maximilian Eckertfirst recorded in the atlasPerson,
Maximilian Moehlfirst recorded in the atlasPerson,
Maximilian Weilerfirst recorded in the atlasPerson,
Mayank Guptafirst recorded in the atlasPerson,
Md. Ashraful Alamfirst recorded in the atlasPerson,
Medelkouch98first recorded in the atlasPerson,
meltem7first recorded in the atlasPerson,
Merbin J Anselmfirst recorded in the atlasPerson,
Merlin Beutlbergerfirst recorded in the atlasPerson,
Metzing Mártonfirst recorded in the atlasPerson,
mfigueirfirst recorded in the atlasPerson,
Mhidayah19first recorded in the atlasPerson,
Mi8Y Technologiesfirst recorded in the atlasPerson,
Michał Majerfirst recorded in the atlasPerson,
Mikhail Goncharovfirst recorded in the atlasPerson,
Mio Yasutakefirst recorded in the atlasPerson,
Mirko Güntherfirst recorded in the atlasPerson,
Mirko Güntherfirst recorded in the atlasPerson,
Miroslav Tsvetanovfirst recorded in the atlasPerson,
mmilko01first recorded in the atlasPerson,
Modood Alvifirst recorded in the atlasPerson,
motarobertafirst recorded in the atlasPerson,
mrbandlerfirst recorded in the atlasPerson,
mushegh-sapfirst recorded in the atlasPerson,
muskansethi1first recorded in the atlasPerson,
Mustafa Mengütayfirst recorded in the atlasPerson,
mzimnnfirst recorded in the atlasPerson,
Nfirst recorded in the atlasPerson,
N2oB6n-SAPfirst recorded in the atlasPerson,
Nafees Ahmedfirst recorded in the atlasPerson,
nafis0077first recorded in the atlasPerson,
NAGARJUN DASfirst recorded in the atlasPerson,
Nangiale Shirfirst recorded in the atlasPerson,
Narendran N Vfirst recorded in the atlasPerson,
Navin Krishnanfirst recorded in the atlasPerson,
Nazife Alidzhikfirst recorded in the atlasPerson,
neoimpulse GmbHfirst recorded in the atlasPerson,
Nick Josipovicfirst recorded in the atlasPerson,
Nico Schoenteichfirst recorded in the atlasPerson,
Nicolas Lunetfirst recorded in the atlasPerson,
niemdafirst recorded in the atlasPerson,
Nigel Jamesfirst recorded in the atlasPerson,
Nikita B.first recorded in the atlasPerson,
Niklasfirst recorded in the atlasPerson,
Niko Lockenvitzfirst recorded in the atlasPerson,
Nikolay Grechanovfirst recorded in the atlasPerson,
Nils Hirsekornfirst recorded in the atlasPerson,
Nils Schnabelfirst recorded in the atlasPerson,
nocinfirst recorded in the atlasPerson,
oblomov-devfirst recorded in the atlasPerson,
ODATANOfirst recorded in the atlasPerson,
Ognyan Kulevfirst recorded in the atlasPerson,
Olaf Schmidtfirst recorded in the atlasPerson,
Ole Lilienthalfirst recorded in the atlasPerson,
Olegs Bugrovsfirst recorded in the atlasPerson,
Olenafirst recorded in the atlasPerson,
Olena Vyshnevskafirst recorded in the atlasPerson,
Oliver Klemenzfirst recorded in the atlasPerson,
Olivers Berzsfirst recorded in the atlasPerson,
Oliwerfirst recorded in the atlasPerson,
Ondřej Šebelafirst recorded in the atlasPerson,
OpenUI5 Botfirst recorded in the atlasPerson,
Paneesh Prabhurajfirst recorded in the atlasPerson,
Pascal Wasemfirst recorded in the atlasPerson,
patimwebfirst recorded in the atlasPerson,
patimwepneofirst recorded in the atlasPerson,
Patrice Benderfirst recorded in the atlasPerson,
Patrick frisonfirst recorded in the atlasPerson,
Paulfirst recorded in the atlasPerson,
Paulchenfirst recorded in the atlasPerson,
Pavanfirst recorded in the atlasPerson,
Pavel Kornevfirst recorded in the atlasPerson,
PavelNikitsiukfirst recorded in the atlasPerson,
Petar Dimovfirst recorded in the atlasPerson,
Peter Muessigfirst recorded in the atlasPerson,
Petr Plenkovfirst recorded in the atlasPerson,
PetrStribrnyfirst recorded in the atlasPerson,
Pierre Fritschfirst recorded in the atlasPerson,
Pieter Janssensfirst recorded in the atlasPerson,
PrathikshaKSfirst recorded in the atlasPerson,
Preetam Kajal Routfirst recorded in the atlasPerson,
Priyanka R Sfirst recorded in the atlasPerson,
PujaDeshmukh17first recorded in the atlasPerson,
pwasemsapfirst recorded in the atlasPerson,
QuadriO Beratungsgesellschaft mbHfirst recorded in the atlasPerson,
QuentinCHAMPAULTfirst recorded in the atlasPerson,
Rafael Augusto Leite Yegrosfirst recorded in the atlasPerson,
Rafael Yegrosfirst recorded in the atlasPerson,
rafaelhofffirst recorded in the atlasPerson,
raghavskfirst recorded in the atlasPerson,
Rahulfirst recorded in the atlasPerson,
rajbhuva1first recorded in the atlasPerson,
Rajdeep Bhuvafirst recorded in the atlasPerson,
Ralf Handlfirst recorded in the atlasPerson,
Ram Prasad GSfirst recorded in the atlasPerson,
rashmiangadi05first recorded in the atlasPerson,
rbrechterfirst recorded in the atlasPerson,
rd-sapfirst recorded in the atlasPerson,
René Jeglinskyfirst recorded in the atlasPerson,
resitamasfirst recorded in the atlasPerson,
Richard Lindnerfirst recorded in the atlasPerson,
Rishi Kunnathfirst recorded in the atlasPerson,
Robert Jakobsfirst recorded in the atlasPerson,
Robert Kaniafirst recorded in the atlasPerson,
Robert Wittfirst recorded in the atlasPerson,
Robinfirst recorded in the atlasPerson,
Robinfirst recorded in the atlasPerson,
Robin Kuckfirst recorded in the atlasPerson,
Rohtash Pooniafirst recorded in the atlasPerson,
Romans Koldunsfirst recorded in the atlasPerson,
RoshniNaveenaSfirst recorded in the atlasPerson,
rygiolfirst recorded in the atlasPerson,
SAHIL SACHDEVAfirst recorded in the atlasPerson,
SalvatoreLafirst recorded in the atlasPerson,
Samuel Bruckschfirst recorded in the atlasPerson,
Samyuktha Prabhufirst recorded in the atlasPerson,
sanat-thukralfirst recorded in the atlasPerson,
Sanoberfirst recorded in the atlasPerson,
SAPfirst recorded in the atlasPerson,
SAP Architecture Centerfirst recorded in the atlasPerson,
SAP Cloud Application Programming Modelfirst recorded in the atlasPerson,
SAP Cloud SDK Botfirst recorded in the atlasPerson,
SAP Mentors & Friendsfirst recorded in the atlasPerson,
SAP Open Source Admin Botfirst recorded in the atlasPerson,
SAPzer0first recorded in the atlasPerson,
Saurabh Kumarfirst recorded in the atlasPerson,
saurbhsinghfirst recorded in the atlasPerson,
sbabevfirst recorded in the atlasPerson,
Sebastian Blessingfirst recorded in the atlasPerson,
Sebastian Eschfirst recorded in the atlasPerson,
Sebastian Mahrfirst recorded in the atlasPerson,
Sebastian Schmidtfirst recorded in the atlasPerson,
Sebastian Wennemersfirst recorded in the atlasPerson,
Sebastian Wolffirst recorded in the atlasPerson,
Sebastiano Marchesinifirst recorded in the atlasPerson,
Sébastien Savallefirst recorded in the atlasPerson,
Sergei Hallerfirst recorded in the atlasPerson,
shahidlafirst recorded in the atlasPerson,
ShahMeet1first recorded in the atlasPerson,
Shankari G Rfirst recorded in the atlasPerson,
Sharmavkshfirst recorded in the atlasPerson,
Shen Linfirst recorded in the atlasPerson,
shibeshduwfirst recorded in the atlasPerson,
Shreyas Sfirst recorded in the atlasPerson,
Shubho Banerjeefirst recorded in the atlasPerson,
shubho5first recorded in the atlasPerson,
Siarhei Murkoufirst recorded in the atlasPerson,
sidakphullfirst recorded in the atlasPerson,
Simeon Petkovfirst recorded in the atlasPerson,
simeongelovskifirst recorded in the atlasPerson,
Simonfirst recorded in the atlasPerson,
Simon Coenfirst recorded in the atlasPerson,
Simon Engelfirst recorded in the atlasPerson,
Simon Heimlerfirst recorded in the atlasPerson,
Simon Koblerfirst recorded in the atlasPerson,
Simon Vestergaard Laursenfirst recorded in the atlasPerson,
simonoswaldfirst recorded in the atlasPerson,
singhal-bhavyafirst recorded in the atlasPerson,
Siyana Todorovafirst recorded in the atlasPerson,
sjvansfirst recorded in the atlasPerson,
SkylarkAfirst recorded in the atlasPerson,
somagsfirst recorded in the atlasPerson,
Sophie-Marie Lückfirst recorded in the atlasPerson,
Sören Leibachfirst recorded in the atlasPerson,
SoujitD-SAPfirst recorded in the atlasPerson,
SRKPendyalafirst recorded in the atlasPerson,
stbabevfirst recorded in the atlasPerson,
Stefan Engelhardtfirst recorded in the atlasPerson,
Stefan Henkefirst recorded in the atlasPerson,
Stefan Rudifirst recorded in the atlasPerson,
Stefan Schreckfirst recorded in the atlasPerson,
Stefania Santimbreanfirst recorded in the atlasPerson,
Steffen Waldmannfirst recorded in the atlasPerson,
Steffen Weinstockfirst recorded in the atlasPerson,
Stephen Cherianfirst recorded in the atlasPerson,
Steven De Saeger ( Sedacrivity )first recorded in the atlasPerson,
StoilAtSAPfirst recorded in the atlasPerson,
Sushant Priyadarshifirst recorded in the atlasPerson,
swendlandtfirst recorded in the atlasPerson,
TaldykinVyacheslavfirst recorded in the atlasPerson,
TanyaMedvedevafirst recorded in the atlasPerson,
Terry-Huang-00first recorded in the atlasPerson,
testojsfirst recorded in the atlasPerson,
Theo Sunfirst recorded in the atlasPerson,
Thomas Bonkfirst recorded in the atlasPerson,
Thomas Frischholzfirst recorded in the atlasPerson,
Thomas Hammerfirst recorded in the atlasPerson,
Thomas Jungfirst recorded in the atlasPerson,
Thomas Swolfsfirst recorded in the atlasPerson,
Thomas-Neuhauserfirst recorded in the atlasPerson,
Thorbenfirst recorded in the atlasPerson,
Thorsten Hochreuterfirst recorded in the atlasPerson,
Thorsten Sandfuchsfirst recorded in the atlasPerson,
Tiago Martinsfirst recorded in the atlasPerson,
Tian Tengfirst recorded in the atlasPerson,
TiKeiNeofirst recorded in the atlasPerson,
Til Weberfirst recorded in the atlasPerson,
Tim Schulze-Hartungfirst recorded in the atlasPerson,
Timon Gäbeleinfirst recorded in the atlasPerson,
Timothy Gibbonsfirst recorded in the atlasPerson,
Tobias Queckfirst recorded in the atlasPerson,
Tomfirst recorded in the atlasPerson,
Tom Frenkenfirst recorded in the atlasPerson,
Tomas Rimkusfirst recorded in the atlasPerson,
Tommyfirst recorded in the atlasPerson,
Tongwei Zhangfirst recorded in the atlasPerson,
Tony Quachfirst recorded in the atlasPerson,
Tuan Dinhfirst recorded in the atlasPerson,
Tux240first recorded in the atlasPerson,
UBSusmithafirst recorded in the atlasPerson,
UI5first recorded in the atlasPerson,
UI5 Communityfirst recorded in the atlasPerson,
Ullas Hollafirst recorded in the atlasPerson,
UserAbcd1234first recorded in the atlasPerson,
Uwe Klingerfirst recorded in the atlasPerson,
Uwe Schwerkfirst recorded in the atlasPerson,
vadson71first recorded in the atlasPerson,
vibhutikumarfirst recorded in the atlasPerson,
Vilim Mikicfirst recorded in the atlasPerson,
vinayhospetefirst recorded in the atlasPerson,
Vincent Escalierfirst recorded in the atlasPerson,
vincentatsapfirst recorded in the atlasPerson,
Vinícius Barrionuevofirst recorded in the atlasPerson,
Vinicius Cesar Diasfirst recorded in the atlasPerson,
viniciuslorafirst recorded in the atlasPerson,
Vitalii Komarfirst recorded in the atlasPerson,
Vitaly Kozyurafirst recorded in the atlasPerson,
Vivek Gowdafirst recorded in the atlasPerson,
VivienLeonhardtfirst recorded in the atlasPerson,
Vladimirfirst recorded in the atlasPerson,
Vladimirs Semikinsfirst recorded in the atlasPerson,
Vladislav Leonkevfirst recorded in the atlasPerson,
Vladislavs-Silins-SAPfirst recorded in the atlasPerson,
vlovinifirst recorded in the atlasPerson,
Volker Buzekfirst recorded in the atlasPerson,
Vrishin Patelfirst recorded in the atlasPerson,
Wenjun Zhengfirst recorded in the atlasPerson,
Willem Pardaensfirst recorded in the atlasPerson,
Wouter Lemairefirst recorded in the atlasPerson,
Yannick Winterfirst recorded in the atlasPerson,
Yannis Moserfirst recorded in the atlasPerson,
Yarloy037first recorded in the atlasPerson,
yashmeet29first recorded in the atlasPerson,
YatishNagarajafirst recorded in the atlasPerson,
Yavor Ivanovfirst recorded in the atlasPerson,
Yevgen Trukhinfirst recorded in the atlasPerson,
YuanZhuang107first recorded in the atlasPerson,
Yusmen Rashidovfirst recorded in the atlasPerson,
z-mvgfirst recorded in the atlasPerson,
zakfirst recorded in the atlasPerson,
Zdravko Georgievfirst recorded in the atlasPerson,
Zhongpin Wangfirst recorded in the atlasPerson,
Ziyang Lifirst recorded in the atlasPerson,
Zongqi Chenfirst recorded in the atlasPerson,
zzsshalikfirst recorded in the atlasPerson,
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.Capability,
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.Capability,
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.Capability,
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.CDS plugin,
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.CDS plugin,
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.Capability,
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.Capability,
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.Capability,
SAP Connectivity servicerequires revisedThe Cloud Connector entered in intake-20260915-cloud-connector; the service's description already named it in plain words.Service,
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.Blog,
Mon 14
99 changes
@sap/joule-studio-cliadded to the atlasCLI for Joule digital assistants and Joule Studio solutionsCLI,
@sap/joule-work-dev-cli-early-adoptersadded to the atlasPro-code CLI for building and deploying Joule Studio solutionsCLI,
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 tooling 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 servers 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.Reference architecture,
approuteradded to the atlasShowcase for dev-approuter in front of two UI5 appsSample,
Show 95 more
bookshop-javaadded to the atlasJava implementation of the capire/bookshop getting-started sampleSample,
bookstore-javaadded to the atlasJava implementation of the capire/bookstore composite appSample,
btp-user-management-microserviceadded to the atlasCAP microservice on XSUAA managing users and authorizationsSample,
cap-microservices-workshopadded to the atlasreCAP 2025 workshop on cutting a CAP app into microservicesSample,
cap-nodejs-dev-envadded to the atlasDevelopment container definition for CAP Node.jsSample,
cds-bookshopadded to the atlasCAP bookshop showing UI5 development with cds-plugin-ui5Sample,
commonadded to the atlasSample CAP plugin extending @sap/cds/common with reuse dataSample,
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 Core produces content meeting a stated safety standard, which is the ground content filtering covers on the BTP door.Doc,
Content-based Agents with SAP Joule Studio Agent BuilderpublishedJoule Studio, classic edition, 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 Services, and can be tried against a test conversation before deployment. That is the tool-and-turn-taking ground agent tooling covers, here built through Joule Studio rather than in application code.Doc,
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 Studio 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.Doc,
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 Core 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 masking takes on the BTP door.Doc,
Document GroundingpublishedDocument Grounding is a managed retrieval-augmented-generation service under the Generative AI Hub on BTP, which SAP's page on SAP AI Core 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.Doc,
Joule Studio, classic editionadded to the atlasLow-code SAP Build capability for custom Joule skills and agentsService,
ordersadded to the atlasSample CAP reuse service for orders, with a Fiori UISample,
orders-javaadded to the atlasSample CAP Java reuse service for orders, with a Fiori UISample,
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 Core 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 management as a stored and managed object rather than a string embedded in the caller.Doc,
reviewsadded to the atlasSample CAP reuse service for reviews, with a Fiori UISample,
reviews-javaadded to the atlasSample CAP Java reuse service for reviews, with a Vue UISample,
Sample CAP Application with SAP Cloud SDK for AIadded to the atlasCAP samples calling SAP AI Core through the SAP Cloud SDK for AISample,
SAP AI Coreadded to the atlasAI runtime on BTP with the Generative AI HubService,
SAP BTP AI Best Practice Demo - Content Filtering - CAPadded to the atlasCAP samples comparing SAP AI Core responses with content filteringSample,
SAP BTP AI Best Practice Demo - Data Masking - CAPadded to the atlasCAP samples generating email through SAP AI Core with anonymizationSample,
SAP BTP AI Best Practice Demo - Prompt Registry - CAPadded to the atlasCAP samples using SAP AI Core's Prompt Registry for templatesSample,
SAP BTP AI Best Practice Demo - Prompt Templating - CAPadded to the atlasCAP samples filling a prompt template sent to SAP AI CoreSample,
SAP BTP AI Best Practice Demo - Vector Embedding (RAG) - CAPadded to the atlasCAP samples embedding CSV rows into the SAP HANA Cloud vector storeSample,
SAP BTP AI Best Practice Demo - Vector Query (RAG) - CAPadded to the atlasCAP samples running RAG similarity queries over SAP HANA Cloud vectorsSample,
shared-dbadded to the atlasCAP sample sharing one domain model and database across appsSample,
shared-db-javaadded to the atlasCAP Java sample sharing one domain model across several appsSample,
tailspendmanagementadded to the atlasCAP reference application for tail spend managementSample,
teched2025-XP260added to the atlasTechEd 2025 workshop on OWASP Top 10 risks in CAP applicationsSample,
ui5-bookshop-vieweradded to the atlasUI5 app consuming the cds-bookshop server via ui5-middleware-capSample,
xflightsadded to the atlasCAP reuse package serving Airlines, Airports and Flights dataSample,
xflights-javaadded to the atlasCAP Java reuse package for Airlines, Airports and Flights dataSample,
xsa-cap-migrationadded to the atlasGuide migrating the hana-shine-xsa demo from XS Advanced to CAPSample,
xsa-cap-migration-using-basextnadded to the atlasGuide to migrating XS Advanced database artefacts to CAPSample,
xsc-cap-migrationadded to the atlasGuide to migrating XS Classic database artefacts to CAPSample,
xtravelsadded to the atlasCAP travel-booking app built on xflights master dataSample,
xtravels-javaadded to the atlasCAP Java travel-booking app built on xflights-java master dataSample,
@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.Package,
@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.Package,
Agent access to your codecoverage by flavor, framing by flavor revisedThe UI5-door providers of this capability — @ui5/mcp-server and fiori-mcp — state freestyle and fiori-elements, never web-components. SAP's @ui5/webcomponents-mcp-server does carry the web-components flavor but provides documentation, 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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.CDS plugin,
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.Sample,
Change promotioncoverage by flavor revisedABAP Cloud's transport story is SAP's own: gCTS through the Manage Software Components app in the BTP ABAP environment, and Export/Import Software Collection in S/4HANA Cloud Public Edition. The one provider found on the ABAP door for this capability, abapToC's ZTOC transaction, is a classic transport-of-copies tool built as an SAP GUI transaction and states no flavor, so no community option is present in ABAP Cloud.Capability,
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.Capability,
Configurationecosystems revisedWidened to ABAP: greltel/abap-dynamic-assignment, raketenstart-abap/abap-tvarvc, jrgkraus/abap-gencust, abapinho/abaK and bizhuka/aqo keep parameters and constants out of ABAP code, as wrappers around TVARVC or replacements for it.Capability,
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.)Capability,
Data privacyecosystems revisedWidened to ABAP: vlutsas/DST anonymises PII and PHI irreversibly in non-production SAP systems, from a template the user maintains.Capability,
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.Capability,
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.Capability,
Deploymentdescription, ecosystems revisedSAP-samples' cf-mta-examples, cf-routing-samples, cf-autoscaler-custom-metrics-mtls and btp-kyma-helloworld, with the TechEd 2025 XP264 and XP265 workshops, deploy and operate applications on Cloud Foundry and Kyma, and their subject is the runtime and not the CAP build.Capability,
Document extractionecosystems, coverage by ecosystem, coverage by flavor revisedGrep of data/artifacts for capability:document-extraction finds only SAP Document AI, 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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Feature togglesecosystems revisedWidened to ABAP: btc-ag/Featuretoggle and raketenstart-abap/abap-feature-toggle turn features in ABAP code on and off at runtime, each with a screen to switch them.Capability,
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.Capability,
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.Reference architecture,
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.Capability,
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.Capability,
Job schedulingecosystems revisedSAP-samples/abap-platform-application-jobs schedules a class as an application job from an action on a RAP business object and shows the job's status and log in the app. It answers the concern on the ABAP door.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Loggingecosystems revisedNine repositories log from ABAP: six wrap the application log or its ABAP Cloud API, one logs function module calls to its own table, and two send entries to Fluentd, Graylog or Loki.Capability,
Malware scanningcoverage by ecosystem revisedOnly SAP Malware Scanning service 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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Service,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Telemetryecosystems revisedabap-metrics-provider, abap-opentelemetry and abap-prometheus export metrics and OpenTelemetry data from an ABAP system; SAP-samples/teched2025-CS261 monitors an instrumented BTP application through SAP Cloud ALM and SAP Cloud Logging.Capability,
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.Capability,
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.Capability,
Sun 13
48 changes
dev-approuteradded to the atlasDev-time wrapper for the SAP Application RouterBuild tool,
Effective from June 30th 2026 - XSUAA Deprecation of GET Method for OAuth Token RetrievalpublishedEffective June 30th 2026, the SAP Authorization and Trust Management service (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.Blog,
liteinventorymanagementadded to the atlasCAP reference app for lightweight local inventory managementSample,
SAP Integration Suite, advanced event meshadded to the atlasEvent streaming and management platform in Integration SuiteService,
Show 44 more
SAP-samples/btp-cap-dox-invoice-validationadded to the atlasCAP app validating invoices with Document Information ExtractionSample,
SAP-samples/btp-cap-genai-ragadded to the atlasCAP reference app for GenAI email support with RAG on HANA CloudSample,
SAP-samples/btp-cap-genai-semantic-searchadded to the atlasCAP sample for semantic search with Generative AI Hub and HANA CloudSample,
SAP-samples/btp-developer-guide-capadded to the atlasIncident Management CAP app for the SAP BTP Developer's GuideSample,
SAP-samples/btp-event-driven-multi-tenant-architectureadded to the atlasCAP sample of SAP Event Mesh events feeding a multi-tenant SaaS appSample,
SAP-samples/btp-joule-a2a-pro-code-agentadded to the atlasA2A reference letting Joule delegate to a CAP pro-code agentSample,
SAP-samples/btp-secure-developmentadded to the atlasOWASP Top 10 workshop exploiting and fixing flaws in a CAP Node.js appSample,
SAP-samples/cap-bookshop-wdi5added to the atlasCAP bookshop with wdi5 system tests for a CI/CD tutorialSample,
SAP-samples/cap-cds-hands-onadded to the atlasFive-part workshop on CDS, from a first service to constraintsSample,
SAP-samples/cap-hana-exercises-codejamadded to the atlasCodeJam building a full-stack CAP app on SAP HANA CloudSample,
SAP-samples/cap-local-development-workshopadded to the atlasreCAP 2025 workshop on CAP's local-development toolsetSample,
SAP-samples/cap-service-integration-codejamadded to the atlasCodeJam on consuming external services from a CAP projectSample,
SAP-samples/cap-sflightadded to the atlasTravel-booking reference app on CAP Node.js and Java backendsSample,
SAP-samples/cap-tour-hands-onadded to the atlasEight-exercise tour of CAP features, from mocking to pluginsSample,
SAP-samples/cloud-cap-hana-swapiadded to the atlasCAP data model of many-to-many relationships on a Star Wars datasetSample,
SAP-samples/cloud-cap-samples-javaadded to the atlasBookshop app demonstrating the CAP Java SDK end to endSample,
SAP-samples/cloud-foundry-runtime-learning-journeyadded to the atlasCompanion repo deploying a CAP app to Cloud Foundry two waysSample,
SAP-samples/codejam-cap-llmadded to the atlasCodeJam on a CAP job posting service using SAP AI Core over ODataSample,
SAP-samples/e-mobility-driver-appadded to the atlasCAP-based PWA for EV drivers proxying SAP E-Mobility OData APIsSample,
SAP-samples/event-hub-cap-samplesadded to the atlasCAP consumer of SAP Cloud Application Event Hub eventsSample,
SAP-samples/fiori-elements-feature-showcaseadded to the atlasShowcase of Fiori elements for OData V4 features on a CAP backendSample,
SAP-samples/fiori-elements-fpm-exercises-codejamadded to the atlasCodeJam building a bookshop app on the flexible programming modelSample,
SAP-samples/fiori-elements-v4-cap-advancedadded to the atlasExercise solutions for the UX405 course on Fiori elements with CAPSample,
SAP-samples/hana-developer-cli-tool-exampleadded to the atlasDeveloper-centric command line for SAP HANACLI,
SAP-samples/odata-dd-serveradded to the atlasCAP Node.js server behind the OData Deep Dive tutorialsSample,
SAP-samples/partner-reference-applicationadded to the atlasPoetry Slam Manager, a multi-tenant SaaS reference app on SAP BTPSample,
SAP-samples/partner-reference-application-extensionadded to the atlasCustomer-specific catering extension to the Poetry Slam ManagerSample,
SAP-samples/recap2026-cap-level-data-federationadded to the atlasreCAP 2026 workshop on data federation between CAP applicationsSample,
SAP-samples/ui5-cap-event-appadded to the atlasEvent registration app showing OData V4 draft with UI5 and CAPSample,
slp-supplier-validationadded to the atlasCAP reference app validating Ariba supplier registration dataSample,
ui5-cap-todoadded to the atlasTodo app with CAP and SAPUI5 in TypeScript over OData V4Sample,
SAP Samplesadded to the atlasPerson,
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.Capability,
Configurationname revisedThe map draws every capability as one tile, and a name that spells out its second half ran to three lines at a size nobody could read. The id already carried the short name; the name now matches it. The concern is unchanged: the description and the coverage say what it spans.Capability,
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.Capability,
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.Capability,
Deploymentname revisedThe map draws every capability as one tile, and a name that spells out its second half ran to three lines at a size nobody could read. The id already carried the short name; the name now matches it. The concern is unchanged: the description and the coverage say what it spans.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Sat 12
3 changes
MCP Servers are the New Z-TablespublishedA single CAP service exposed as three overlapping MCP servers 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, 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 governance practices it has adopted: an owner recorded in the tool's own metadata, logging every invocation, deprecating inside the description, and exposing fewer tools.Blog,
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.Capability,
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.Capability,
Fri 11
12 changes
@sap/hdi-deployadded to the atlasNode.js deployer for SAP HANA Deployment Infrastructure containersPackage,
#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.Blog,
#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.Blog,
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-handlers and ui5-cap-serverside-rendering-plugin as worked examples.Blog,
Show 8 more
How we could potentially have nestjs as runtime for SAP CAPpublishedA proof-of-concept that swaps @sap/cds'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.Blog,
Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdlespublishedThree hurdles in running a 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 connectivity 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 debugging cds watch locally and attaching to a running Cloud Foundry instance.Blog,
@jerome-benoit/sap-ai-providerreleased 5.0.0Vercel AI SDK provider for SAP AI CorePackage,
@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.CDS plugin,
@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.Package,
@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".CDS plugin,
Job schedulingcoverage by ecosystem revisedThe core schedules tasks on its event queues: alpha in Node.js from the May 2025 release, cron and singleton tasks in @sap/cds 9.9.0, and CAP Java in 5.0.0. The 2026-09-09 assessment missed it.Capability,
mcp-sap-docsdescription revisedCorrected against the README: its offline-sources table lists seventeen repositories, abap-docs-standard through wdi5.MCP server,
Thu 10
25 changes
@sap/cds-hanaadded to the atlasDatabase adapter for SAP HANA in CAPCDS plugin,
Open Sourcing CAP – how to learn more or get involvedpublishedA roundup of CAP's open-sourcing, begun at TechEd the year before, pointing to a webinar recording, a podcast episode and reCAP 2023 talks for background. Among the components it names are a feature toggle library giving Node.js CAP apps live-updatable toggles backed by Redis, a new pluggable database layer with SQLite and PostgreSQL implementations plus a generic SQL layer, and a change tracking component that builds a change history for data from CDS models.Blog,
SAP API Policy Evidence Skilladded to the atlasSkill assessing API usage against the SAP API PolicySkill,
SAP HANA Cloudadded to the atlasManaged SAP HANA database service on BTPService,
Show 21 more
SAP Power for Kiroadded to the atlasSAP skills for the Kiro IDESkill,
secondsky/sap-skillsadded to the atlasForty SAP development plugins for coding agentsSkill,
@cap-js/audit-loggingreleased 1.3.0Setup notes that add the plugin to a CAP 8 project.CDS plugin,
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.Capability,
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.Capability,
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.Capability,
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.Service,
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.Capability,
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.Capability,
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.Capability,
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.Package,
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.Service,
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.Skill,
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.Service,
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.Service,
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.Service,
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.Service,
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.Skill,
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.Skill,
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.Capability,
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.Capability,
Wed 9
47 changes
@ui5/mcp-serveradded to the atlasMCP server for UI5 development with ten toolsMCP server,
Cloud Identity Servicesadded to the atlasIdentity Authentication and Identity Provisioning as one tenantService,
Event Meshadded to the atlasManaged queues and topics over AMQP, MQTT and RESTService,
mcp-sap-docsadded to the atlasMCP server searching seventeen SAP documentation repositoriesMCP server,
Show 43 more
Object Store on SAP BTPadded to the atlasBinding onto hyperscaler object storage, chosen by planService,
PostgreSQL on SAP BTP, hyperscaler optionadded to the atlasManaged PostgreSQL from the hyperscaler via a BTP service bindingService,
Redis on SAP BTP, hyperscaler optionadded to the atlasManaged Redis from the hyperscaler via a BTP service bindingService,
SAP Application Frontend serviceadded to the atlasManaged hosting and routing for built frontendsService,
SAP Application Logging service for SAP BTPadded to the atlasCollects Cloud Foundry or Kyma logs into a searchable KibanaService,
SAP Audit Log serviceadded to the atlasIngests and retains compliance audit data from BTPService,
SAP Authorization and Trust Management serviceadded to the atlasOAuth server issuing JWTs and holding scopes for BTP appsService,
SAP Connectivity serviceadded to the atlasProxy from cloud apps to on-premise systems via Cloud ConnectorService,
SAP Credential Storeadded to the atlasVault for an application's passwords, keys and keyringsService,
SAP Destination serviceadded to the atlasNamed, credentialed addresses of other systems resolved at runtimeService,
SAP Document AIadded to the atlasExtracts header fields and line items from business documentsService,
SAP Feature Flags serviceadded to the atlasBoolean and string flags read by applications at runtimeService,
SAP HTML5 Application Repository service for SAP BTPadded to the atlasStores UI5 and HTML5 apps and serves them through the approuterService,
SAP Job Scheduling serviceadded to the atlasCalls an application endpoint on a schedule and logs each runService,
SAP Malware Scanning serviceadded to the atlasScans uploaded files over REST with ClamAVService,
SAP Software-as-a-Service Provisioning serviceadded to the atlasRegisters a multitenant application for subaccount subscriptionsService,
SAP Task Centeradded to the atlasOne inbox for tasks across SAP applications and BTP workflowsService,
sap-cap-mongodbadded to the atlasCAP service reading and writing MongoDB from custom handlersSample,
SAP-samples/cap-agentic-engineeredadded to the atlasFinancial Risk Analyzer built by an agent grounded in SAP MCP serversSample,
@neoimpulse/cap-js-bootstraplinks revisedThe repository declared in package.json returns 404.CLI,
@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.CDS plugin,
@neoimpulse/cap-js-uppercaselinks revisedThe repository declared in package.json returns 404.CDS plugin,
@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.MCP server,
@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.MCP server,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.MCP server,
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.CDS plugin,
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.Capability,
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.Capability,
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.Capability,
Loggingecosystems revisedThe BTP services answering this were in the corpus while the capability was not on the BTP map, so browse counted them behind the door and had no group to render them in. The BTP door is a reading of its own — a fallback to CAP's would assert something false about a service you bind rather than install.Capability,
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.MCP server,
Multitenancyecosystems revisedThe BTP services answering this were in the corpus while the capability was not on the BTP map, so browse counted them behind the door and had no group to render them in. The BTP door is a reading of its own — a fallback to CAP's would assert something false about a service you bind rather than install.Capability,
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.Blog,
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.Capability,
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.Service,
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.Sample,
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.Capability,
Tue 8
385 changes
[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,
[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 Mesh over its REST API, so this one is explicitly a comparison: the same thing through CAP's messaging abstraction, with the three flavours — local, file-based and a real broker — named before the broker one is built.Blog,
@cap-js/cds-testadded to the atlasTest support for CAP Node.js: server start, HTTP client, assertionsPackage,
@capire/data-vieweradded to the atlasSample CAP plugin adding a generic data browserSample,
Show 381 more
@geertjanklaps/cds-toon-ai-protocol-adapteradded to the atlasProtocol adapter serving CAP data as TOON instead of JSONCDS plugin,
@neoimpulse/cap-js-bootstrapadded to the atlasCLI starting several CAP services and an AppRouter locally togetherCLI,
@neoimpulse/cap-js-mcpadded to the atlasMCP server inside a CAP application with model and query toolsCDS plugin,
@neoimpulse/cap-js-notificationsadded to the atlasCopy of @cap-js/notifications published under another scopeCDS plugin,
@neoimpulse/cap-js-restore-model-defined-typesadded to the atlasCAP plugin casting read values back to CDS model typesCDS plugin,
@neoimpulse/cap-js-trimadded to the atlasCAP plugin stripping whitespace from strings on write via @cds.trimCDS plugin,
@neoimpulse/cap-js-uppercaseadded to the atlasCAP plugin uppercasing strings on write via @cds.uppercaseCDS plugin,
@neoimpulse/cap-js-xml-protocoladded to the atlasCAP plugin letting the REST adapter accept XML payloadsCDS plugin,
@sap/amsadded to the atlasAuthorization from DCL policies for Node.js apps on SAP Cloud IdentityCDS plugin,
@sap/hana-clientadded to the atlasSAP's Node.js driver for SAP HANAPackage,
@sap/ux-cds-compiler-facadeadded to the atlasWrapper around the CDS compiler for annotation handlingPackage,
@sap/ux-cds-odata-language-server-extensionadded to the atlasOData annotation features for the @sap/vscode-cds extensionIDE extension,
#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.Blog,
#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.Blog,
⚡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.Blog,
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.Blog,
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.Blog,
A modern workflow for SAP Cloud Integration with CAP and Azure DevOpspublishedCAP used to build tooling rather than an application: the development workflow for Cloud Integration is limited to what the Integration Suite offers, so the author puts a CAP service and Azure DevOps around it. An unusual use of the framework, and the reason to read it.Blog,
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.Blog,
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.Blog,
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.Blog,
Adding Shell Plugin to SAP Fiori CAP Application and Deploying to Cloud Portal ServicepublishedA launchpad shell plugin built as a CAP application and deployed to the Cloud Portal service — extending the shell around your app rather than the app itself.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation AppspublishedA process that drafts its own text: ChatGPT writing job postings, SAP Build Process Automation carrying them through approval, and CAP in between. Presented as a generic pattern the author expects to be adapted rather than copied.Blog,
Avoiding Data Loss When Loading Initial Data with CSV Files in CAPpublishedcds 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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Workshop,
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.Workshop,
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.Blog,
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.Blog,
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.Blog,
Build, Configure, and Deploy SAP CAP Projects to the CloudpublishedA full CAP application with a Fiori UI taken from creation to the cloud in one post. Long, and it covers the configuration between the two that shorter guides skip.Blog,
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.Blog,
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.Blog,
Building a SaaS Multitenant Application Using SAP CAP Framework — Without a DatabasepublishedMultitenancy with the database taken out, which is a useful way to see what is left: the approuter and its tenant host pattern, the XSUAA instance in shared tenant mode, and the SaaS Registry binding that makes a subscription happen. Everything here is subscription lifecycle and routing, so the parts that are usually entangled with HDI container provisioning are visible on their own.Blog,
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-alp 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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
Calling bound / unbound CAP actions from Fiori elements application.publishedinvokeAction 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.Blog,
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.Blog,
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 Mesh post indexed here, and the only one about taking the naming back.Blog,
CAP Developers - Call to Action to mitigate and Apply Solution provided in SAP Note 3747787publishedFour malicious npm package versions published on 29 April 2026 that exfiltrate credentials and propagate into adjacent repositories, and what a CAP developer should check. A security advisory rather than a technique, and dated precisely for that reason.Blog,
CAP Heaven? Not Yet — But You Can See It from HerepublishedAn assessment from someone with Java, Azure and AWS behind them as well as ABAP and Fiori, which is a rarer vantage point than it sounds. The title is the verdict.Blog,
CAP multitenancy with Work ZonepublishedA gap in the tooling and the manual edit that closes it. cds add portal wires the Portal service, which is deprecated; Work Zone supports multitenancy but has no equivalent command. The author runs the portal command anyway and then rewrites the resource and module config in mta.yaml to point at Work Zone. Short, and honest that it is a workaround rather than a supported path.Blog,
CAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma RuntimepublishedThe post that superseded the author's own earlier one, written for cds and cds-dk 6 when Kyma deployment became something the tooling did rather than something you assembled. The current reference of the several Kyma posts here.Blog,
CAP PostgreSql setup local debugging using Docker - Part 2publishedPostgreSQL 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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
CAP with PostgreSQL DB alternate to HANA Cloud DB - Part 1publishedBootstrapping a CAP project on PostgreSQL, framed as a choice that depends on the client rather than on the technology. Short, and part two is where it gets debuggable.Blog,
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.Blog,
cap-user-infoadded to the atlasUser details and quickview links for createdBy and modifiedByCDS plugin,
CAP, RAP, or Both: Stop Hiding Behind 'It Depends'publishedOpens by refusing the answer every other post on this gives — "both are complementary, choose based on context" — and then commits to a framework, including the parts usually left out: the staffing bias behind the decision, and what to do about a landscape with thousands of Z-objects. Argument, not tutorial.Blog,
CAP: GraphQL as new protocolpublishedWritten days after @cap-js/graphql 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.Blog,
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.Blog,
capire/bookshopadded to the atlasCAP's getting-started bookshop sampleSample,
capire/bookstoreadded to the atlasComposite CAP app from separately deployed servicesSample,
capire/docsadded to the atlasSources of capire, the CAP documentationDoc source,
capire/incidents-appadded to the atlasIncident Management reference application for CAPSample,
capire/s4added to the atlasPrebuilt SAP S/4HANA integration package for CAP projectsPackage,
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.Blog,
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.Blog,
cds-numberrange-pluginadded to the atlasFills a CDS element from a database-backed number rangeCDS plugin,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Workshop,
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.Tutorial,
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.Blog,
Consuming SAP Build API's made easy with SAP Cloud SDK in your CAP applicationpublishedReaching into SBPA from CAP the other way round — reading its tasks and workflows rather than starting them. The author starts from the plain Axios version and says what it costs: the connection and the authentication are the work, not the call. Cloud SDK is used to generate a typed client from the OpenAPI document and then to resolve the connection through either a service binding or a destination, shown for client credentials and for user token exchange.Blog,
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.Blog,
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.Blog,
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.Workshop,
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.Blog,
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.Tutorial,
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.Blog,
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.Blog,
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 PostgreSQL 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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
Declarative Programming in CAP: Less Code, More ValuepublishedAn argument for annotations over handlers, made from the case where it is most obvious: repetitive validation logic that could be declared instead of written. Describes what you want rather than how to get it, and lets the runtime decide the how.Blog,
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.Blog,
Deploy a Full-Stack CAP Application in SAP BTPpublishedFive tutorials taking the Developer's Guide application from running locally to running on BTP — preparation, the deployment itself, role assignment, and integration with Build Work Zone. Published twice, once for Cloud Foundry and once for Kyma, with the same shape and different descriptors; indexed once, because the second is the first with the runtime swapped.Workshop,
Deploying a CAP Application to SAP Cloud Platform, Kyma runtime & connecting an iOS apppublishedKyma when it was new on the platform, taken from a CAP application through deployment to a native iOS client on the other end. Written by someone working the mobile side, so the parts about what a device needs from the service are more careful than usual.Blog,
Deploying 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.Blog,
Deploying first CAP Project in SAP Cloud : A Step-by-Step GuidepublishedThe terminal route rather than the template wizard, from cds init to a deployed application, with each command written out. For the case where the generated project is the thing you are trying to understand.Blog,
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.Workshop,
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.Blog,
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.Blog,
Developing CAP java/node.js mixed mono Multitenant SaaS Applications with Shared DatabasepublishedTwo CAP projects, one Java and one Node.js, in one npm workspace sharing a single tenant database. The interesting part is which sidecar wins: both sub-projects get an MTX sidecar, both have cds.xt.SaasProvisioningService switched off, and a third onboarding project keeps provisioning to itself. Configuration listings rather than prose, and it assumes you already know why you would want this.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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 Mesh 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.Blog,
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.Blog,
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 Mesh among the four broker services BTP offers, and then works through what changes when the publisher and the consumer are multitenant.Blog,
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.Tutorial,
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.Blog,
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. capval, 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.Blog,
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.Blog,
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.Blog,
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.Workshop,
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, 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.Blog,
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 — a sample managing text and file information together, and offered as something for people new to BTP rather than as a pattern.Blog,
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.Blog,
Extensions for SAP Build Process Automation - Actions from CAP Node.js ServicepublishedThe direction of travel reversed: the CAP service is the thing being called, exposed as an Action so that a no-code process can consume it. Short by design — it is an introduction to a developer tutorial, and it says outright that the goal is to cover every step rather than to model a real use case.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-6]publishedThe last part: the Fiori application built and deployed into the HTML5 Application Repository, separately from the service it talks to. Opens with a checklist of the five parts before it, which is the clearest statement of what the whole series covers.Blog,
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.Blog,
Get an introduction to the cds REPLpublishedcds repl as a way to ask the running model questions directly, which is the fastest route from a suspicion about a query to knowing.Tutorial,
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.Blog,
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.Tutorial,
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.Blog,
Getting your head into Cloud Application Programming model multitenancypublishedOpens by telling you it is out of date and pointing at the HANA Academy series instead, which is more honest than most posts manage. What survives the staleness is the discussion and context around multitenancy that the title promises — the reasoning, not the commands.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
Hello React & Vue : SAP CAP’s New UI Layer is Here!publishedCAP gaining a UI layer for React and Vue, which changes the default assumption that the front end is UI5. Short, and the significance is larger than the length.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
HTML5.Timeout for CAP destinations in mta.yaml longer than defaultpublishedA page and a half about one property that has to be raised when a CAP destination is slower than the default allows — and it now opens with its own correction, dated October 2025, that the property is called timeout rather than HTML5.Timeout, credited to a commenter. The correction is why it is worth keeping.Blog,
Implementation of Observability using OpenTelemetry in SAP BTPpublishedTracing across a landscape rather than inside one service — BTP applications, integrations, workflows and automations that also call non-SAP microservices the customer runs. That span is where correlation stops being a nice-to-have, and it is the half @cap-js/telemetry's automatic instrumentation does not reach on its own.Blog,
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.Blog,
Implementing Event-Driven Architecture in CAP Java using SAP Event MeshpublishedPublish and consume from the Java stack, which most of the Event Mesh 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.Blog,
Importing @sap/cds common.cds to your CAP project using the CDS Graphical ModelerpublishedPulling the common aspects and code lists from @sap/cds into a model through the modeller, so the reuse types appear in the diagram rather than only in the file.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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 Mesh, a CAP application consuming them and talking to KSeF. Short, and offered as an example to argue with.Blog,
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.Blog,
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.Blog,
Kyma Evolution: Transforming SAP Kyma into a tailor-made SaaS Platform for sbs extensionspublishedWritten by an extensibility expert building against Cloud ERP under clean core, and it treats Kyma as something to shape rather than to adopt — what has to be added to the runtime before it is a SaaS platform for CAP extensions. The Partner Reference Application post is the hands-on sequel.Blog,
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.Tutorial,
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.Blog,
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.Blog,
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".Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
Multitenant application using Cloud Application Programming Model (CAP)publishedA worked multitenant application on the Java SDK with the mtx sidecar beside it — the arrangement where provisioning lives in a separate Node process even when the application is Java. Includes the UI module, so the subscription is visible end to end.Blog,
Multitenant Business Applications with CAP | Hands-on Video TutorialspublishedA hands-on video series from the SAP HANA Academy on building multitenant applications with CAP, with the written post as its index. Referenced by other posts here as the more current alternative to their own text.Blog,
Multitenant SaaS applications on SAP BTP using CAP - The Reloaded Version!publishedAn announcement rather than a tutorial, and it is the one that changes how the rest of the series should be read: the Cloud Foundry and Kyma code lines and their documentation were merged into a single sample, so the runtime becomes a choice inside one repository instead of a fork in the reading path.Blog,
Multitenant SaaS applications on SAP BTP using CAP? SAP BTP, Kyma Runtime!publishedThe Kyma counterpart to the Cloud Foundry Tried-and-True series — the same SaaS application, the same requirements, a Kubernetes runtime underneath. The two code lines were later merged, which the Reloaded post announces.Blog,
Multitenant SaaS applications on SAP BTP using CAP? Tried-and-True!publishedThe opening post of the Cloud Foundry series, and the one that states the shape of the whole thing: a sample built out of a partner co-innovation project with BCG, then delivered in three graded versions — Basic, Advanced, Expert Features — against a fictional partner's requirements. Read it for the motivation and the map; the implementation is in the three that follow.Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Advanced VersionpublishedWhat the basic version leaves out and production needs: central user management, and reaching an on-premise S/4HANA from a subscribed tenant. Framed as a step towards production readiness rather than as production itself, which is the honest reading — the Expert Features post is where the rest of that distance is covered.Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Basic VersionpublishedThe version deliberately bounded by what a trial or pay-as-you-go account can hold — the authors point out a PAYG owner can run it for nothing on free-tier services. Scenario first, then the architecture diagram, then a component-by-component walk through what each service in it is for.Blog,
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Expert FeaturespublishedThe last of the four, and the one carrying the features that are optional until they are not. Each is written up as a self-contained tutorial in the sample repository rather than inline, so the post is a guide to which of them applies to your landscape.Blog,
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 mongodb driver, with @sap/cds-odata-v2-adapter-proxy in front so a UI5 application can consume it. Learnings rather than a supported path, and the only MongoDB entry here.Blog,
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.Blog,
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 PostgreSQL and Work Zone.Blog,
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.Blog,
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.Blog,
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 PostgreSQL on the hyperscaler option, and deployed. The service binding and the build are where it spends its time.Blog,
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.Blog,
Part 2: Runtime Architecture & Cost efficiency gainspublishedThe technical half of the Kyma Evolution series: why a cluster tuned for CAP multitenancy is not just somewhere to run containers, and where the cost efficiency actually comes from.Blog,
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.Blog,
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.Blog,
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.Blog,
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 Mesh 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.Blog,
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.Blog,
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.Blog,
Quickly Deploy a Sample CAP Application to BTPpublishedPrerequisites first and at length — account, dev environment, CLI tools, MBT — because that is where a first deployment actually fails. The deploy itself is short once they are true.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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 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.Blog,
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 7.0.0 brought native PostgreSQL support and that @cap-js/postgres 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.Blog,
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 PostgreSQL posts here, since that is where the PostgreSQL story diverges from HANA's and the deploy stops being automatic.Blog,
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.Blog,
SaaS Self-Onboarding and One-Domain Concept in SAP BTP, Kyma Runtime using CAPpublishedTwo requirements that only appear once a SaaS application has customers: subscribing a tenant end-to-end without the provider doing it by hand, and serving every tenant from one domain instead of one host per subscriber. Kyma runtime, and the post is a summary pointing at an Expert Feature tutorial in the sample repository — it says so itself, offering a one-minute read as the entry point.Blog,
SAP 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.Blog,
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.Blog,
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.Blog,
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.Blog,
SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js ServicepublishedThe follow-up that carries the identity through. It takes the CAP service from the Actions tutorial and puts the calling user's identity behind it — an XSUAA instance, a trust configuration, an OAuthSAMLBearerAssertion destination, and the service changed to use that instance — so a step runs on behalf of a person rather than as the process.Blog,
SAP 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.Blog,
SAP CAP (Java) with Amazon Aurora PostgreSQLpublishedPostgreSQL, 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.Blog,
SAP CAP (Java) with Azure Cosmos DB for PostgreSQLpublishedThe Azure half of the pair: Cosmos DB speaking PostgreSQL, used from CAP Java. Same shape as the Aurora post, and reading both is how you see what is actually portable between them.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
SAP Cloud Logging Serviceでコンテナメトリクスを監視するpublishedIn Japanese. Container metrics for a CAP Node.js application into SAP Cloud Logging Service, and the reason it exists is that the obvious route does not apply: Spring Boot Actuator covers the Java side, and Node has no equivalent, so the author reaches for Telegraf instead. The procedure is deliberately independent of application logic — bind the instance, add a startup script and a config file — so it works against an application you already have.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Tutorial,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
Streamlined Kyma deployment for CAP applicationspublishedUnder two thousand characters on getting a CAP application onto Kyma with less ceremony than the long guides require. Short by design.Blog,
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.Blog,
Surviving and Thriving with the SAP Cloud Application Programming Model: Deployment to SAP BTP, Kyma runtimepublishedAn episode of the author's #CAPTricks series, and it reads like one — long, opinionated, and organised around the things that actually go wrong on the way to a deployed CAP application rather than around the documented happy path.Blog,
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.Blog,
Taking CAP to the next level - with TypeScriptpublishedThe author's own two packages introduced together, and they are two halves of one idea: cds2types generates TypeScript from the CDS model, cds-routing-handlers 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.Blog,
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewpublishedcds.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.Blog,
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.Blog,
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.Blog,
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.Blog,
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 CDS 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.Blog,
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.Blog,
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) AppspublishedThe two routes out of a CAP application into a process, side by side: a destination with OAuth2ClientCredentials, the same destination with principal propagation, and Event Mesh with a CloudEvents payload. Written before @cap-js/process existed, so it is the record of what the plugin now does for you — useful when the plugin does not fit, and useful for reading what it is actually doing underneath.Blog,
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 support in UI5, while CAP offers standard types and the new @cap-js/cds-typer generates types for a service, which is typing, with the caveat that running cds-ts commands could overwrite what cds-typer generated.Blog,
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.Blog,
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.Blog,
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 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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Tutorial,
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.Blog,
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one gopublishedcds 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.Blog,
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.Tutorial,
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.Blog,
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.Blog,
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.Blog,
Using Postgresql Database in Cloud Application Programming modelpublishedA straight run through the official PostgreSQL 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.Blog,
vite-plugin-cdsadded to the atlasServes a Vite app through cds watch and imports .cds filesCDS plugin,
What's new in SAP Cloud Application Programming Model – January 2026publishedDecember and January together: the new @assert feature, revised documentation, CDS editor work, and Kyma deployment additions.Blog,
What's new in SAP Cloud Application Programming Model – November 2025publishedThe November edition, led by the Status Transition Flows feature presented at reCAP 2025.Blog,
What's new in SAP Cloud Application Programming Model – September 2025publishedThe monthly release communication for CAP itself, and this edition carries the MCP servers and the Application Frontend Service integration. Kept because a dated list of what shipped when is the only record of that; three editions are indexed here rather than the whole run.Blog,
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.Blog,
Workflow development using SAP Cloud Application Programming Model and SAP Build Process AutomationpublishedAn argument about where logic belongs rather than a wiring guide. The author's case is that pulling mapping, preprocessing and JavaScript into the process model makes it unreadable to the process owner who has to maintain it, so the model should stay thin and CAP should hold the domain model, the authorisation annotations, the events and the API consumption. Each of those is then shown in turn against SBPA — including publishing CAP events into process visibility.Blog,
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.Blog,
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.Blog,
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.Blog,
加速开发和部署的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.Blog,
@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.CDS plugin,
@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.CDS plugin,
@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.CDS plugin,
@cap-js/audit-loggingdescription revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.CDS plugin,
@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.Package,
@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.CDS plugin,
@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.Package,
@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.CDS plugin,
@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.CDS plugin,
@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.CDS plugin,
@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 plugin,
@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.CDS plugin,
@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.CDS plugin,
@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 plugin,
@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.CDS plugin,
@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.Build tool,
@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.Build tool,
@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.CLI,
@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.Package,
@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.Package,
@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.CDS plugin,
@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.CDS plugin,
@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.Package,
@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.CDS plugin,
@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.MCP server,
@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.CDS plugin,
@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.CDS plugin,
@rizing/cds-customer-stepbystep-toollinks revised404 from the GitHub API. Found by the first full run of scripts/check-links.mjs — the citation had a checked date and nobody had re-read it.Generator,
@sap-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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.Build tool,
@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.Package,
@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.Package,
@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.Package,
@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.Package,
@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.MCP server,
@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.Package,
@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.Build tool,
@sap/cds-oysterlinks, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.CDS plugin,
@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.Build tool,
@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.Generator,
@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.Generator,
@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.Generator,
@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.CDS plugin,
@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.CDS plugin,
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.Capability,
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.CDS plugin,
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.CDS plugin,
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 plugin,
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 plugin,
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.MCP server,
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 plugin,
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 plugin,
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.Generator,
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.Package,
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.CDS plugin,
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.CDS plugin,
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.CDS plugin,
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.Build tool,
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 plugin,
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.Package,
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.CDS plugin,
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.Blog,
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.CLI,
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.Sample,
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.CDS plugin,
Mon 7
168 changes
@cap-handler/generatoradded to the atlasInteractive generator for CAP event handler filesGenerator,
@cap-utils/barrieradded to the atlasPlaceholder package under a CAP annotations name, no annotationsPackage,
@cbs-consulting/cds-eslintadded to the atlasESLint plugin with one consultancy's rules for CDS filesBuild tool,
@cbs-consulting/toolsadded to the atlasShared ESLint configuration for SAPUI5 and CAP projectsBuild tool,
Show 164 more
@expertum/cap-email-pluginadded to the atlasAnnotation-driven mail on CAP entity lifecycle eventsCDS plugin,
@kamlendra/search-vocabadded to the atlasCDS annotation vocabulary for entity search with schema discoveryCDS plugin,
@khalidmh/capxadded to the atlasInteractive project installer for CAP Node.jsGenerator,
@mi8y/cds-langgraph-persistenceadded to the atlasLangGraph checkpointer backed by CDS for CAP agentsCDS plugin,
@odatano/coreadded to the atlasCAP plugin serving the Cardano blockchain as OData V4CDS plugin,
@odatano/core-mcpadded to the atlasMCP server exposing the ODATANO Cardano-to-OData bridge as toolsMCP server,
@odatano/nightgateadded to the atlasCAP plugin indexing the Midnight blockchain, exposed as OData V4CDS plugin,
@odatano/nightgate-mcpadded to the atlasMCP server exposing the NIGHTGATE Midnight attestation layerMCP server,
@odatano/watchadded to the atlasCAP plugin watching Cardano addresses and emitting eventsCDS plugin,
@patimweb/pi-cap-bestpracticesadded to the atlasSAP's capire/skills packaged for the pi coding agentSkill,
@quadrio/cds-db2added to the atlasDB2 adapter for CDSCDS plugin,
@quadrio/cds-dbmadded to the atlasFork of cds-dbm with deploy, load, diff and drop tasksCLI,
@rizing/cds-customer-stepbystep-tooladded to the atlasTool completing a CAP project's deployment configurationGenerator,
@sang2x/captoolsadded to the atlasCLI of CAP development tools for Cloud Foundry workflowsCLI,
@sap-cloud-sdk/connectivityadded to the atlasDestination lookup and connectivity proxy for the Cloud SDKPackage,
@sap-cloud-sdk/http-clientadded to the atlasHTTP client carrying a destination's credentialsPackage,
@sap-cloud-sdk/odata-commonadded to the atlasShared machinery under the Cloud SDK's OData and OpenAPI clientsPackage,
@sap-cloud-sdk/openapiadded to the atlasGenerated OpenAPI clients for the Cloud SDKPackage,
@sap-cloud-sdk/resilienceadded to the atlasTimeouts, retries and circuit breaking around remote callsPackage,
@sap-cloud-sdk/utiladded to the atlasGeneral utilities shared across the Cloud SDK packagesPackage,
@sap-ux/eslint-plugin-fiori-toolsadded to the atlasESLint rules for projects the Fiori tools generators produceBuild tool,
@sap-ux/fiori-docs-embeddingsadded to the atlasFiori documentation indexed as embeddingsPackage,
@sap-ux/fiori-generator-sharedadded to the atlasShared functions and types of the Fiori generatorsPackage,
@sap/cds-common-contentadded to the atlasISO content for CAP's countries, languages, currencies and timezonesPackage,
@sap/eslint-plugin-cdsadded to the atlasSAP's ESLint plugin for CDSBuild tool,
@sap/generator-cap-projectadded to the atlasCAP project generator behind SAP Business Application Studio's wizardGenerator,
@sap/generator-cdsadded to the atlasCDS project generator, deprecated in favour of @sap/cds-dkGenerator,
@saptools/cf-request-runneradded to the atlasEndpoint discovery for CAP services deployed to Cloud FoundryCLI,
@saptools/hana-lensadded to the atlasWorkspace-wide CSN cache for querying CAP entities and columnsCLI,
@saptools/service-flowadded to the atlasStatic end-to-end tracer of one CAP operation across repositoriesCLI,
@shahid.la/cds-db-nlquery-mcpadded to the atlasMCP server answering plain-English questions against a CDS schemaMCP server,
A 25x faster mta.yaml build for SAP CAP Node.js projectspublishedOne change to the build descriptor, arrived at after discarding the obvious alternatives — the author reports trying shell scripts, npm caching and offline installs, swapping npm for pnpm, and cds build --no-clean, all of which helped and none of which was this. The value is as much in the record of what was ruled out as in the trick itself.Blog,
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.Blog,
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.Blog,
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.Blog,
A Fiori Launchpad Sandbox for all your CAP-based projects - OverviewpublishedWhere cds-launchpad-plugin came from, told as a learning exercise: the author wanted a real problem to teach himself TypeScript on, and picked the thing he kept redoing in every CAP project — a launchpad to see all the UI applications in one place. The origin post for an entry whose 2023 update is also indexed here.Blog,
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.Blog,
a2a-pluginadded to the atlasExposes an annotated CDS service as an Agent-to-Agent agentCDS plugin,
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, 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.Tutorial,
Adding Immutable Blockchain Proofs to SAP With CAP - Cardano and OData V4publishedThe write-up behind ODATANO, 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.Blog,
assert-targetadded to the atlasWhich CAP paths trigger @assert.target and which do notSample,
attachment-reuse-controls-sampleadded to the atlasFiori Elements page embedding upload controls on @cap-js/attachmentsSample,
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.Blog,
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.Blog,
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.Blog,
CAP is important because it's not importantpublishedAn essay rather than a technique: what CAP actually is, what it gives you, and the case for treating it as foundational precisely because it is not the interesting part of an application. Written in 2019, when that argument still had to be made, and the title is the argument. Also recorded as a Tech Aloud podcast episode and a CodeTalk, both linked from the post.Blog,
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.Blog,
CAP just got faster: What's new in cds-caching 1.0publishedWhat changed in cds-caching 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 post, which still shows the deprecated calls.Blog,
cap-alpadded to the atlasAnalytical List Page over a CAP OData V4 serviceSample,
cap-ams-a2aadded to the atlasApp-to-app setups between CAP Java and CAP Node.js under AMS and IASSample,
cap-cross-containeradded to the atlasCAP services reading each other's HANA tables across HDI containersSample,
cap-handler-frameworkadded to the atlasConvention-based handler layer for CAP with draft lifecycle hooksCDS plugin,
cap-java-auth-checkadded to the atlasCAP Java authorization checks tried case by caseSample,
cap-java-draft-composition-deleteadded to the atlasCAP Java draft cancel on composition items as a flag updateSample,
cap-java-snippetsadded to the atlasTen short CAP Java references, one document per topicDoc source,
cap-js-geoloc-pluginadded to the atlasAnnotation-driven geocoding, address correction and routing for CAPCDS plugin,
cap-mcp-bridgeadded to the atlasMCP server generating tools from a CAP or OData V4 service's metadataMCP server,
cap-mediaadded to the atlasMedia handling in core CDS with a UI5 UploadSetSample,
cap-mock-generatoradded to the atlasFills db/data with relationally consistent CSV from a .cds schemaGenerator,
cap-oauth-destinationadded to the atlasOAuth2UserTokenExchange destination declared in mta.yamlSample,
cap-toolkitadded to the atlasUtility bundle for CAP handlers: builder, roles, validation, queriesPackage,
cap-ui5-gpt-chatadded to the atlasChat app on CAP and SAPUI5 against the OpenAI APISample,
cap-utilsadded to the atlasnpx tool adding worked example files to a CAP projectGenerator,
cap-vector-hcadded to the atlasVECTOR_EMBEDDING in a CDS entity for FAQ similarity searchSample,
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.Blog,
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.Blog,
capire/skillsadded to the atlasAgent skills for CAP development, each a SKILL.md with referencesSkill,
cds-agentsadded to the atlasToolkit turning a CAP service into tools for agent frameworksPackage,
cds-azure-adadded to the atlasAzure AD and Azure AD B2C authentication strategy for CAPCDS plugin,
cds-common-jwt-supportadded to the atlasJWT authentication for CAP without xsuaa or xssecCDS plugin,
cds-data-pipelineadded to the atlasScheduled READ, MAP, WRITE pipelines between CAP servicesCDS plugin,
cds-error-outboxadded to the atlasCaptures CAP service errors, deduplicates them and mails alertsCDS plugin,
cds-feature-softdeleteadded to the atlasCAP Java plugin for soft delete with a softdelete aspectCDS plugin,
cds-feature-toggleadded to the atlasFeature-toggle pattern for CAP CDSCDS plugin,
cds-hyper-app-serviceadded to the atlasTyped class-based service layer over CAP ApplicationServicePackage,
cds-internal-tooladded to the atlasReusable internals for authors of CAP extensionsPackage,
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.Blog,
cds-mongodbadded to the atlasMongoDB as a CAP database service through MongooseCDS plugin,
cds-natsadded to the atlasNATS messaging service for the CAP Node.js runtimeCDS plugin,
cds-rate-limitadded to the atlasRate-limit pattern for CAP Node.js applicationsCDS plugin,
cds-softdelete-pluginadded to the atlasCAP plugin turning DELETE into a flag on annotated entitiesCDS plugin,
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.Blog,
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.Blog,
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.Blog,
cds-validateadded to the atlasZod schemas as CAP validation middlewarePackage,
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 PostgreSQL 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.Blog,
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 Yasutake's 2021 post from a different angle — that one enumerates four topologies, this one argues for one of them.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
dynamic-external-cds-joinadded to the atlasCAP plugin joining external entities with internal tables at queryCDS plugin,
eslint-plugin-better-cap-configadded to the atlasESLint rules flagging deprecated CAP configurationBuild tool,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
fiori-dynamic-feature-controladded to the atlasOne object page field made read-only from another's value, two waysSample,
fiori-inline-editadded to the atlasList report inline edit on a draft-enabled CAP serviceSample,
fiori-invoke-functionadded to the atlasCalling an unbound CAP Java function from freestyle UI5Sample,
fiori-navigation-patternsadded to the atlasOutbound navigation patterns from a Fiori Elements list reportSample,
forsap-s4hana-private-simulatoradded to the atlasCAP project simulating S/4HANA Private Edition OData APIs locallySample,
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.Blog,
Getting started with CAP on PostgreSQL (Node.js)publishedRunning CAP on PostgreSQL locally in 2020, when doing so meant the community packages cds-pg and cds-dbm. It now opens with a banner the author added later: @sap/cds 7.0.0 has native PostgreSQL support, use @cap-js/postgres 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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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.Blog,
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-caching into that application and what it changed.Blog,
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-pg 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.Blog,
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.Blog,
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.Blog,
repository-templateadded to the atlasRepository template with LICENSE, REUSE and compliance filesSample,
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 and the official documentation. The two together are the community PostgreSQL path as it stood before the core absorbed it.Blog,
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-pg and cds-dbm; this one states that both were deprecated in favour of the official PostgreSQL support arriving with @sap/cds 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.Blog,
SAP CAP - Optimize your build MTA projects with several ui appspublishedWhat the Business Application Studio wizard writes into mta.yaml stops scaling somewhere past a couple of dozen UI applications, because every one of them gets its own build step. The post is about the build phase specifically, and reads as a report from a project large enough to have hit the wall rather than as a general optimisation.Blog,
SAP 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.Blog,
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.Blog,
SAP Cloud Application Programming Model (CAP) - start herepublishedThe orientation post for CAP, published in 2018 and revised in 2020 and again in 2021 with help credited to Iwona Hahn — which is the unusual part: a starting-point index that was maintained rather than left to rot, and says so at the top. Read as the shape of what a newcomer was pointed at, and as a marker of how much of that changed inside three years.Blog,
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.Blog,
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-ui5 — 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.Blog,
sap-cap-debuggeradded to the atlasAttaches a debugger to a CAP app running on Cloud FoundryCLI,
sapbrunoadded to the atlasTerminal UI running Bruno collections against a CAP serviceCLI,
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.Blog,
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.Blog,
Speed up deployment for CAP using TurborepopublishedImpatience as a method: minutes of waiting on MBT and cf deploy sent the author looking for alternatives. It is fair to MBT first — a wrapper doing the whole deployment in one go, creating services and applications along the way — before showing what Turborepo changes about the build half. The trade it makes is explicit rather than assumed.Blog,
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.Blog,
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.Blog,
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.Blog,
The fastest way to a deployable CAP app on SAP BTP Cloud FoundrypublishedThe gap between an application that runs locally and one that runs deployed — binding, bundling, the database connection, authorization — treated as the problem rather than as setup. Since updated for cds up, which is the shortest answer the core now offers, and the post carries that update inline rather than leaving the original standing.Blog,
The 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-federation holds: the second half maps it onto @federation.delegate and @federation.replicate and says which package carries which part — annotations in cds-data-federation, the scheduled engine in cds-data-pipeline, response caching through cds-caching — 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-demo 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.Blog,
The Future of Continuous Delivery for SAP Cloud SDK and SAP Cloud Application Programming ModelpublishedA direction note on the Continuous Delivery Pipeline that Cloud SDK and CAP projects were expected to start from, written by someone on the inside as its future was being decided. Dated 2020, so read it for what was being weighed rather than for what to run — and as one of the few places the reasoning behind a tooling direction was written down at all.Blog,
Tips for running CAP nodejs in SAP BTPpublishedDeliberately not a summary of capire: the author says up front that nothing here repeats the documented best practices, and the subject is configuration for running cloud-natively rather than correctly. Examples target Cloud Foundry, with the claim that they hold for Kyma too.Blog,
Trigger an SAP Build Process Automation Workflow from CAP Using the @cap-js/process PluginpublishedA step-by-step setup for starting a Build Process Automation workflow from CAP through the plugin rather than through direct REST calls, which is how it had to be done before. Covers both ends: deploying the process in the SBPA designer and finding the workflow instance id it produces, then wiring the CAP side to it. Written against the first beta, released 26 April 2026, so the shape is settled but the surface may not be.Blog,
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.Blog,
ui5-ai-features-demoadded to the atlasProduct-review screen consuming ui5-cap-ai-features on CAPSample,
ui5-cap-ai-featuresadded to the atlasCDS plugin and UI5 controls for AI text features via SAP AI CoreCDS plugin,
urp-vocabadded to the atlasCDS vocabulary for User-Rendered Patterns display annotationsPackage,
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2publishedThe theory half of a pair introducing cds-kafka: 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.Blog,
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2publishedThe practical half: concrete use cases for cds-kafka, 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 Mesh — a comparison a plugin's own README rarely makes about itself.Blog,
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.Blog,
@sap/cdsreleased @sap/cds 10.1Guidance that a CAP Node.js application needs the SAP Cloud SDK to resolve a destination in production. It still does for anything outside the three authentication types named above.Package,
Database connectorsthe core changed in @sap/cds 10.1.0Advice that SQLite cannot be configured for the production profile at all.Capability,
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.Capability,
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.Sample,
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.Sample,
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.Capability,
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.Sample,
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.Sample,
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.Sample,
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.Sample,
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.Sample,
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.Sample,
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 plugin,
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.CDS plugin,
mtxs-reviewsdomain revisedA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.Sample,
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.Capability,
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.Sample,
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.Doc source,
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.Capability,
Sun 6
11 changes
Boosting performance in SAP Cloud Application Programming Model (CAP) applications with cds-cachingpublishedThe 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.Blog,
cds-mysqladded to the atlasMySQL and MariaDB database adapter for CAPCDS plugin,
DevOps with SAP BTPpublishedHow SAP frames a delivery pipeline for applications on BTP Cloud Foundry: continuous integration through the SAP Continuous Integration and Delivery service and its pipeline templates for CAP and Fiori, transport and change management across environments, and a section on reasonable alternatives for teams with existing CI infrastructure. Culture first, tools second, and explicit that the setup differs on other BTP environments.Reference architecture,
Generative AI on SAP BTPpublishedThe reference shape for a generative AI application on BTP: a CAP backend, SAP HANA Cloud 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.Reference architecture,
Show 7 more
Multitenant SaaS Application using CAPpublishedSAP's reference architecture for a multitenant SaaS application on BTP built with CAP: one deployment serving many tenants with logically separated data, the subscription and onboarding flow, and the BTP services the design leans on. Written for partners and line-of-business teams building on BTP, and it is SAP's own side of the shape multitenancy takes on BTP.Reference architecture,
@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.CDS plugin,
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.Skill,
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.Generator,
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.CDS plugin,
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.Build tool,
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.CLI,
Sat 5
2 changes
Building Custom Authentication in SAP CAPpublishedBlog,
@odatano/nightgatereleased 0.23.0Offline installs that expect the prover keys inside the npm tarball.CDS plugin,
Wed 2
20 changes
@dxfrontier/cds-ts-dispatcheradded to the atlasDecorator-driven handler registration for CAP in TypeScriptPackage,
@dxfrontier/cds-ts-repositoryadded to the atlasTyped BaseRepository over CAP entitiesPackage,
@jerome-benoit/sap-ai-provideradded to the atlasVercel AI SDK provider for SAP AI CorePackage,
@sap-ai-sdk/ai-apiadded to the atlasAI Core control plane API surface of SAP's AI SDKPackage,
Show 16 more
@sap-ai-sdk/coreadded to the atlasShared internals of SAP's AI SDKPackage,
@sap-ai-sdk/foundation-modelsadded to the atlasClient for foundation models via SAP AI Core and Generative AI HubPackage,
@sap-ai-sdk/orchestrationadded to the atlasOrchestration Service client for templating, grounding and maskingPackage,
@sap-ai-sdk/prompt-registryadded to the atlasClient for prompts kept in SAP's prompt registryPackage,
@sap-ux/cds-annotation-parseradded to the atlasParser for annotations in CDS sourcePackage,
@sap-ux/cds-odata-annotation-converteradded to the atlasConverter from CDS annotations to their OData formPackage,
@sap-ux/fiori-annotation-apiadded to the atlasProgrammatic API for reading and writing project annotationsPackage,
@sap/cds-oysteradded to the atlasWebAssembly sandbox for tenant-specific extension code in CAPCDS plugin,
@sap/generator-fioriadded to the atlasEntry point for generating a Fiori application from a templateGenerator,
@saptarishi/cds-plugin-vector-hanaadded to the atlasVector storage and similarity search on SAP HANA from CAPCDS plugin,
cap-llm-pluginadded to the atlasGenerative AI in CAP with fields anonymised through SAP HANACDS plugin,
cds-incidents-sampleadded to the atlascds add plugin adding the incidents-app model to a projectGenerator,
cds-plugin-typescriptadded to the atlasCDS build task compiling TypeScript sources during cds buildBuild tool,
cds-routing-handlersadded to the atlasDecorator-based routing of CAP service handlers in TypeScriptPackage,
cds2typesadded to the atlasCLI generating TypeScript interfaces from a CDS modelCLI,
@sap/cdsreleased 10.1.0A deployment whose messaging webhooks are reached anonymously with no auth configured, or whose collection-bound action is called by users its @restrict.where excludes.Package,
Tue 1
3 changes
CAP Guardianadded to the atlasCAP review skill for coding agents with gates and prohibitionsSkill,
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.Generator,
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.Capability,

Mon 31
114 changes
@cap-js-community/business-metricsadded to the atlasBusiness-level metrics from CDS annotations via @cap-js/telemetryCDS plugin,
@cap-js-community/commonadded to the atlasSix CAP features in one package, from replication cache to rate limitsPackage,
@cap-js-community/event-queueadded to the atlasTransactional processing of asynchronous and periodic CAP eventsCDS plugin,
@cap-js-community/feature-toggle-libraryadded to the atlasLive-updatable feature toggles for CAP, backed by RedisPackage,
Show 110 more
@cap-js-community/mtx-tooladded to the atlasCLI for operating tenants of multitenant CAP applicationsCLI,
@cap-js-community/odata-v2-adapteradded to the atlasExposes a CAP service as OData V2CDS plugin,
@cap-js-community/sap-afc-sdkadded to the atlasSDK for SAP Advanced Financial Closing scheduling providers on CDSPackage,
@cap-js/advanced-event-meshadded to the atlasCAP integration with SAP Integration Suite advanced event meshCDS plugin,
@cap-js/aiadded to the atlasValue-help recommendations and SAP AI Core as a CAP serviceCDS plugin,
@cap-js/asyncapiadded to the atlasExports AsyncAPI documents for a CAP service's eventsCDS plugin,
@cap-js/cap-operator-pluginadded to the atlasGenerates Helm charts for the CAP Operator on KubernetesGenerator,
@cap-js/cds-typeradded to the atlasGenerates TypeScript types from a CDS modelBuild tool,
@cap-js/cds-typesadded to the atlasType definitions for the CAP Node.js SDKPackage,
@cap-js/change-trackingadded to the atlasChange history for annotated CAP entitiesCDS plugin,
@cap-js/consoleadded to the atlasConnects a running CAP application to the CAP consoleCDS plugin,
@cap-js/data-inspectoradded to the atlasInspects database entities and contents at CAP service levelCDS plugin,
@cap-js/event-brokeradded to the atlasConsumes events from SAP Cloud Application Event Hub in CAPCDS plugin,
@cap-js/n8nadded to the atlasTriggers n8n workflows from a CAP applicationCDS plugin,
@cap-js/ordadded to the atlasGenerates Open Resource Discovery documents from a CAP modelCDS plugin,
@cap-js/printadded to the atlasPrints documents held in CAP entities through SAP Print serviceCDS plugin,
@cap-js/telemetryadded to the atlasOpenTelemetry instrumentation for CAP servicesCDS plugin,
@salvatorela/cap-plugin-adobe-formsadded to the atlasCAP plugin wrapping the SAP Forms service by Adobe on BTPCDS plugin,
@sap/appfront-cliadded to the atlasCLI for the SAP BTP Application Frontend serviceCLI,
@sap/cdsadded to the atlasCAP Node.js runtimePackage,
@sap/cds-compileradded to the atlasCompiler from CDS models to CSN, EDMX and database schemasBuild tool,
@sap/cds-dkadded to the atlasCommand line client and development toolkit for CAPCLI,
@sap/cds-fioriadded to the atlasFiori draft handling and UI-facing behaviour for CAP servicesPackage,
@sap/cds-lspadded to the atlasLanguage server for CDSPackage,
@sap/cds-mtxsadded to the atlasMultitenancy, tenant provisioning and extensibility for CAPPackage,
@sap/cds-rfcadded to the atlasCalls to ABAP function modules over RFC from a CAP servicePackage,
@sap/vscode-cdsadded to the atlasCDS language support for VS Code and Business Application StudioIDE extension,
@sap/xssecadded to the atlasToken validation and security context for XSUAA and IASPackage,
bookshop-amsadded to the atlasCAP bookshop wired to the Authorization Management ServiceSample,
bookshop-demoadded to the atlasSimple CDS bookshop model used across CAP explanationsSample,
btpvulnerabilityreportadded to the atlasCAP and Fiori app showing BTP Application Vulnerability Report dataSample,
cap-agent-ui5-webui-sampleadded to the atlasWorked example of the cap-agent-ui5-webui pluginSample,
cap-azure-ad-b2cadded to the atlasAuthenticating a CAP service against Azure AD B2CSample,
cap-collaborative-draftadded to the atlasCollaborative draft support for CAP Node.js servicesCDS plugin,
cap-mcp-pluginadded to the atlasMCP server generated from a CDS model, forked from @gavdi/cap-mcpCDS plugin,
cap-n8nadded to the atlasIntegration of CAP with n8n workflows and triggersCDS plugin,
cap-replication-demoadded to the atlasReplication between systems with CAPSample,
cap-rfcadded to the atlasCalling ABAP function modules over RFC from a CAP serviceSample,
cap-sflight-hierarchyadded to the atlassflight example extended with hierarchy supportSample,
cap-snowflakeadded to the atlasCAP database adapter for Snowflake with OData V4 supportCDS plugin,
cap-typescriptadded to the atlasMinimal CAP project in TypeScriptSample,
cap-ui-telemetryadded to the atlasUI5 frontend performance and error capture for CAPCDS plugin,
cap-websocketsadded to the atlasWebSocket push from a CAP serviceSample,
cds-cachingadded to the atlasCAP caching plugin for query results and remote service responsesCDS plugin,
cds-dbmadded to the atlasDelta deployment and migrations for CAP database adaptersBuild tool,
cds-eclipse-pluginadded to the atlasEclipse plugin for the CDS languageIDE extension,
cds-entra-idadded to the atlasMaps Microsoft Entra ID groups and app roles onto cds.User rolesCDS plugin,
cds-intellijadded to the atlasSAP CDS language support for IntelliJ IDEAIDE extension,
cds-kafkaadded to the atlasKafka adapter exposing topics as a CDS messaging serviceCDS plugin,
cds-pgadded to the atlasPostgreSQL adapter for SAP CDS from the SAP Mentors communityCDS plugin,
cds-plugin-handlersadded to the atlasOne handler file per entity in CAP servicesCDS plugin,
cds-plugin-ui5added to the atlasUI5 CLI middlewares running inside the CDS serverCDS plugin,
cds-textmate-grammaradded to the atlasTextMate grammar for the CDS languagePackage,
cf-setupadded to the atlasGitHub Action setting up the Cloud Foundry CLIBuild tool,
mtxs-reviewsadded to the atlasMultitenant CAP application using cds-mtxsSample,
open-rfcadded to the atlasSDK-free TypeScript client for SAP synchronous RFC on Node.jsPackage,
pg-beershopadded to the atlasCAP beershop on PostgreSQL, predating an official adapterSample,
sap-cds-erdadded to the atlasAWK script sketching an ER diagram from .cds filesCLI,
SAP-NPM-API-collectionadded to the atlasAPI documentation extracted from SAP-published npm packagesDoc source,
ui5-cap-serverside-rendering-pluginadded to the atlasCAP plugin rendering UI5 views with entity data on the serverCDS plugin,
zed-cds-extensionadded to the atlasCDS language support for the Zed editorIDE extension,
cap-js-communityfirst recorded in the atlasPerson,
Mike Zaschkafirst recorded in the atlasPerson,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.CDS plugin,
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.Capability,
Configurationcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Deploymentcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Health checkscore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Loggingcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
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.Capability,
Multitenancycore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
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.CLI,
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.Capability,
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.Capability,
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.Capability,
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.Capability,
Telemetrycore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Tenant extensibilitycore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
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.Capability,
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.Capability,
Workflow integrationcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Sun 30
32 changes
@cap-js-community/websocketadded to the atlasWebSocket and Socket.IO adapter for CDS servicesCDS plugin,
@cap-js/agentsadded to the atlasCDS plugin for building agents inside a CAP serviceCDS plugin,
@cap-js/attachmentsadded to the atlasCAP Node.js attachments with database, S3, Azure or GCP storageCDS plugin,
@cap-js/audit-loggingadded to the atlasCAP integration with the SAP Audit Log serviceCDS plugin,
Show 28 more
@cap-js/cds-dbsadded to the atlasMonorepo of CAP's SQL database servicesPackage,
@cap-js/data-privacyadded to the atlasCAP integration with SAP Data Privacy IntegrationCDS plugin,
@cap-js/db-serviceadded to the atlasBase service shared by CAP's SQLite, PostgreSQL and HANA servicesPackage,
@cap-js/graphqladded to the atlasGraphQL protocol adapter generated from the CDS modelCDS plugin,
@cap-js/hanaadded to the atlasSAP HANA database service for CAPCDS plugin,
@cap-js/mcpadded to the atlasExposes CAP services as MCP servers for AI agentsCDS plugin,
@cap-js/notificationsadded to the atlasBusiness notifications from CAP to SAP Build WorkZoneCDS plugin,
@cap-js/openapiadded to the atlasGenerates OpenAPI documents from a CDS serviceCDS plugin,
@cap-js/postgresadded to the atlasPostgreSQL database service for CAPCDS plugin,
@cap-js/sdmadded to the atlasCAP attachments stored in an SAP Document Management repositoryCDS plugin,
@cap-js/sqliteadded to the atlasSQLite database service for CAP, in memory during developmentCDS plugin,
@cap-rp/notificationsadded to the atlasRenamed copy of @cap-js/notifications under another scopeCDS plugin,
@cds-pgroll/postgresadded to the atlasCLI for DROP and RENAME schema changes beside @cap-js/postgresCLI,
@gavdi/cap-mcpadded to the atlasGenerates an MCP server from annotated CDS entities and actionsCDS plugin,
@sap-ux/fe-mockserver-plugin-cdsadded to the atlasFiori Elements mock server plugin taking a CDS file as metadataPackage,
@sap-ux/fiori-mcp-serveradded to the atlasMCP server for creating and editing Fiori applicationsMCP server,
@tklein1801/cap-js-attachmentsadded to the atlasCAP Node.js attachments plugin with Object Store and malware scanningCDS plugin,
cap-agent-ui5-webuiadded to the atlasUI5 web interface for an agent built in a CAP serviceCDS plugin,
cap-attachments-plusadded to the atlasCAP Node.js attachments plugin with database or cloud storageCDS plugin,
cap-js-mockdataadded to the atlasCSV seed data generated from @Mockdata annotations with FakerGenerator,
cap-postgres-btp-connectivityadded to the atlasTunnels CAP Node.js to a private PostgreSQL via Cloud ConnectorCDS plugin,
capforgeadded to the atlasMCP server scaffolding CAP and CDS checked by cds compileMCP server,
cds-cucumberadded to the atlasGherkin scenarios driving a running CAP serviceCDS plugin,
cds-data-federationadded to the atlasData federation for CAP via delegation, caching and replicationCDS plugin,
cds-federation-synonymsadded to the atlasCAP-to-CAP data federation over SAP HANA synonymsCDS plugin,
cds-launchpad-pluginadded to the atlasSandbox launchpad for all SAPUI5 apps in a CAP workspaceCDS plugin,
cds-swagger-ui-expressadded to the atlasSwagger UI for a CAP service's OpenAPI definitionCDS plugin,
sap-cap-sdm-pluginadded to the atlasCAP Node.js plugin mapping CDS entities to SAP Document ManagementCDS plugin,
Thu 27
1 change
Workflow integrationthe core changed in @cap-js/n8n 0.0.1Guidance that n8n triggering from CAP has no SAP-official path and is community territory only. Since August 2026 there is an SAP-published plugin alongside the independent one.Capability,
Tue 25
1 change
cap-companionadded to the atlasPlayback-only SAP Companion (Help4) workarea served from CAPCDS plugin,
Thu 20
1 change
@sap-ux/telemetryreleased 2.0.0Telemetry setups that pass only an instrumentation key for an Application Insights resource outside westus2.Package,
Tue 18
1 change
@cap-js/sdmreleased 1.11.0Deployment descriptors from earlier setup guides that do not enable HDI auto-undeploy.CDS plugin,
Mon 17
2 changes
cds-cachingreleased 3.0Any configuration snippet using statistics or dashboard, and any advice that assumes a persistent cache survives an upgrade untouched.CDS plugin,
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 plugin,
Fri 14
1 change
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.Capability,
Thu 13
1 change
@cap-js/mcpreleased 1.4.2Configuration that sets toon_format to switch the output format.CDS plugin,
Mon 3
1 change
@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.CDS plugin,
The last 90 days. Older changes stay in each entry's history.