NewSAP Cloud Application Programming Model
In the last 7 days
Change
Kind
Origin
Domain
149 changes
Today
audit-summaryadded to the atlasGroups npm audit findings by root dependency, with failing thresholdsVulnerability scanning
enforce-export-coverageadded to the atlasStatic check that each exported TypeScript function has a testTesting
git-env-branchesadded to the atlasShows which feature branches reached which environment branchChange promotion
Give Your AI Agent Some Tools: Introducing the UI5 MCP ServerpublishedAnnounces @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, SAP's open-source MCP server for UI5 development, and walks through its initial six tools. get_project_info, get_api_reference and run_ui5_linter (which applies UI5 linter@ui5/linterSAP's static analysis tool for UI5 projects: it scans JavaScript, TypeScript, XML, JSON and other files for deprecated APIs, global variables and possible CSP violations, and fixes part of them with --fix.sap official, ui5 fixes) read the project's own version, manifest and code rather than an LLM's training data, which is what agent access to your codeAgent access to your codeLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from MCP servers, which is a protocol adapter on your own running service, and from agent guidance, which is knowledge handed over as files rather than read from the thing itself.SAP and community, unassessed explains. create_ui5_app scaffolds a new JavaScript or TypeScript project, standalone or inside an existing CAP application, from templates with pre-configured OData model setups, which is generatorsGeneratorsGetting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project.SAP and community, narrow by design.Agent access to your code
Show 60 more
hana-linteradded to the atlasRegex naming rules for SAP HANA artifacts in a CAP projectLinting
Joule Studioがリリースされたので早速CAPアプリを自然言語で操作するカスタムスキルを構築してみたpublishedA walkthrough of building a custom Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella skill on a CAP bookshop app:
cds add sample and cds add mta scaffold the project and its deployment descriptor, cds compile srv/ --to xsuaa generates the role template behind the @requires: 'admin' check on AdminService from the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp (XSUAA), and mbt build packages the app for deployment to the SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp. The skill reaches the deployed ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design API through the SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp, configured with the OAuth2 Client Credentials grant using the client ID, secret and token endpoint from the app's XSUAA service key, so Joule answers a natural-language question about a book by its ID.Agent toolingMy CAP Projects ToolboxpublishedA working inventory of daily CAP tooling: scaffolding a project with cds init and growing it facet by facet through cds add (TypeScript, seed data, an .http test file, a handler stub), then running it with cds watch and setting a breakpoint in a custom handler from SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp's JavaScript Debug Terminal. It also walks through an @open entity that accepts properties the model never declared, and reading temporal dataTemporal dataKeeping every version of a record that was valid for a period, and reading the one that held at a given moment — the assignment somebody had on the first of March, not the one they have now — without the application filtering time slices by hand.SAP only defined with CAP's temporal aspect, where a plain read returns only what is valid now and a custom handler is needed to retrieve every time slice.Generators
SAP Fiori Application Generator Available in Open SourcepublishedThe SAP Fiori tools team announces that the code behind @sap/generator-fiori@sap/generator-fioriThe single entry point for generating a Fiori application — the user picks a template and the generator produces the project around it.sap official, cap has moved entirely to open source, and names the packages it is built from: writers that output SAP Fiori elements and freestyle SAPUI5 application files, inquirer prompts for picking a back end, and ABAP deploy tasks, coordinated by a sub-generator. Before publishing, the team broke up what had been a monolith, added TypeScript typings and raised test coverage.Fiori annotations
UI5 MCP Server Got Extended for UI Integration Cards GenerationpublishedVersion 0.2.1 of the UI5 MCP Server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5 adds three tools for UI Integration Cards: get_integration_cards_guidelines feeds an agent current best practices and API versions, create_integration_card scaffolds a new card project, and run_manifest_validation checks the generated manifest against the schema. The post frames these as closing the same gaps as the server's existing tools — an LLM's outdated or wrong card API knowledge — this time for scaffolding and validating a card rather than a full app.Agent access to your code
Robin van het Hofadded to the atlas
Agent access to your codecoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the tool count and the two absence claims about who has built something.Agent access to your code
Agent evalscore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): albertmink-agentic-abap-evals, an independent set of ABAP tasks and a grader for coding agents, was entered after the block was written; the count is dropped and the second kind named. State unchanged.Agent evals
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.Agent guidance
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.Agent tooling
App hostingcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the absence claim about ui5 artifacts.App hosting
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.Attachments
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.Audit logging
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.Authentication
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.Authorization
Change promotioncore coverage, id, ecosystems, name revisedPublic feedback issue #9. The ABAP name is kept in framing_by_ecosystem.abap; the default name and description now state the cross-door concern.Change promotion
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.Change tracking
Concurrency controlcore coverage revisedReassessed against the graph (check:capabilities): states what the community provider adds beyond the ETag.Concurrency control
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.Configuration
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.Data modelling
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.Database connectors
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.Debugging
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.Deployment
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).Destinations
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.Document extraction
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.Document output
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.Documentation
Editor supportcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the providers behind the UI5 door are SAP's (UI5 Language Assistant, and SAP Build Code and SAP Web IDE Full-Stack, which serve ui5). The community SAPUI5 Extension is an entry in the graph but has no provides edge to this capability.Editor support
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.Error handling
Event Meshcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note made a claim about every provider and named none, and the SAP services that arrived since the block was assessed (Advanced Event Mesh, the Integration Suite event broker, Cloud Application Event Hub) shape the answer. The state stays core-only, since every provider counting for the door is sap-official.Event Mesh
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.Frontend boundary
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).Generators
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.Health checks
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.Importing and exporting table data
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.Input validation
Integrated frontend dev servercoverage by ecosystem revisedReassessed against the graph (check:capabilities): the only provider of the capability that counts is cds-plugin-ui5, which sits on the CAP door and does not serve the UI5 door, so no provider of another origin counts there. The core stays present on the sourced what_core_does. The middlewares the removed sentence named are not providers of this capability.Integrated frontend dev server
Knowing the maintenance status of a releasecore coverage, coverage by ecosystem revisedui5-task-check-eocp, from public feedback issue #6, is the first independent provider on the UI5 door, beside SAP's SAPUI5 version overview.Knowing the maintenance status of a release
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.LLM integration
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.Local development
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.Localization
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.Logging
Model visualisationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): abapGraph and abap-search-tools-ui arrived after the ABAP block was last looked at and the text never named them. No state changed.Model visualisation
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.Notifications
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.OData
Platform migrationcore coverage revisedReassessed against the graph (check:capabilities): a partner artifact serving the BTP door provides this capability, which the core-only state contradicted. The core stays, since what_core_does is sourced.Platform migration
Prompt managementcoverage by ecosystem, core coverage revisedReassessed against the graph (check:capabilities): the note was a claim about who provides, which the option list derives.Prompt management
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.Rate limiting
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.Retrieval-augmented generation
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.RFC connectivity
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.Schema evolution
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.Search
Secrets rotationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): SAP Credential Store is sap-official and lists cap in serves_ecosystems, so SAP is present for CAP.Secrets rotation
Seed datacore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact provides seed-data for the UI5 door; the two tools the sentence named provide ui5-testing. The core stays present on the sourced what_core_does. The tools stay on the graph under ui5-testing.Seed data
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.Serve your application over MCP
Server-side renderingcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the sentence claimed an absence of providers, which goes stale when one arrives.Server-side rendering
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.Telemetry
Tool governancedescription, core coverage, coverage by ecosystem, framing by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): a count of providers removed.Tool governance
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.TypeScript patterns
Vulnerability scanningecosystems, description revisedPublic feedback issue #10. CAP and UI5 coverage assessed as unmapped: no atlas artifact provides the dependency-tree check there yet.Vulnerability scanning
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.Workflow integration
Yesterday
[Part – 2] Enrich CAP based Services with Behaviors using AnnotationspublishedThe second half of a two-part walkthrough of CAP's behavioral annotations, following on from access control and input validation in the first part. This post works through @cds.autoexpose, @cds.api.ignore, @cds.persistence.exists/skip, @cds.on.insert/@cds.on.update and the @odata.Type/@odata.singleton mapping overrides, all shaping how a CDS model is projected into a service, which is data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed. Alongside these it covers @cds.query.limit for default and maximum page sizes (pagination and streamingPagination and streamingReturning results a client can consume without loading everything — server-driven paging, and streaming large binaries rather than buffering them.SAP only), @odata.etag with exclusive and shared locks for optimistic concurrency (concurrency controlConcurrency controlStopping two people who opened the same record from silently overwriting each other — detecting that the version you read is no longer the version you are saving over.SAP and community, unassessed), and @cds.search for scoping $search to chosen elements (searchSearchFree-text search across an entity and its compositions, pushed into the database rather than filtered in the service. Declared search, database similarity search and filtering in application code are often lumped together.SAP and community, unassessed), each with a CDS code example.Data modelling
#BTP #SAPCAP: Quirky Nuggets (N05-N06)publishedOn SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp, a one-shot PostgreSQL db-deployer app can be restarted by the platform's default port-type health check inside its 60-second timeout, re-running the deploy and duplicating data in the PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. database; setting health-check-type to process or http, via cf commands or the app's mta.yaml parameters, avoids it. In CAP, a remote service's entities are imported and consumed through cds.connect.to and queried via a projection, but its functions and actions cannot be projected: they must be redefined in the consuming service's own interface, with the handler forwarding the call to the remote proxy.Health checks
CAPVAL: A project is bornpublishedThis second CAPVAL post announces CAPVALcapvalReplaces the message a failed input validation annotation returns, and adds @validation.handler, which names a class that runs a check of the developer's own.independent, cap version 2.0, made compatible with CAP v8 after breaking changes there, with the fix shown as a custom
cds.middlewares.after error handler. It restates the plugin's @validation.message annotation alongside standard annotations such as @mandatory as the input validationInput validationRejecting bad input before it reaches the database. While this can be done manually inside a handler, there are solutions in place to derive type, range, enum and mandatory checks from the model definitions.SAP and community, unassessed mechanic the project builds on, and the release otherwise adds automated tests and release-automation GitHub Actions rather than new annotations.Input validationFrom SAP Sales and Service Cloud V2 APIs to AI: Building an MCP Server with CAP Node.jspublishedA step-by-step CAP Node.js walkthrough that wraps the SAP Sales Cloud V2 Case API as a remote service, then exposes the resulting service over both OData V4 and MCP through a single
@protocol: ['odata-v4', 'mcp'] annotation together with @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap's per_action_tool setting. Each CDS action — listCases, getCaseById, createCase, patchCase — becomes its own MCP tool served at /mcp/caseservices, discoverable through tools/list and invoked from a natural-language request.Serve your application over MCPShow 3 more
Keep the Core Clean with Rizing CDSXpublishedJhodel CailanJhodel Cailanmaintains 1 entry, wrote 3 posts, contributed to 1 entry recounts hitting a wall where neither RAP nor CAP supported more than a non-draft OData V2 service for the side-by-side extensibility scenario he wanted, and built Rizing CDSX@rizing/cds-extensionA CAP extension, CDSX, that puts a draft-capable facade in front of an OData service imported into CAP, so Fiori elements can edit records that live in another system as drafts.partner, cap (
@rizing/cds-extension) to add draft handlingDraft handlingLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.SAP and community, narrow by design over a shadow persistence entity that mirrors a remote, cds import-ed service. He walks through the @cdsx.api annotation that proxies the entity, bootstrapping the module from cds.on('bootstrap') in server.js, and testing the result through a generated Fiori elements app backed by an OData V4 draft service.Draft handlingSAP CAP With Prostgres Serice in BTPpublishedA step-by-step walkthrough of a CAP bookshop project on @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap, provisioning PostgreSQL on SAP BTP, hyperscaler optionPostgreSQL on SAP BTP, hyperscaler optionA managed PostgreSQL from the underlying hyperscaler — AWS, Azure, Google Cloud or Alicloud — consumed through a BTP service binding.sap official, btp's trial plan through
mta.yaml, building the MTA archive and deploying it to Cloud Foundry by hand, then inspecting the deployed database with pgAdmin over an SSH tunnel. It updates an earlier post by Mike ZaschkaMike Zaschkamaintains 6 entries, created 12 pieces, contributed to 9 entriesindependent on the same topic to the package CAP now ships by default, though the manual build-and-deploy sequence it shows predates cds up folding those steps into one command by a day.Database connectorsAgent 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.Agent access to your code
Sat 24
btp-agentadded to the atlasLangGraph agent and UI5 chat screen over four BTP MCP servers
Edge Integration Cell : Design, deploy and manage APIspublishedWalks through creating an API artifact in API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp on the customer-managed Edge Integration Cell runtime, including the option to generate the artifact by importing an OpenAPIOpenAPIHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.SAP and community, narrow by design specification rather than from a URL or by hand. It then attaches an Authentication policy and a Quota step capped at four calls per minute, deploys, and shows both the resulting 401 and the quota-breach error in the Monitor logs. The author frames it as the first of a series on Edge Integration Cell's policies.OpenAPI
Part 2 – Empowering SAP BTP CAP Services through Open API Spec and Annotations for Effective Communication, Collaboration and GovernancepublishedWalks through generating an OpenAPIOpenAPIHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.SAP and community, narrow by design specification for a Node.js CAP service: installing cds-swagger-ui-expresscds-swagger-ui-expressServes a CAP service's OpenAPI definition as a browsable Swagger UI, which is the page @cap-js/openapi's document does not come with.independent, cap, bootstrapping it in server.js, a sample CDS data model with associations and compositions, and the YUML diagram and endpoint details the Open API Preview renders in Business Application Studio. Also shows gating the Swagger UI behind a user-defined environment variable so it is served in development and QA subaccounts but excluded from the production deployment on Cloud Foundry. Second of a three-part series; the first covers the concepts and the third goes deeper into annotations.OpenAPI
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.Document extraction
Show 14 more
arjith-p-jadded to the atlas
EdoBadded to the atlas
Ganesh Ramachandranadded to the atlas
Kesavanadded to the atlas
Luís Marquesadded to the atlas
martina-sapadded to the atlas
NM Veekshith Gandhiadded to the atlas
Ogulcan Kusluogluadded to the atlas
Pavan Jayashrinathadded to the atlas
Robert Eijpeadded to the atlas
Sri Sai Lahari Gandrapuadded to the atlas
yashika-Gulatiadded to the atlas
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.Database connectors
SAP-samples/hana-developer-cli-tool-exampleprovides, serves ecosystems, domain, provides revisedIts performance analysis, privilege grants and backup and recovery commands had no capability to sit under; Database administration was added for them the same day.Native SAP HANA artifacts
Fri 23
🚀 秒速で学ぶ SAP AI Core Agent 開発 🚀 - Part 8 CloudFoundry にデプロイpublishedPart 8 of a Japanese-language series deploys the Python backend and SAPUI5 chat UI built in earlier parts to SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp: the backend's manifest.yaml declares its buildpack, memory and start command for cf push, while the UI's MTA project is built with mbt build and uploaded with cf deploy, then has its ENDPOINT constant repointed at the live API's route. It closes with adding the deployed HTML5 app to SAP Build Work Zone, standard editionSAP Build Work Zone, standard editionA role-based business site on BTP that puts SAP, custom-built and third-party applications and extensions, cloud and on premise, behind one point of access.sap official, btp through Channel Manager's content sync, Content Explorer and a new Site Directory site.Deployment
Cloud Integration with Document AIpublishedWalks through connecting Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp to SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp: an iFlow posts a prescription PDF to Document AI's job API, polls the job endpoint until it completes, and a groovy script reads back the result, keeping only the fields above a stated 60% confidence threshold. The scenario is a hospital extracting a new patient's past illnesses, allergies and blood group from uploaded prescriptions, matched against a custom extraction schema.Document extraction
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.Authentication
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.Feature toggles
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.TypeScript patterns
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.Typing
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.Database connectors
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.Async processing
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.Rate limiting
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.Telemetry
Thu 22
@mi8y/cap-agents-sdm-backendadded to the atlasDeep Agents filesystem over an SAP Document Management repositoryAgent tooling
Reports Assistant with SAP Document Managementadded to the atlasCAP agent writing reports into a shared SDM document workspace
Tue 20
What an AI infra engineer sees when opening SAP's AI stack (1/3): the model gatewaypublishedA first look at SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp's Generative AI Hub from someone who builds gateways outside SAP for a living: the orchestration service harmonizes provider calls onto one API (a model name string switches providers, and SAP Note 3437766 carries the current model list, token rates and deprecation dates), runs a fixed, non-reorderable module pipeline — templating, masking through SAP Data Privacy Integration, grounding, content filtering, then the model call — and retries down an ordered fallback list whose entries can each carry their own model and rules. It places @sap-ai-sdk/orchestration@sap-ai-sdk/orchestrationThe Orchestration Service client of SAP's AI SDK, which applies templating, grounding, filtering and masking around a model call rather than in the application.sap official, cap among the official JavaScript, Java and Python SDKs, and notes SAP's own LiteLLM provider as a way to put a different gateway in front of it.LLM integration
Kamil Kováčadded to the atlas
Mon 19
🔴 Your Agent Wants to Call SAP. Now What?publishedDevtoberfest 2026 session INT-23, on what belongs between an agent and an SAP system. A solution advisor and an enterprise architect point Joule Desktop extensions at MCP servers built on API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp inside SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp, and ask it for business partners, orders and line items from an S/4HANA demo system; asked for the ten largest customers it answers from a sample of 200 orders rather than reading the whole table. They then open the API proxy behind it, where a spike arrest policy caps the backend at ten calls per second and the MCP server is configured to expose only the GET resources of the business-partner API so that an agent cannot create one, which is where the edges to Serve your application over MCPServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design and Rate limitingRate limitingCapping how many requests a service will accept per tenant or per caller, so one consumer cannot exhaust a shared deployment, whether enforced by a policy in front of the application or inside its own process.SAP and community, unassessed hold. For totals across all sales orders they send the agent to SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp instead of the transactional system, since it aggregates and is read-only, and back through Integration Suite for writes such as journal entries.Rate limiting
🟣 Bring AI into Your ABAP Applications with ISLM: Build, Integrate, and Consume AI NativelypublishedDevtoberfest 2026 session AI-11, from the product manager and product owner of Intelligent Scenario Lifecycle Management: ISLM as the place an AI use case is registered, deployed and operated inside an SAP S/4HANA system, and what has been added to it for generative AI. The demo builds a custom scenario end to end — an intelligent scenario of type generative AI, a connection to SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, a GPT-5 mini model, an orchestration flow template that configures data masking, input and output filtering and translation into the user's logged-in language, then prompts with a grounding query over five companies' return-policy documents — and consumes it from an ABAP report through the ABAP AI SDKABAP AI SDKSAP's reuse library for calling a large language model from ABAP code, powered by Intelligent Scenario Lifecycle Management and reaching the models in the Generative AI Hub; delivered with SAP BTP ABAP environment, SAP S/4HANA Cloud Public and Private Edition and SAP S/4HANA.sap official, abap, which calls the orchestration API and returns the summary as JSON. Two newer pieces follow: SAP RPT, the relational pre-trained transformer for tabular prediction, called with context rows and query rows and answering with a confidence value and no training step; and system-triggered agents, where an application job in the ABAP system starts a billing-creation agent that reaches S/4HANA OData APIs as tools through the agent gateway with principal propagation. The closing availability matrix states the generative AI capabilities for on-premise and private cloud from the 2021 release, with SAP notes to implement on lower ones.LLM integration
🟣 Enable Your AI application to Run on Multiple Models to Ensure Resilience and CompliancepublishedDevtoberfest 2026 session AI-21. A cross product owner on the SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp team gives the reasons an AI application ends up on more than one model — a model down at the hyperscaler, a data centre that is not allowed to run it, a version being deprecated — and runs a joke app that answers from Gemini 2.5 Flash in EU10 and from Claude 4.5 Haiku in Asia-Pacific. The walk through AI Core's parts is where the edges hold: prompts kept as templates in the prompt registry, imported through the launchpad and the APIs or synced as YAML from a git repository (Prompt managementPrompt managementKeeping the prompts an application sends to a model as templates with placeholders, stored and versioned apart from the code that calls them, so a change of wording is not a deployment. What people conflate under it: the template filled at runtime, the registry it lives in, and the orchestration step that fills it.SAP only); the evaluation service scoring one prompt across up to four models per run on built-in or model-as-judge metrics, and the prompt optimizer generating variants against one metric (Agent evalsAgent evalsKnowing whether an AI feature still behaves after a model, prompt or schema change. Regression testing for non-deterministic output, against fixtures that reflect real business data.SAP and community, unassessed); and the orchestration service harmonising the providers behind one message format with a priority-sorted fallback list (LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design). The session also states where a metric has to be designed rather than picked: an exact-JSON match scores an email generator at zero, so the joke app's custom metric judges topic and family-appropriateness instead.LLM integration
Achieve Agentic Enterprise Automation with SAP Integration Suite and Joule StudiopublishedA Devtoberfest 2026 integration-track session (INT-22), the second of that week's integration sessions, given by an SAP product expert for process automation and integration together with the product manager for Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella, who walks the audience through it. The opening states the subject: process management, automation and orchestration unified into one combined approach, which the presenters put forward as the foundation for building custom AI agents.Agent tooling
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@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap registered: without it the agent answers CAP's semantic search with an outdated vector type and CQL, with its documentation search it writes the built-in vector embedding function and a working similarity query. The second installs the cap-developer plugin from capire/skillscapire/skillsSAP's own skill set for coding agents working on CAP — cap-developer, cap-add-remote-service, cap-upgrade and cap-trivia, each a SKILL.md with references beside it.sap official, cap, from a Devtoberfest preview branch, and runs its guided-development skill stage by stage — domain model, sample data, services, constraints — each stage reviewed before the next.Agent access to your code
AI-assisted SAP development with MCPpublishedA Devtoberfest 2026 session (UI-41) that traces AI-assisted SAP development from pasting code into a chat window to coding agents with built-in connectors, and sorts the MCP servers around SAP development into SAP's own, the community's and the hosted ones, where the agent cannot change what the server allows. Four demos follow: GitHub Copilot alone explaining an ABAP report from a Git repository, @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5 reading an OpenUI5 sample app and converting it to TypeScript, mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap grounding Terraform files for a BTP subaccount the presenter had not written before, and arc-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap with Copilot in Eclipse tracing why a title longer than 40 characters is rejected and proposing the DDIC-allowed length instead. It ends on a skill that migrates an SAP Gateway project on an ECC system to RAP on S/4HANA step by step, and on a rule Marian ZeisMarian Zeismaintains 35 entries, created 25 pieces, contributed to 86 entries gives for servers written for internal use: keep them read-only, because what the agent is short of is context.Agent access to your code
Be the First to Understand Joule Work's Agentic ThinkingpublishedA Devtoberfest 2026 session on the agent harness behind agentic thinking in Joule WorkJoule WorkSAP’s workspace where people express a goal, work with the results in contextual Spaces and direct Joule Assistants and Joule Agents across SAP and third-party systems.sap official, umbrella: generic operating-system tools in a gVisor-isolated sandbox instead of hand-wired domain functions, a react loop, a warm pool of sandboxes torn down after each task, tenant-separated skill loading, and placeholder tokens the agent never sees swapped for real credentials at the egress path. A skill is a folder with a SKILL.md carrying metadata and instructions, and where it reaches a system, an SAP connectivity JSON that declares each connector by ORD ID with its guardrails — GET allowed by default, POST, PUT, PATCH and DELETE requiring human approval, everything else blocked. The demo uploads a cost-centre skill through the skills view, then has agentic thinking delegate over A2A through Agent Gateway to a custom agent built in Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella, whose MCP tools read cost centres from an S/4HANA Cloud system, and ends by turning the result into a PDF; the Joule Studio trace is what shows the tool call actually happened.Agent tooling
Beyond copilots: Agentic development with SAPUI5publishedDevtoberfest 2026 session UI-12, from the SAPUI5 team, on the year of work behind UI5/plugins-coding-agentsUI5/plugins-coding-agentsUI5's own plugins for coding agents, three of them: everyday development, modernising a legacy project, and converting one to TypeScript, each installed into Claude Code or GitHub Copilot.sap official, ui5: what a model produces for UI5 without help — outdated concepts, framework versions a decade old, generic JavaScript rules, code that does not run — and the two ways they chose to close that gap, an MCP server in September 2025 and skills packaged as plugins once agents began reading them. Three plugins are demonstrated live in Claude Code: the everyday one scaffolds an Oktoberfest tents application in about four minutes, the TypeScript conversion plugin rewrites an existing JavaScript project and reconfigures its build with the types and the transpile task, and the modernisation plugin takes a ten-year-old application through staged migrations, applying UI5 Linter's automatic fixes where they cannot break the app and the model where they can, then running the tests. @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5 is still the path for the parts that need a server, and the plugins are installed from the Claude Code and GitHub Copilot marketplaces rather than a UI5-hosted one.Agent guidance
Bridging Python and SAP HANA: Inside the sqlalchemy-hana Open-Source DialectpublishedA Devtoberfest 2026 data-track session (DAT-21) in which one of the maintainers of sqlalchemy-hana, the open-source SQLAlchemy dialect published in SAP's GitHub organisation, opens up what sits between Python and SAP HANASAP HANASAP’s relational database platform, which stores application data and executes SQL and SQLScript in the database, available on-premise and as the managed service SAP HANA Cloud.sap official, btp. It walks the five dialect classes that render statements, types, DDL, identifiers and sequences, and the HANA specifics they absorb: the FROM DUMMY a bare SELECT needs, a limit injected when only an offset is given, string compiled to NVARCHAR, and quoted case-sensitive identifiers against Python's lowercase. The rest covers schema migrations with Alembic on HANA's transactional DDL, the recently added async support and vector types, and that HANA Cloud and HANA 2 are supported while HANA 1 is not.Database connectors
Bring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentspublishedDevtoberfest 2026 session FA-11: a tour of the rebuilt developers.sap.com by the team that runs it, from the administration screens behind the home page to the agent interfaces in front of it. The site is a CAP application on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp and SAP BTP, open-sourced in full, and the half of the session that places it here is how its content reaches an agent: every tutorial is also served as markdown, a coding agent is detected and given that version instead of the HTML, a well-known agent card advertises what the site offers, and SAP Developers MCPSAP Developers MCPThe hosted MCP server of developers.sap.com, over which an agent searches SAP's tutorials, reads missions and queries the site's knowledge graph of tutorials and concepts.sap official, umbrella answers questions about tutorials, news and a reader's own completion history in Claude Code and Joule Desktop, over OAuth or a personal access token. Behind the answers sit two things working together: a knowledge graph in the HANA database over 1400 tutorials and 11,000 concepts, and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp for the Joule interactions and the embeddings, with the agent harness written for the site rather than taken off a shelf. Where neither MCP nor A2A is available, the same content is published as skills.Agent guidance
Building Agentic Workflows with n8n in Joule StudiopublishedA Devtoberfest 2026 session, JS-31, on SAP-managed n8n inside Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella, shown as a labs preview on a blocked-invoice scenario: a solution made of assets, an intent refined by the web agent into requirements and then a specification, and the generated workflow opened in the n8n editor that Joule Studio connects to its own n8n tenant, with the generated files committed through GitHub. The nodes carry the other edges — the human-in-the-loop node is built on SAP Task CenterSAP Task CenterOne inbox across SAP applications: tasks from S/4HANA, SuccessFactors, Ariba and BTP workflows in one list, with a public API for a custom task provider.sap official, btp, and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp is where model providers are configured centrally instead of per developer. It ends in Joule chat, where the approval task the workflow created is listed, opened and completed.Agent tooling
Building Code-Based AI Agents on the BAIPpublishedA Devtoberfest 2026 session on writing the agent yourself rather than configuring one, which is the agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed edge: an agent is a model with tools, skills, memory and context around it, and the session reads the code of one built in CAP as a LangGraph state graph, with an agent node that calls the model, a tools node holding the MCP clients, and the edge between them looping until no tool is needed. It then shows the shorter route, a CDS service annotated for the agent protocol with its instructions and skills in an agent.md file. SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp carries both, with the CAP service in front of it as middleware so the credentials never reach the browser, and that is what cap-agent-ui5-webuicap-agent-ui5-webuiGives a CAP agent a UI5 web interface out of the box, so an agent built in the service has somewhere to be talked to without a separate frontend project.independent, cap is demonstrated against: added as a dependency, it gives the annotated service a UI5 chat interface that can be deployed rather than only previewed. A Python multi-agent application on Cloud Foundry, where an orchestrator delegates to per-stack specialists so no single model sees every tool, closes the session.Agent tooling
Building your knowledge graph on SAP HANA CloudpublishedDevtoberfest 2026 session DAT-11, in which two enterprise architects explain what a knowledge graph is and then build one on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp. The first half sets the join across three relational tables against an ontology of classes and predicates, the subject-predicate-object triple written as a turtle file, and a SPARQL query over it, and argues that the chain of relationships is what makes a recommendation traceable back to its reasons. The demo, taken from a Discovery Center mission, curates the ontology and the RDF files for an accounts receivable scenario in VS Code, ingests the triples into HANA Cloud with SQL and walks the resulting graph outward from a customer; that is the graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only edge. It closes by separating three things that share the name: the HANA Cloud knowledge graph engine, SAP Knowledge Graph as the data, and the knowledge graph in SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp.Database connectors
CAP-level Data FederationpublishedA Devtoberfest 2026 session (CAP-31) on letting one CAP application read another's data as if it were local. The modelling half is the same for both answers, which is why the two technical edges hold: the provider defines an API service and exports it with CDS export as an npm package carrying the model, mock data and translated texts, the consumer imports it and puts consumption views on top, and only then is it wired either as service-level replication that copies the rows into local tables each time the server starts, or over the SAP HANA synonyms that cds-federation-synonymscds-federation-synonymsAn experimental CAP plugin for CAP-to-CAP data federation over SAP HANA synonyms, so one project reads another's tables without the rows being copied.sap official, cap generates, with HDI grants on the provider side and a service replacement that redirects each synonym from its mock table to the provider's container. It is worked through on xflightsxflightsA reuse package serving master-data entities (Airlines, Airports and Flights) as a service that other CAP applications compose into their own data model.sap official, cap and xtravelsxtravelsA travel-booking application built on the master data that xflights publishes, composing another package's schema into its own rather than owning master data itself.sap official, cap, including the local run where CDS watch mocks the imported service from the CSV files inside the package.Data federation
CAP: The Road Ahead - Simplicity in an AI ErapublishedDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai@cap-js/aiOut-of-the-box value-help recommendations powered by SAP RPT-1, SAP AI Core as a standard CAP service, and an experimental local embedding model behind SQLite's vector functions.sap official, cap is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP serverServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design that a second Claude session queries through @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.Configuration
Combining AI Agents with the power of SAP HANA embedded ML (part 1)publishedDevtoberfest 2026 session DAT-12, the first of two parts, in which Vitaliy RudnytskiyVitaliy Rudnytskiygave 1 talk, contributed to 6 entries does a data scientist's work against the embedded machine learning of SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp by talking to an agent. The session first takes an agent apart into its LLM, its tools, its memory and the loop between them, then stacks the Predictive Analysis Library under the hana-ml Python wrapper and that under the HANA AI toolkit, whose tools an agent calls from plain English in a notebook to preview a sales refunds table, split it into train and predict tables, run a time-series check and train an AutoML forecast, keeping what it decided in Markdown memory files. That is the agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed edge; the same toolkit is then started as an MCP server over stdio and over streamable HTTP and reached from a coding agent and from Joule Work's desktop, which is where the live demo partly fails and the failure is shown.Database connectors
Custom Business Logic Extensibility in CAP (CDS-Oyster)publishedA Devtoberfest 2026 session walking @sap/cds-oyster@sap/cds-oysterRuns tenant-specific extension code inside a WebAssembly sandbox, so a SaaS application can accept custom logic from a customer without running it unguarded.sap official, cap — at version 0.55, with 1.0 stated for Q4 — end to end on a multitenant xtravelsxtravelsA travel-booking application built on the master data that xflights publishes, composing another package's schema into its own rather than owning master data itself.sap official, cap, from the application developer's side and the extension developer's side. The application developer adds a submit-for-review action to the status flow and opens exactly one surface for custom code: a separate extension service marked as extensible code, holding a no-op validate action and two read-only helper entities, which the host application calls before the status change; nothing else is extensible, because the annotation defaults to false. The extension developer works in a project whose base model came from cds pull, with test data, a server.js and types from @cap-js/cds-typer@cap-js/cds-typerGenerates TypeScript types from a CDS model.sap official, cap added so the UI and code completion work, debugs the handler locally and pushes it as an @sap/cds-mtxs@sap/cds-mtxsMultitenancy, tenant provisioning and model extensibility for CAP.sap official, cap extension, after which the next request rejects a travel over the policy limit without a restart — the code having been stored as an annotation in the tenant's model and run in a Rust WebAssembly sandbox with no database connection, whose queries go back to the CAP runtime as CQL strings, which is tenant extensibilityTenant extensibilityLetting a customer extend the model of a running SaaS application with extra fields and entities per tenant, without forking the application, as distinct from extending the application's code for every customer at once.SAP and community, unassessed extended from fields to logic.Multitenancy
DRY CAP – Making Sustainable Solutions Through PluginspublishedA Devtoberfest 2026 building-apps session on packaging the things you would otherwise write twice, from in-house API clients and shared data models to validation logic, as a CAP plugin. The presenter builds one live: a cds-plugin.js next to package.json is what makes CAP notice the plugin at all, an index.cds carries a reusable user context and service that the consuming application projects into its own and protects there, and the plugin registers an Express middleware at a chosen step of the bootstrap to put user properties on the request. A feature-flagging plugin his team already uses closes it, and the whole walkthrough is the edge to Plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only.Plugin authoring
Event Add-On for ERP: All you need to know about the new Event StudiopublishedA Devtoberfest 2026 integration-track session (INT-43) on Event Studio, the browser-based part of the Event Add-On for ERP that defines events in an S/4HANA or ECC backend without code and sends them to a broker. A custom sales-order event is built live — fields picked into a payload that is published as a CDS view entity, a trigger on a classic business object, a static topic — and arrives in a queue on SAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp, which is where the Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design edge holds. The rest of the demo covers health and exception monitoring in SAP Cloud ALM, the AsyncAPI definition replicated to Event Portal, and the AI assistant and MCP server now inside Event Studio.Event Mesh
From Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPpublishedA Devtoberfest 2026 session walking live through a sales workbench that turns an incoming customer e-mail into a quotation in S/4HANA, built as a React UI on CAP. It shows the filterable request inbox, the extracted configuration properties with a confidence indicator per characteristic, the variant configurator rendered in React from a JSON schema the configuration service returns, and the link from a derived value back to the place in the e-mail it was read from; the stated reason for the stack is that CAP keeps authentication, destinations and deployment the same in every project, which is where frontend boundaryFrontend boundaryConnecting a separately hosted frontend to an application service: authentication, routing, access to backend systems, user identity propagation and tenant isolation across the hosting boundary.SAP only holds. The inbox grows while a user works because a CAP WebSocket plugin pushes new requests into the list — WebSocketWebSocketPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.Community only.Frontend boundary
From Intent to Arcade: Building Joule*Bert with Joule Studio and AI-Assisted Pro CodepublishedA Devtoberfest 2026 AI-track session that takes a Q*bert-style arcade game, written as an Easter egg for colleagues, through every phase Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella runs: intent analysis with its clarifying questions, a product requirements document, a specification with its task list, generated code, generated tests and deployment. The knowledge-graph lookup reports that the game maps to no enterprise process and the flow adjusts, and the presenter edits the requirements by hand when the first version declares sound out of scope. He then pushes the project to GitHub, clones it and initialises the jl command line@sap/joule-work-dev-cli-early-adoptersjl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btp so that Joule Studio's MCP servers are wired into the coding agent in VS Code, where mobile arrow keys were added afterwards; applications could not yet be deployed to the Joule Studio runtime, so this one runs on Kyma.Agent tooling
How to implement business AI capabilities in ABAP CloudpublishedA Devtoberfest 2026 session (ABA-32) on embedding AI in an ABAP Cloud application and on making SAP Joule aware of what that application can do. The first demo implements two features of a RAP travel app with the ABAP AI SDKABAP AI SDKSAP's reuse library for calling a large language model from ABAP code, powered by Intelligent Scenario Lifecycle Management and reaching the models in the Generative AI Hub; delivered with SAP BTP ABAP environment, SAP S/4HANA Cloud Public and Private Edition and SAP S/4HANA.sap official, abap: a determination on an uploaded receipt that sends the image together with the allowed categories and transaction types to a model reached through an intelligent scenario, then writes the extracted description, category, currency and amount back to the expense entity; and a recommendation function, triggered by a side effect on the trip title, that proposes a trip type with a score the Fiori UI sorts the proposals by and leaves the business user to accept — which is LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design from ABAP code. The second demo builds a capability for SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp in the Joule Studio code editor in VS Code, with a scenario that extracts a trip title from the user's intent and calls an OData service in the ABAP backend through a BTP destination, deploys it and asks the Joule test UI for the trip's details; the session states that agents reach ABAP only over governed remote APIs — OData, SQL and MCP — and that automatic grounding of custom OData services in the knowledge graph is upcoming rather than available.LLM integration
IntegrAItion: Event-Driven IntelligencepublishedA Devtoberfest 2026 session, INT-33, whose line is that agents fail because they are not informed enough rather than not clever enough, and that events are how they get informed: what an event is, the source-broker-consumer split, notification against data events, and topic filtering as the thing that decides which agents are woken at all and what that costs in tokens. It covers Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design as the concern — topics, subscriptions, filters and queues — and SAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp as the product, down to its event portal and catalogue, the mesh and cluster managers and distributed tracing. The closing demo sends an S/4HANA product-defect event through the mesh to wake an agent in Joule Studio, which fetches what it still needs over MCP and reports to a person the next morning.Event Mesh
Intelligent App Development at Scale: SAP Fiori Elements + ABAP Development Tools for VS CodepublishedA Devtoberfest 2026 session (UI-33) that builds a RAP service and the SAP Fiori elements app over it from one VS Code workspace, with a coding agent driving two of SAP's MCP servers. The ABAP Development Tools for VS CodeABAP Development Tools for VS CodeSAP's ABAP tools in VS Code: editing, debugging, ABAP Unit, ATC and transports for classes, CDS and RAP objects, over RFC to an on-premise or Private Cloud system and HTTP to a cloud one, with Joule's ADT MCP server and code completion behind an AI-unit licence.sap official, abap edges hold on the demo itself: its virtual file system keeps the ABAP package beside the Fiori project, the ADT MCP ServerADT MCP ServerSAP's own ADT MCP server, and not a package: a preference inside ABAP Development Tools for VS Code that starts a local HTTP MCP server on a port you choose.sap official, abap inside it creates, changes and activates the ABAP objects, and a version not yet released publishes the service binding from the agent instead of by hand. The @sap-ux/fiori-mcp-server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5 edge covers its generators and the three-step workflow it uses for changes — list the functionality available for the application, ask for its JSON schema, then execute it — and the agent guidanceAgent guidancePackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from agent access to your code, where the agent reads the real project instead of being handed a file about it.SAP and community, core adopted it edge rests on the skills the Fiori team publishes beside it, on the session's account of what a skill adds that a server does not, and on the analytical chart demo where a skill orchestrates both servers in one task.Agent access to your code
MCP Gateway in Practice: Architecture, configuration, and hands-onpublishedA Devtoberfest 2026 integration-track session (INT-21) on the MCP gateway of SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp: curated enterprise APIs served to agents as MCP tools over JSON-RPC, behind the authentication, authorization and traffic policies an API artifact already carries, with the existing API layer left in place. The hands-on half composes S/4HANA plant, material-stock and supplier data with a non-SAP location-risk source into one business data graph, downloads its OpenAPI specification, creates an MCP server artifact with tools, prompts and a surge-protection policy over that endpoint, and publishes it as a product in Developer Hub of API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp, where an agent developer subscribes and gets OAuth credentials. An MCP client then asks for 15 brake pads and ranks plants by stock, location risk and distance from Walldorf, which is what the agent access to your systemsAgent access to your systemsGiving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. Serving your application over MCP exposes your own service contract; system access reaches the systems behind it, and one implementation may do both. Development assistance belongs to agent access to your code.SAP and community, narrow by design edge rests on; the Q&A covers principal propagation to the backend, how errors reach the model, and which Integration Suite editions carry the gateway.Rate limiting
Meet Joule Studio and Build your First AI AgentpublishedA Devtoberfest 2026 session from the product manager of Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella, walking one agent through the whole path the tool defines: an intent, the problem statement and goals a coding agent derives from it, the business context it takes from the SAP knowledge graph, and the solution type it proposes with a stated intent fit. The demo is a collections agent that drafts dunning emails: the product requirements document names the metrics and the human-in-the-loop review, the technical specification lists the artifacts to build — the MCP tools among them — and the build is followed by a business test run against business partner 10001, technical unit tests, and deployment to the managed runtime, where the agent and its MCP server appear as deployed assets. Two points shape how it is used rather than what it produces: every asset is a file, editable in the web editor or in the code view and pushable to git, and the same solution can be built from local pro-code tools; n8n workflows are stated as delivered out of the box inside the studio.Agent tooling
Powering Enterprise-Ready Agentic AI with SAP Integration SuitepublishedA Devtoberfest 2026 session (INT-31) from SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp product management on the MCP gateway. The demo creates an MCP server in a design package from an API already deployed on the tenant, exposes two of its 300-odd resources as tools, attaches authentication and quota policies on a policies tab, and publishes the deployed endpoint as an AI product in Developer Hub of API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp, where an agent subscribes and receives a token, URL, key and secret; the calls then show up in monitoring, in message processing logs and in the analytics dashboard, which is the MCP exposureServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design and the tool governanceTool governanceControlling what an agent may call, with which authorisations, and leaving an audit trail of what it did. The authorisation question that MCP exposure raises but does not answer.SAP and community, unassessed the edges rest on. Three AI features inside Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp follow: a content migration agent that converts a PI/PO Java mapping into a Groovy script and generates a second integration flow for its lookup, memory profiling during a flow simulation, and root-cause analysis on a failed message processing log.Rate limiting
Real Pro-Code Development with Joule StudiopublishedA Devtoberfest 2026 AI-track session that runs one agent build across both of Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella's paths. Playing a procurement manager, one presenter states the intent in the browser, answers the clarifying questions, watches the fit-gap analysis name the S/4HANA APIs the use case needs, and pushes the intent and requirements document to GitHub; the other clones it and carries on in a terminal, logging in with the jl command line@sap/joule-work-dev-cli-early-adoptersjl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btp against her landscape URL and running its init command to fetch Joule Studio's skills for OpenCode. From there the coding agent writes the specification, the discovered API specifications, the MCP translation and the agent's Python file with its model configuration and evaluation scenarios, which is the edge to Agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed; the skills themselves, which SAP says not to edit but which a developer may add to, are the edge to Agent guidanceAgent guidancePackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from agent access to your code, where the agent reads the real project instead of being handed a file about it.SAP and community, core adopted it.Agent tooling
SAP BDC and AI: A Perfect MatchpublishedA Devtoberfest 2026 data-track session (DAT-22) in which Business Data Cloud's CTO sets out how SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp feeds SAP's business AI platform: data products whose primary persistence is an object store and whose semantics are kept with them, the one domain model that links a supplier in Ariba to a supplier in S/4HANA, and the SAP knowledge graph, a triple store running in SAP HANA Cloud and queried with SPARQL, that SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp consults before answering. The live demo asks Joule for the available data products and the top ten open purchase orders, with the data product query agent compiling SQL over virtual tables and a space rendering a dashboard, which is the cataloguing side of this: a central registry, the Unified Customer Landscape, that every activated data product is registered in. The Q&A covers where the knowledge graph lives and what a customer may extend, base policies that turn into filter conditions on an agent's queries, and Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella as the place to build your own agents and data products.Agent tooling
SAP BDC in Business AI Platform: Contextualize and ReasonpublishedA Devtoberfest 2026 session (DAT-31) that places SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp as the contextualise-and-reason pillar of the SAP Business AI Platform, between the build pillar of Joule Studio and Integration Suite and the govern pillar of AI Agent Hub. It covers data products described with open resource discovery and core schema notation metadata, a data product creation agent that assembles a derived data product for overdue billing documents from the billing document and customer products and shows its lineage and fields; the data products a line-of-business application brings being readable by Joule without a BDC subscription; and the SAP-managed knowledge graph that maps business entities and their relationships for agents, held as graph dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only in the SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp knowledge graph engine as RDF triples queried with SPARQL. The closing demo has SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp answer head-count and purchase-order questions, with the generated SQL passed through a data product query that adds the restriction policy defined for that user in cloud identity services, which is why the session stands for cataloguing and lineageCataloguing and lineageFinding what data exists across the estate and what it promises — catalogs and data products, the contract a consumer can rely on, where a field came from, and what a column actually contains once you profile it. The question asked before modelling starts and again when somebody asks where a number came from.SAP and community, unassessed as much as for the products it names.Database connectors
SAP HANA Data Lake Files (HDLF) Basic FunctionalitiespublishedA Devtoberfest 2026 data-track session on SAP HANA data lake files, the managed object store inside SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp that is provisioned from HANA Cloud Central, priced per API call and per stored gigabyte, and reached with the same REST API whichever hyperscaler it runs on. Two product managers set up an instance with its IP allow list, client certificates and trusts, then upload, list, read and delete files over the WebHDFS REST API and the HDLFS command-line utility — the Object storageObject storageStoring application files as objects in a bucket or container backed by a cloud storage service. Connecting a file to a business record is the separate Attachments concern.SAP only half — and cover file versions with snapshots, access policies per file, and chunked upload with a server-side merge. They then link the instance to a HANA database and query a CSV file as a virtual table: SQL on files now runs through a file adapter in the database, while the older path through the data lake relational engine is deprecated.Database connectors
SAP Meets the Agentic Web: CAP MCP - UI5 WebMCPpublishedA Devtoberfest 2026 session (CAP-42) that puts MCP and WebMCP side by side: MCP exposes a backend to an agent, WebMCP exposes the tools of a web page to whatever agent arrives at it, and only Chrome behind a flag and Cloudflare's Kite browser support the second one today. The CAP half starts with two agents scraping a Fiori elements app with PlaywrightPlaywrightA library that drives Chromium, Firefox and WebKit from code, written for end-to-end browser testing. For the things here it is the browser a tool starts itself, to get through an SAP login or to load a page headless and photograph it. and browser dev tools, then annotates the catalogue service with the MCP protocol through @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, after which the agent calls the generated describe tool instead of parsing pages. The UI5 half registers a search-authors tool on the browser's model context API inside the same app, with the cross-origin isolation header the API requires, and lists it through the WebMCP Chrome extension — the agent run against it ends on an exhausted Gemini key rather than a result.Serve your application over MCP
Supply Chain Rescueadded to the atlasCAP and SAPUI5 demo of recovery from a supply disruption
The ECC-to-CAP Starter KitpublishedA Devtoberfest 2026 session that builds a CAP service and a Fiori elements list report over an SAP ECC gateway service, on the argument that the CAP project, its contract and its UI survive a later move to SAP S/4HANA while the APIs behind them change. The service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design edge is the body of the demo: the metadata of the ECC flight service is saved as an EDMX file, imported with cds import so the model holds the structure and none of the data, projected read-only into a flight service, and one line of handler code forwards each read to ECC, with filtering, sorting and paging translated down to the older OData version the system speaks. The SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp edge covers the on-premise destination and the additional properties the walkthrough insists on, and the SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp edge covers the full-stack dev space, the CAP project wizard, the service center plugin for picking up another OData service, and cds watch run under the profile that uses those credentials.Service integration
Unlocking Tabular Foundation Models: From Experimentation to ProductionpublishedA Devtoberfest 2026 session (AI-41) on taking tabular prediction from a playground to a deployment. It sets tabular foundation models against a model trained per use case and against language models reading rows as text, explains in-context learning as examples plus the rows whose target column is missing, and tries SAP RPT 1.6 on a train-delay dataset in the RPT playground, including the column and row importance it returns with the prediction. The same prediction is then rebuilt on SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, where the tabular orchestration service plays the part the orchestration service plays for language models: a data destination, a table artifact with its CSN schema and a scenario configuration registered once at design time, after which a predict call passes only the query rows, the scenario configuration and a context-selection strategy. The last demo runs those same calls in natural language through the aicore-skillsaicore-skillsFour agent skills for SAP AI Core, published as a plugin inside SAP's AI Skills Library: admin resources, the deployment lifecycle, the foundation models in the Generative AI Hub, and the Context Registry behind tabular prediction.sap official, btp plugin in a coding agent, and one of them only resolves once the agent is told which scenario configuration to use.LLM integration
What's in Daniel Hutzel's brain?publishedA Devtoberfest 2026 session in the building-apps track, in which Daniel HutzelDaniel Hutzelgave 3 talks, contributed to 32 entriessap official and DJ AdamsDJ Adamscreated 22 pieces, contributed to 20 entriessap official work through what the CAP team is building for agents. A bookshop gets an MCP endpoint beside its OData one from a single annotation, with the plugin writing the coding agent's configuration itself; in the xt-travels sample five services that know nothing about each other are served over MCP and an agent does the orchestration the hand-built UI and its value helps used to do. Hutzel then annotates a service as an agent so the ReAct loop and the choice of model move into the CAP service, and finally drops MCP for a skill that teaches the agent CQL instead, which is where the edges to Serve your application over MCPServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design, Agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed and Agent guidanceAgent guidancePackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from agent access to your code, where the agent reads the real project instead of being handed a file about it.SAP and community, core adopted it come from. The mechanism under all of it, a plugin file in the package root and event handlers that can be added to any CAP service, is the edge to Plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only.Serve your application over MCP
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.Authentication
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.Destinations
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.Editor support
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.Input validation
Integrated frontend dev serverecosystems revisedThe UI5 dev middlewares staged in intake-20261019-bestofui5 that forward the app's backend paths (ui5-middleware-route-proxy, ui5-middleware-destination) could only be placed under ui5-build-tooling, whose own boundary leaves proxying to a backend to middlewares. The two facets stay on CAP, where they were asked. The UI5 reading comes from the UI5 CLI Server page and SAP's backend-proxy-middleware README.Integrated frontend dev server
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.Linting
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.Logging
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.Agent guidance
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.Seed data
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.Agent guidance