NewSAP Cloud Application Programming Model

Today
64 changes
audit-summaryadded to the atlasGroups npm audit findings by root dependency, with failing thresholdsCLI,
enforce-export-coverageadded to the atlasStatic check that each exported TypeScript function has a testCLI,
git-env-branchesadded to the atlasShows which feature branches reached which environment branchCLI,
Give Your AI Agent Some Tools: Introducing the UI5 MCP ServerpublishedAnnounces @ui5/mcp-server, SAP's open-source MCP server for UI5 development, and walks through its initial six tools. get_project_info, get_api_reference and run_ui5_linter (which applies UI5 linter fixes) read the project's own version, manifest and code rather than an LLM's training data, which is what agent access to your code explains. create_ui5_app scaffolds a new JavaScript or TypeScript project, standalone or inside an existing CAP application, from templates with pre-configured OData model setups, which is generators.Blog,
Show 60 more
hana-linteradded to the atlasRegex naming rules for SAP HANA artifacts in a CAP projectCLI,
Joule Studioがリリースされたので早速CAPアプリを自然言語で操作するカスタムスキルを構築してみたpublishedA walkthrough of building a custom Joule Studio skill on a CAP bookshop app: cds add sample and cds add mta scaffold the project and its deployment descriptor, cds compile srv/ --to xsuaa generates the role template behind the @requires: 'admin' check on AdminService from the SAP Authorization and Trust Management service (XSUAA), and mbt build packages the app for deployment to the SAP BTP, Cloud Foundry Runtime. The skill reaches the deployed OData API through the SAP Destination service, configured with the OAuth2 Client Credentials grant using the client ID, secret and token endpoint from the app's XSUAA service key, so Joule answers a natural-language question about a book by its ID.Blog,
My CAP Projects ToolboxpublishedA working inventory of daily CAP tooling: scaffolding a project with cds init and growing it facet by facet through cds add (TypeScript, seed data, an .http test file, a handler stub), then running it with cds watch and setting a breakpoint in a custom handler from SAP Business Application Studio's JavaScript Debug Terminal. It also walks through an @open entity that accepts properties the model never declared, and reading temporal data defined with CAP's temporal aspect, where a plain read returns only what is valid now and a custom handler is needed to retrieve every time slice.Blog,
SAP Fiori Application Generator Available in Open SourcepublishedThe SAP Fiori tools team announces that the code behind @sap/generator-fiori has moved entirely to open source, and names the packages it is built from: writers that output SAP Fiori elements and freestyle SAPUI5 application files, inquirer prompts for picking a back end, and ABAP deploy tasks, coordinated by a sub-generator. Before publishing, the team broke up what had been a monolith, added TypeScript typings and raised test coverage.Blog,
UI5 MCP Server Got Extended for UI Integration Cards GenerationpublishedVersion 0.2.1 of the UI5 MCP Server adds three tools for UI Integration Cards: get_integration_cards_guidelines feeds an agent current best practices and API versions, create_integration_card scaffolds a new card project, and run_manifest_validation checks the generated manifest against the schema. The post frames these as closing the same gaps as the server's existing tools — an LLM's outdated or wrong card API knowledge — this time for scaffolding and validating a card rather than a full app.Blog,
Robin van het Hofadded to the atlasPerson,
Agent access to your codecoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the tool count and the two absence claims about who has built something.Capability,
Agent evalscore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): albertmink-agentic-abap-evals, an independent set of ABAP tasks and a grader for coding agents, was entered after the block was written; the count is dropped and the second kind named. State unchanged.Capability,
Agent guidancecoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): docs/WRITING.md §3 rules out provider counts and absence claims in every capability field.Capability,
Agent toolingcore coverage, coverage by flavor, coverage by ecosystem revisedReassessed against the graph (check:capabilities): sap-joule-studio and sap-joule, both sap-official, now provide this capability behind the BTP door, so the note's claim about every entry no longer held. The state stays core-only: no provider of another origin counts for the door.Capability,
App hostingcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the absence claim about ui5 artifacts.Capability,
Attachmentscoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): drops a count-like contrast with a plugin the flavor does not have.Capability,
Audit loggingcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note counted providers, said every provider is a service although a SAP-published practice for HANA audit policies now sits behind the door, and carried a typo. The state stays core-only: that practice is sap-official and no provider of another origin counts for the door.Capability,
Authenticationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): no community artifact on the UI5 door provides this capability by an edge; the middlewares the text named provide ui5-build-tooling, and the only sample on the door is not a presence. what_core_does stays, so the core remains present.Capability,
Authorizationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note claimed every provider behind the door is an SAP service, a statement about the corpus that goes stale, and did not name the fresh btp-oauth provider. Coverage state unchanged: only SAP-official services count behind this door.Capability,
Change promotioncore coverage, id, ecosystems, name revisedPublic feedback issue #9. The ABAP name is kept in framing_by_ecosystem.abap; the default name and description now state the cross-door concern.Capability,
Change trackingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): removed a count, and linked the entry the graph holds instead of its repository.Capability,
Concurrency controlcore coverage revisedReassessed against the graph (check:capabilities): states what the community provider adds beyond the ETag.Capability,
Configurationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): config-management arrived as a provider after the block was last looked at; the state stays core-and-community.Capability,
Data modellingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): independent ABAP providers (CDS Analyser, CDS field mapping, acds) now provide this capability on the ABAP door.Capability,
Database connectorscoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note counted one entry behind the door; it now names the driver and SAP HANA, which now provides the capability on this door. State unchanged.Capability,
Debuggingcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): seven ABAP providers newer than the block were never named. State stays core-and-community.Capability,
Deploymentcoverage by ecosystem revisedReassessed against the graph (check:capabilities): SAP's BTP services now provide this capability behind the door, so the note's count-like absence of providers no longer holds. The state stays core-only: the providers are SAP-official and none comes from the community.Capability,
Destinationscoverage by ecosystem revisedReassessed against the graph (check:capabilities): the entry is in the graph, so the name links to it and not to its repository (WRITING section 3.6).Capability,
Document extractioncoverage by ecosystem revisedReassessed against the graph (check:capabilities): removed the provider-count and absence claims (docs/WRITING.md §3); the states are unchanged.Capability,
Document outputcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the service is a provider on this door and the text named it without the link. Wording otherwise unchanged; the state stays core-only.Capability,
Documentationcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): absence claims about providers go stale as providers arrive. The flavor states are unchanged.Capability,
Editor supportcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the providers behind the UI5 door are SAP's (UI5 Language Assistant, and SAP Build Code and SAP Web IDE Full-Stack, which serve ui5). The community SAPUI5 Extension is an entry in the graph but has no provides edge to this capability.Capability,
Error handlingcoverage by ecosystem revisedReassessed against the graph (check:capabilities): brandeis-consulting-abap-prc arrived after the block was last looked at, and the block named no community kinds.Capability,
Event Meshcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note made a claim about every provider and named none, and the SAP services that arrived since the block was assessed (Advanced Event Mesh, the Integration Suite event broker, Cloud Application Event Hub) shape the answer. The state stays core-only, since every provider counting for the door is sap-official.Capability,
Frontend boundarycore coverage revisedReassessed against the graph (check:capabilities): both providers of this capability are sap-official, so no artifact of another origin is present behind the door; the schema allows relationship only on a core-and-community block.Capability,
Generatorscore coverage, coverage by ecosystem, framing by ecosystem revisedReassessed against the graph (check:capabilities): the atlas holds these entries, so the links point at them and not at their repositories (docs/WRITING.md section 4).Capability,
Health checkscore coverage revisedReassessed against the graph (check:capabilities): the only provider behind the CAP door is the runtime core @sap/cds, so no provider of another origin counts for the door. The state follows the providers; the block's prose already names no community answer.Capability,
Importing and exporting table datacore coverage revisedReassessed against the graph (check:capabilities): the count of sample repositories goes stale as providers arrive, and the ABAP backend importer and the Excel add-in change the shape of the answer, so the note names those kinds. The ABAP state stays core-and-community.Capability,
Input validationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact carries a provides edge to this capability for the UI5 door, because openui5-validator provides ui5-data-binding. The state follows the edges, and the core stays present through the block's sourced what_core_does.Capability,
Integrated frontend dev servercoverage by ecosystem revisedReassessed against the graph (check:capabilities): the only provider of the capability that counts is cds-plugin-ui5, which sits on the CAP door and does not serve the UI5 door, so no provider of another origin counts there. The core stays present on the sourced what_core_does. The middlewares the removed sentence named are not providers of this capability.Capability,
Knowing the maintenance status of a releasecore coverage, coverage by ecosystem revisedui5-task-check-eocp, from public feedback issue #6, is the first independent provider on the UI5 door, beside SAP's SAPUI5 version overview.Capability,
LLM integrationcoverage by ecosystem, core coverage, coverage by flavor revisedReassessed against the graph (check:capabilities): the note claimed who provides the capability behind this flavor, which moves with the corpus. The flavor state is unchanged.Capability,
Local developmentcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted providers and claimed an absence about who has built something, which goes stale as providers arrive.Capability,
Localizationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): providers arrived after the block was last looked at, an XLIFF editor and an MCP server among them, and the text named none of the kinds.Capability,
Loggingcoverage by ecosystem revisedReassessed against the graph (check:capabilities): the state is now community-only and the block needed to say what the community adds.Capability,
Model visualisationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): abapGraph and abap-search-tools-ui arrived after the ABAP block was last looked at and the text never named them. No state changed.Capability,
Notificationscore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the note claimed every provider is independent, a statement about who has built something; it now names the kinds, including the process framework that mails about failed objects.Capability,
ODatacoverage by ecosystem revisedReassessed against the graph (check:capabilities): the note counted the repositories and named none of the kinds that arrived since the block was assessed; it now names the kinds and links the ones that define them. State unchanged.Capability,
Platform migrationcore coverage revisedReassessed against the graph (check:capabilities): a partner artifact serving the BTP door provides this capability, which the core-only state contradicted. The core stays, since what_core_does is sourced.Capability,
Prompt managementcoverage by ecosystem, core coverage revisedReassessed against the graph (check:capabilities): the note was a claim about who provides, which the option list derives.Capability,
Rate limitingcore coverage revisedReassessed against the graph (check:capabilities): API Management, an SAP-official service on the BTP door, lists CAP in serves_ecosystems and provides this capability, so the core is present for CAP beside the in-process community plugins. The relationship stays unassessed for lack of documentary evidence on the history.Capability,
Retrieval-augmented generationcoverage by ecosystem, core coverage revisedReassessed against the graph (check:capabilities): a CAP-door provider reaches Document Grounding through the LangChain vector store interface, a shape the two plugins do not cover.Capability,
RFC connectivitycore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): erpl-node-rfc, pyrfc-mcp, rfc-connector and Cloud Connector reached this door after the block was written and change its shape from callee only to callee and caller.Capability,
Schema evolutioncore coverage revisedReassessed against the graph (check:capabilities): cds-dbm, its quadrio fork, @sap/hdi-deploy and the cap-js-community migration check arrived after the 2026-08-31 assessment and the block named none of them. The state stays core-and-community.Capability,
Searchcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the only independent provider behind the ABAP door is ZC8A_001, an artifact of type sample, which is not a presence; the core stays because what_core_does is sourced.Capability,
Secrets rotationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): SAP Credential Store is sap-official and lists cap in serves_ecosystems, so SAP is present for CAP.Capability,
Seed datacore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact provides seed-data for the UI5 door; the two tools the sentence named provide ui5-testing. The core stays present on the sourced what_core_does. The tools stay on the graph under ui5-testing.Capability,
Serve your application over MCPcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the note counted providers, and sap-security-mcp no longer provides this capability. The unmapped state is unchanged.Capability,
Server-side renderingcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the sentence claimed an absence of providers, which goes stale when one arrives.Capability,
Telemetrycoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removes a universal claim about the providers that goes stale as they arrive.Capability,
Tool governancedescription, core coverage, coverage by ecosystem, framing by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): a count of providers removed.Capability,
TypeScript patternscore coverage revisedReassessed against the graph (check:capabilities): removes the count of ways and links the providers that define each kind (decorators, method names, folder layout, persistence), as WRITING §3 asks.Capability,
Vulnerability scanningecosystems, description revisedPublic feedback issue #10. CAP and UI5 coverage assessed as unmapped: no atlas artifact provides the dependency-tree check there yet.Capability,
Workflow integrationcore coverage revisedReassessed against the graph (check:capabilities): the CAP Java n8n plugin is SAP-official and uses the outbox, so outbox dispatch is no longer only a community addition. Source: the plugin's README. State unchanged.Capability,
Yesterday
7 changes
[Part – 2] Enrich CAP based Services with Behaviors using AnnotationspublishedThe second half of a two-part walkthrough of CAP's behavioral annotations, following on from access control and input validation in the first part. This post works through @cds.autoexpose, @cds.api.ignore, @cds.persistence.exists/skip, @cds.on.insert/@cds.on.update and the @odata.Type/@odata.singleton mapping overrides, all shaping how a CDS model is projected into a service, which is data modelling. Alongside these it covers @cds.query.limit for default and maximum page sizes (pagination and streaming), @odata.etag with exclusive and shared locks for optimistic concurrency (concurrency control), and @cds.search for scoping $search to chosen elements (search), each with a CDS code example.Blog,
#BTP #SAPCAP: Quirky Nuggets (N05-N06)publishedOn SAP BTP, Cloud Foundry Runtime, a one-shot PostgreSQL db-deployer app can be restarted by the platform's default port-type health check inside its 60-second timeout, re-running the deploy and duplicating data in the PostgreSQL database; setting health-check-type to process or http, via cf commands or the app's mta.yaml parameters, avoids it. In CAP, a remote service's entities are imported and consumed through cds.connect.to and queried via a projection, but its functions and actions cannot be projected: they must be redefined in the consuming service's own interface, with the handler forwarding the call to the remote proxy.Blog,
CAPVAL: A project is bornpublishedThis second CAPVAL post announces CAPVAL version 2.0, made compatible with CAP v8 after breaking changes there, with the fix shown as a custom cds.middlewares.after error handler. It restates the plugin's @validation.message annotation alongside standard annotations such as @mandatory as the input validation mechanic the project builds on, and the release otherwise adds automated tests and release-automation GitHub Actions rather than new annotations.Blog,
From SAP Sales and Service Cloud V2 APIs to AI: Building an MCP Server with CAP Node.jspublishedA step-by-step CAP Node.js walkthrough that wraps the SAP Sales Cloud V2 Case API as a remote service, then exposes the resulting service over both OData V4 and MCP through a single @protocol: ['odata-v4', 'mcp'] annotation together with @cap-js/mcp's per_action_tool setting. Each CDS action — listCases, getCaseById, createCase, patchCase — becomes its own MCP tool served at /mcp/caseservices, discoverable through tools/list and invoked from a natural-language request.Blog,
Show 3 more
Keep the Core Clean with Rizing CDSXpublishedJhodel Cailan recounts hitting a wall where neither RAP nor CAP supported more than a non-draft OData V2 service for the side-by-side extensibility scenario he wanted, and built Rizing CDSX (@rizing/cds-extension) to add draft handling over a shadow persistence entity that mirrors a remote, cds import-ed service. He walks through the @cdsx.api annotation that proxies the entity, bootstrapping the module from cds.on('bootstrap') in server.js, and testing the result through a generated Fiori elements app backed by an OData V4 draft service.Blog,
SAP CAP With Prostgres Serice in BTPpublishedA step-by-step walkthrough of a CAP bookshop project on @cap-js/postgres, provisioning PostgreSQL on SAP BTP, hyperscaler option's trial plan through mta.yaml, building the MTA archive and deploying it to Cloud Foundry by hand, then inspecting the deployed database with pgAdmin over an SSH tunnel. It updates an earlier post by Mike Zaschka on the same topic to the package CAP now ships by default, though the manual build-and-deploy sequence it shows predates cds up folding those steps into one command by a day.Blog,
Agent access to your codecoverage by ecosystem revisedRewritten at the maintainer's request (2026-10-25): what SAP ships named whole, and what the community adds written from what its ABAP MCP servers state about how they run, connect and sign in.Capability,
Sat 24
18 changes
btp-agentadded to the atlasLangGraph agent and UI5 chat screen over four BTP MCP serversSample,
Edge Integration Cell : Design, deploy and manage APIspublishedWalks through creating an API artifact in API Management on the customer-managed Edge Integration Cell runtime, including the option to generate the artifact by importing an OpenAPI specification rather than from a URL or by hand. It then attaches an Authentication policy and a Quota step capped at four calls per minute, deploys, and shows both the resulting 401 and the quota-breach error in the Monitor logs. The author frames it as the first of a series on Edge Integration Cell's policies.Blog,
Part 2 – Empowering SAP BTP CAP Services through Open API Spec and Annotations for Effective Communication, Collaboration and GovernancepublishedWalks through generating an OpenAPI specification for a Node.js CAP service: installing cds-swagger-ui-express, bootstrapping it in server.js, a sample CDS data model with associations and compositions, and the YUML diagram and endpoint details the Open API Preview renders in Business Application Studio. Also shows gating the Swagger UI behind a user-defined environment variable so it is served in development and QA subaccounts but excluded from the production deployment on Cloud Foundry. Second of a three-part series; the first covers the concepts and the third goes deeper into annotations.Blog,
Using BTP Document Extraction Service into actual App developmentpublishedWalks through calling SAP Document AI's REST API directly: getting a client-credentials bearer token from the service key's UAA, then POSTing to /document/jobs with a file and an options body naming the document type and the header fields and line items to extract (paymentTerms, documentDate, taxId, description for an invoice), and polling the returned job id until the status resolves. Covers the trial-account booster and its own UI for uploading a document and testing extraction before moving to Postman and a small Python script that lists jobs over the same bearer token.Blog,
Show 14 more
arjith-p-jadded to the atlasPerson,
EdoBadded to the atlasPerson,
Ganesh Ramachandranadded to the atlasPerson,
Kesavanadded to the atlasPerson,
Luís Marquesadded to the atlasPerson,
martina-sapadded to the atlasPerson,
NM Veekshith Gandhiadded to the atlasPerson,
Ogulcan Kusluogluadded to the atlasPerson,
Pavan Jayashrinathadded to the atlasPerson,
Robert Eijpeadded to the atlasPerson,
Sri Sai Lahari Gandrapuadded to the atlasPerson,
yashika-Gulatiadded to the atlasPerson,
SAP HANA Cloudprovides revisedThe capability was added on 2026-10-24 for administering a database instance; SAP HANA Cloud ships its administration tools, so it is the core answer on BTP.Service,
SAP-samples/hana-developer-cli-tool-exampleprovides, serves ecosystems, domain, provides revisedIts performance analysis, privilege grants and backup and recovery commands had no capability to sit under; Database administration was added for them the same day.CLI,
Fri 23
10 changes
🚀 秒速で学ぶ SAP AI Core Agent 開発 🚀 - Part 8 CloudFoundry にデプロイpublishedPart 8 of a Japanese-language series deploys the Python backend and SAPUI5 chat UI built in earlier parts to SAP BTP, Cloud Foundry Runtime: the backend's manifest.yaml declares its buildpack, memory and start command for cf push, while the UI's MTA project is built with mbt build and uploaded with cf deploy, then has its ENDPOINT constant repointed at the live API's route. It closes with adding the deployed HTML5 app to SAP Build Work Zone, standard edition through Channel Manager's content sync, Content Explorer and a new Site Directory site.Blog,
Cloud Integration with Document AIpublishedWalks through connecting Cloud Integration to SAP Document AI: an iFlow posts a prescription PDF to Document AI's job API, polls the job endpoint until it completes, and a groovy script reads back the result, keeping only the fields above a stated 60% confidence threshold. The scenario is a hospital extracting a new patient's past illnesses, allergies and blood group from uploaded prescriptions, matched against a custom extraction schema.Blog,
cds-common-jwt-supportlifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
cds-feature-togglelifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
Show 6 more
cds-hyper-app-servicelifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.Package,
cds-internal-toollifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.Package,
cds-mysqllifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
cds-natslifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
cds-rate-limitlifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
opentelemetry-cdslifecycle revisedThe maintainer's GitHub profile states that the account was archived (profile changed 2026-10-11); the repositories are gone and the package stays published on npm. His words, quoted and dated, in the field made for a maker's statement about an end; nothing written about the person.CDS plugin,
Thu 22
2 changes
@mi8y/cap-agents-sdm-backendadded to the atlasDeep Agents filesystem over an SAP Document Management repositoryPackage,
Reports Assistant with SAP Document Managementadded to the atlasCAP agent writing reports into a shared SDM document workspaceSample,
Tue 20
2 changes
What an AI infra engineer sees when opening SAP's AI stack (1/3): the model gatewaypublishedA first look at SAP AI Core's Generative AI Hub from someone who builds gateways outside SAP for a living: the orchestration service harmonizes provider calls onto one API (a model name string switches providers, and SAP Note 3437766 carries the current model list, token rates and deprecation dates), runs a fixed, non-reorderable module pipeline — templating, masking through SAP Data Privacy Integration, grounding, content filtering, then the model call — and retries down an ordered fallback list whose entries can each carry their own model and rules. It places @sap-ai-sdk/orchestration among the official JavaScript, Java and Python SDKs, and notes SAP's own LiteLLM provider as a way to put a different gateway in front of it.Blog,
Kamil Kováčadded to the atlasPerson,
Mon 19
46 changes
🔴 Your Agent Wants to Call SAP. Now What?publishedDevtoberfest 2026 session INT-23, on what belongs between an agent and an SAP system. A solution advisor and an enterprise architect point Joule Desktop extensions at MCP servers built on API Management inside SAP Integration Suite, and ask it for business partners, orders and line items from an S/4HANA demo system; asked for the ten largest customers it answers from a sample of 200 orders rather than reading the whole table. They then open the API proxy behind it, where a spike arrest policy caps the backend at ten calls per second and the MCP server is configured to expose only the GET resources of the business-partner API so that an agent cannot create one, which is where the edges to Serve your application over MCP and Rate limiting hold. For totals across all sales orders they send the agent to SAP Business Data Cloud instead of the transactional system, since it aggregates and is read-only, and back through Integration Suite for writes such as journal entries.Talk,
🟣 Bring AI into Your ABAP Applications with ISLM: Build, Integrate, and Consume AI NativelypublishedDevtoberfest 2026 session AI-11, from the product manager and product owner of Intelligent Scenario Lifecycle Management: ISLM as the place an AI use case is registered, deployed and operated inside an SAP S/4HANA system, and what has been added to it for generative AI. The demo builds a custom scenario end to end — an intelligent scenario of type generative AI, a connection to SAP AI Core, a GPT-5 mini model, an orchestration flow template that configures data masking, input and output filtering and translation into the user's logged-in language, then prompts with a grounding query over five companies' return-policy documents — and consumes it from an ABAP report through the ABAP AI SDK, which calls the orchestration API and returns the summary as JSON. Two newer pieces follow: SAP RPT, the relational pre-trained transformer for tabular prediction, called with context rows and query rows and answering with a confidence value and no training step; and system-triggered agents, where an application job in the ABAP system starts a billing-creation agent that reaches S/4HANA OData APIs as tools through the agent gateway with principal propagation. The closing availability matrix states the generative AI capabilities for on-premise and private cloud from the 2021 release, with SAP notes to implement on lower ones.Talk,
🟣 Enable Your AI application to Run on Multiple Models to Ensure Resilience and CompliancepublishedDevtoberfest 2026 session AI-21. A cross product owner on the SAP AI Core team gives the reasons an AI application ends up on more than one model — a model down at the hyperscaler, a data centre that is not allowed to run it, a version being deprecated — and runs a joke app that answers from Gemini 2.5 Flash in EU10 and from Claude 4.5 Haiku in Asia-Pacific. The walk through AI Core's parts is where the edges hold: prompts kept as templates in the prompt registry, imported through the launchpad and the APIs or synced as YAML from a git repository (Prompt management); the evaluation service scoring one prompt across up to four models per run on built-in or model-as-judge metrics, and the prompt optimizer generating variants against one metric (Agent evals); and the orchestration service harmonising the providers behind one message format with a priority-sorted fallback list (LLM integration). The session also states where a metric has to be designed rather than picked: an exact-JSON match scores an email generator at zero, so the joke app's custom metric judges topic and family-appropriateness instead.Talk,
Achieve Agentic Enterprise Automation with SAP Integration Suite and Joule StudiopublishedA Devtoberfest 2026 integration-track session (INT-22), the second of that week's integration sessions, given by an SAP product expert for process automation and integration together with the product manager for Joule Studio, who walks the audience through it. The opening states the subject: process management, automation and orchestration unified into one combined approach, which the presenters put forward as the foundation for building custom AI agents.Talk,
Show 42 more
AI Assisted CAP DevelopmentpublishedA Devtoberfest 2026 session (CAP-43) on building CAP applications with a coding agent, in two demos. The first asks the same question twice in a dev container, once with no MCP server configured and once with @cap-js/mcp-server registered: without it the agent answers CAP's semantic search with an outdated vector type and CQL, with its documentation search it writes the built-in vector embedding function and a working similarity query. The second installs the cap-developer plugin from capire/skills, from a Devtoberfest preview branch, and runs its guided-development skill stage by stage — domain model, sample data, services, constraints — each stage reviewed before the next.Talk,
AI-assisted SAP development with MCPpublishedA Devtoberfest 2026 session (UI-41) that traces AI-assisted SAP development from pasting code into a chat window to coding agents with built-in connectors, and sorts the MCP servers around SAP development into SAP's own, the community's and the hosted ones, where the agent cannot change what the server allows. Four demos follow: GitHub Copilot alone explaining an ABAP report from a Git repository, @ui5/mcp-server reading an OpenUI5 sample app and converting it to TypeScript, mcp-sap-docs grounding Terraform files for a BTP subaccount the presenter had not written before, and arc-1 with Copilot in Eclipse tracing why a title longer than 40 characters is rejected and proposing the DDIC-allowed length instead. It ends on a skill that migrates an SAP Gateway project on an ECC system to RAP on S/4HANA step by step, and on a rule Marian Zeis gives for servers written for internal use: keep them read-only, because what the agent is short of is context.Talk,
Be the First to Understand Joule Work's Agentic ThinkingpublishedA Devtoberfest 2026 session on the agent harness behind agentic thinking in Joule Work: generic operating-system tools in a gVisor-isolated sandbox instead of hand-wired domain functions, a react loop, a warm pool of sandboxes torn down after each task, tenant-separated skill loading, and placeholder tokens the agent never sees swapped for real credentials at the egress path. A skill is a folder with a SKILL.md carrying metadata and instructions, and where it reaches a system, an SAP connectivity JSON that declares each connector by ORD ID with its guardrails — GET allowed by default, POST, PUT, PATCH and DELETE requiring human approval, everything else blocked. The demo uploads a cost-centre skill through the skills view, then has agentic thinking delegate over A2A through Agent Gateway to a custom agent built in Joule Studio, whose MCP tools read cost centres from an S/4HANA Cloud system, and ends by turning the result into a PDF; the Joule Studio trace is what shows the tool call actually happened.Talk,
Beyond copilots: Agentic development with SAPUI5publishedDevtoberfest 2026 session UI-12, from the SAPUI5 team, on the year of work behind UI5/plugins-coding-agents: what a model produces for UI5 without help — outdated concepts, framework versions a decade old, generic JavaScript rules, code that does not run — and the two ways they chose to close that gap, an MCP server in September 2025 and skills packaged as plugins once agents began reading them. Three plugins are demonstrated live in Claude Code: the everyday one scaffolds an Oktoberfest tents application in about four minutes, the TypeScript conversion plugin rewrites an existing JavaScript project and reconfigures its build with the types and the transpile task, and the modernisation plugin takes a ten-year-old application through staged migrations, applying UI5 Linter's automatic fixes where they cannot break the app and the model where they can, then running the tests. @ui5/mcp-server is still the path for the parts that need a server, and the plugins are installed from the Claude Code and GitHub Copilot marketplaces rather than a UI5-hosted one.Talk,
Bridging Python and SAP HANA: Inside the sqlalchemy-hana Open-Source DialectpublishedA Devtoberfest 2026 data-track session (DAT-21) in which one of the maintainers of sqlalchemy-hana, the open-source SQLAlchemy dialect published in SAP's GitHub organisation, opens up what sits between Python and SAP HANA. It walks the five dialect classes that render statements, types, DDL, identifiers and sequences, and the HANA specifics they absorb: the FROM DUMMY a bare SELECT needs, a limit injected when only an offset is given, string compiled to NVARCHAR, and quoted case-sensitive identifiers against Python's lowercase. The rest covers schema migrations with Alembic on HANA's transactional DDL, the recently added async support and vector types, and that HANA Cloud and HANA 2 are supported while HANA 1 is not.Talk,
Bring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentspublishedDevtoberfest 2026 session FA-11: a tour of the rebuilt developers.sap.com by the team that runs it, from the administration screens behind the home page to the agent interfaces in front of it. The site is a CAP application on SAP HANA Cloud and SAP BTP, open-sourced in full, and the half of the session that places it here is how its content reaches an agent: every tutorial is also served as markdown, a coding agent is detected and given that version instead of the HTML, a well-known agent card advertises what the site offers, and SAP Developers MCP answers questions about tutorials, news and a reader's own completion history in Claude Code and Joule Desktop, over OAuth or a personal access token. Behind the answers sit two things working together: a knowledge graph in the HANA database over 1400 tutorials and 11,000 concepts, and SAP AI Core for the Joule interactions and the embeddings, with the agent harness written for the site rather than taken off a shelf. Where neither MCP nor A2A is available, the same content is published as skills.Talk,
Building Agentic Workflows with n8n in Joule StudiopublishedA Devtoberfest 2026 session, JS-31, on SAP-managed n8n inside Joule Studio, shown as a labs preview on a blocked-invoice scenario: a solution made of assets, an intent refined by the web agent into requirements and then a specification, and the generated workflow opened in the n8n editor that Joule Studio connects to its own n8n tenant, with the generated files committed through GitHub. The nodes carry the other edges — the human-in-the-loop node is built on SAP Task Center, and SAP AI Core is where model providers are configured centrally instead of per developer. It ends in Joule chat, where the approval task the workflow created is listed, opened and completed.Talk,
Building Code-Based AI Agents on the BAIPpublishedA Devtoberfest 2026 session on writing the agent yourself rather than configuring one, which is the agent tooling edge: an agent is a model with tools, skills, memory and context around it, and the session reads the code of one built in CAP as a LangGraph state graph, with an agent node that calls the model, a tools node holding the MCP clients, and the edge between them looping until no tool is needed. It then shows the shorter route, a CDS service annotated for the agent protocol with its instructions and skills in an agent.md file. SAP AI Core carries both, with the CAP service in front of it as middleware so the credentials never reach the browser, and that is what cap-agent-ui5-webui is demonstrated against: added as a dependency, it gives the annotated service a UI5 chat interface that can be deployed rather than only previewed. A Python multi-agent application on Cloud Foundry, where an orchestrator delegates to per-stack specialists so no single model sees every tool, closes the session.Talk,
Building your knowledge graph on SAP HANA CloudpublishedDevtoberfest 2026 session DAT-11, in which two enterprise architects explain what a knowledge graph is and then build one on SAP HANA Cloud. The first half sets the join across three relational tables against an ontology of classes and predicates, the subject-predicate-object triple written as a turtle file, and a SPARQL query over it, and argues that the chain of relationships is what makes a recommendation traceable back to its reasons. The demo, taken from a Discovery Center mission, curates the ontology and the RDF files for an accounts receivable scenario in VS Code, ingests the triples into HANA Cloud with SQL and walks the resulting graph outward from a customer; that is the graph, spatial and document data edge. It closes by separating three things that share the name: the HANA Cloud knowledge graph engine, SAP Knowledge Graph as the data, and the knowledge graph in SAP Business Data Cloud.Talk,
CAP-level Data FederationpublishedA Devtoberfest 2026 session (CAP-31) on letting one CAP application read another's data as if it were local. The modelling half is the same for both answers, which is why the two technical edges hold: the provider defines an API service and exports it with CDS export as an npm package carrying the model, mock data and translated texts, the consumer imports it and puts consumption views on top, and only then is it wired either as service-level replication that copies the rows into local tables each time the server starts, or over the SAP HANA synonyms that cds-federation-synonyms generates, with HDI grants on the provider side and a service replacement that redirects each synonym from its mock table to the provider's container. It is worked through on xflights and xtravels, including the local run where CDS watch mocks the imported service from the CSV files inside the package.Talk,
CAP: The Road Ahead - Simplicity in an AI ErapublishedDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.Talk,
Combining AI Agents with the power of SAP HANA embedded ML (part 1)publishedDevtoberfest 2026 session DAT-12, the first of two parts, in which Vitaliy Rudnytskiy does a data scientist's work against the embedded machine learning of SAP HANA Cloud by talking to an agent. The session first takes an agent apart into its LLM, its tools, its memory and the loop between them, then stacks the Predictive Analysis Library under the hana-ml Python wrapper and that under the HANA AI toolkit, whose tools an agent calls from plain English in a notebook to preview a sales refunds table, split it into train and predict tables, run a time-series check and train an AutoML forecast, keeping what it decided in Markdown memory files. That is the agent tooling edge; the same toolkit is then started as an MCP server over stdio and over streamable HTTP and reached from a coding agent and from Joule Work's desktop, which is where the live demo partly fails and the failure is shown.Talk,
Custom Business Logic Extensibility in CAP (CDS-Oyster)publishedA Devtoberfest 2026 session walking @sap/cds-oyster — at version 0.55, with 1.0 stated for Q4 — end to end on a multitenant xtravels, from the application developer's side and the extension developer's side. The application developer adds a submit-for-review action to the status flow and opens exactly one surface for custom code: a separate extension service marked as extensible code, holding a no-op validate action and two read-only helper entities, which the host application calls before the status change; nothing else is extensible, because the annotation defaults to false. The extension developer works in a project whose base model came from cds pull, with test data, a server.js and types from @cap-js/cds-typer added so the UI and code completion work, debugs the handler locally and pushes it as an @sap/cds-mtxs extension, after which the next request rejects a travel over the policy limit without a restart — the code having been stored as an annotation in the tenant's model and run in a Rust WebAssembly sandbox with no database connection, whose queries go back to the CAP runtime as CQL strings, which is tenant extensibility extended from fields to logic.Talk,
DRY CAP – Making Sustainable Solutions Through PluginspublishedA Devtoberfest 2026 building-apps session on packaging the things you would otherwise write twice, from in-house API clients and shared data models to validation logic, as a CAP plugin. The presenter builds one live: a cds-plugin.js next to package.json is what makes CAP notice the plugin at all, an index.cds carries a reusable user context and service that the consuming application projects into its own and protects there, and the plugin registers an Express middleware at a chosen step of the bootstrap to put user properties on the request. A feature-flagging plugin his team already uses closes it, and the whole walkthrough is the edge to Plugin authoring.Talk,
Event Add-On for ERP: All you need to know about the new Event StudiopublishedA Devtoberfest 2026 integration-track session (INT-43) on Event Studio, the browser-based part of the Event Add-On for ERP that defines events in an S/4HANA or ECC backend without code and sends them to a broker. A custom sales-order event is built live — fields picked into a payload that is published as a CDS view entity, a trigger on a classic business object, a static topic — and arrives in a queue on SAP Integration Suite, advanced event mesh, which is where the Event Mesh edge holds. The rest of the demo covers health and exception monitoring in SAP Cloud ALM, the AsyncAPI definition replicated to Event Portal, and the AI assistant and MCP server now inside Event Studio.Talk,
From Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPpublishedA Devtoberfest 2026 session walking live through a sales workbench that turns an incoming customer e-mail into a quotation in S/4HANA, built as a React UI on CAP. It shows the filterable request inbox, the extracted configuration properties with a confidence indicator per characteristic, the variant configurator rendered in React from a JSON schema the configuration service returns, and the link from a derived value back to the place in the e-mail it was read from; the stated reason for the stack is that CAP keeps authentication, destinations and deployment the same in every project, which is where frontend boundary holds. The inbox grows while a user works because a CAP WebSocket plugin pushes new requests into the list — WebSocket.Talk,
From Intent to Arcade: Building Joule*Bert with Joule Studio and AI-Assisted Pro CodepublishedA Devtoberfest 2026 AI-track session that takes a Q*bert-style arcade game, written as an Easter egg for colleagues, through every phase Joule Studio runs: intent analysis with its clarifying questions, a product requirements document, a specification with its task list, generated code, generated tests and deployment. The knowledge-graph lookup reports that the game maps to no enterprise process and the flow adjusts, and the presenter edits the requirements by hand when the first version declares sound out of scope. He then pushes the project to GitHub, clones it and initialises the jl command line so that Joule Studio's MCP servers are wired into the coding agent in VS Code, where mobile arrow keys were added afterwards; applications could not yet be deployed to the Joule Studio runtime, so this one runs on Kyma.Talk,
How to implement business AI capabilities in ABAP CloudpublishedA Devtoberfest 2026 session (ABA-32) on embedding AI in an ABAP Cloud application and on making SAP Joule aware of what that application can do. The first demo implements two features of a RAP travel app with the ABAP AI SDK: a determination on an uploaded receipt that sends the image together with the allowed categories and transaction types to a model reached through an intelligent scenario, then writes the extracted description, category, currency and amount back to the expense entity; and a recommendation function, triggered by a side effect on the trip title, that proposes a trip type with a score the Fiori UI sorts the proposals by and leaves the business user to accept — which is LLM integration from ABAP code. The second demo builds a capability for SAP Joule in the Joule Studio code editor in VS Code, with a scenario that extracts a trip title from the user's intent and calls an OData service in the ABAP backend through a BTP destination, deploys it and asks the Joule test UI for the trip's details; the session states that agents reach ABAP only over governed remote APIs — OData, SQL and MCP — and that automatic grounding of custom OData services in the knowledge graph is upcoming rather than available.Talk,
IntegrAItion: Event-Driven IntelligencepublishedA Devtoberfest 2026 session, INT-33, whose line is that agents fail because they are not informed enough rather than not clever enough, and that events are how they get informed: what an event is, the source-broker-consumer split, notification against data events, and topic filtering as the thing that decides which agents are woken at all and what that costs in tokens. It covers Event Mesh as the concern — topics, subscriptions, filters and queues — and SAP Integration Suite, advanced event mesh as the product, down to its event portal and catalogue, the mesh and cluster managers and distributed tracing. The closing demo sends an S/4HANA product-defect event through the mesh to wake an agent in Joule Studio, which fetches what it still needs over MCP and reports to a person the next morning.Talk,
Intelligent App Development at Scale: SAP Fiori Elements + ABAP Development Tools for VS CodepublishedA Devtoberfest 2026 session (UI-33) that builds a RAP service and the SAP Fiori elements app over it from one VS Code workspace, with a coding agent driving two of SAP's MCP servers. The ABAP Development Tools for VS Code edges hold on the demo itself: its virtual file system keeps the ABAP package beside the Fiori project, the ADT MCP Server inside it creates, changes and activates the ABAP objects, and a version not yet released publishes the service binding from the agent instead of by hand. The @sap-ux/fiori-mcp-server edge covers its generators and the three-step workflow it uses for changes — list the functionality available for the application, ask for its JSON schema, then execute it — and the agent guidance edge rests on the skills the Fiori team publishes beside it, on the session's account of what a skill adds that a server does not, and on the analytical chart demo where a skill orchestrates both servers in one task.Talk,
MCP Gateway in Practice: Architecture, configuration, and hands-onpublishedA Devtoberfest 2026 integration-track session (INT-21) on the MCP gateway of SAP Integration Suite: curated enterprise APIs served to agents as MCP tools over JSON-RPC, behind the authentication, authorization and traffic policies an API artifact already carries, with the existing API layer left in place. The hands-on half composes S/4HANA plant, material-stock and supplier data with a non-SAP location-risk source into one business data graph, downloads its OpenAPI specification, creates an MCP server artifact with tools, prompts and a surge-protection policy over that endpoint, and publishes it as a product in Developer Hub of API Management, where an agent developer subscribes and gets OAuth credentials. An MCP client then asks for 15 brake pads and ranks plants by stock, location risk and distance from Walldorf, which is what the agent access to your systems edge rests on; the Q&A covers principal propagation to the backend, how errors reach the model, and which Integration Suite editions carry the gateway.Talk,
Meet Joule Studio and Build your First AI AgentpublishedA Devtoberfest 2026 session from the product manager of Joule Studio, walking one agent through the whole path the tool defines: an intent, the problem statement and goals a coding agent derives from it, the business context it takes from the SAP knowledge graph, and the solution type it proposes with a stated intent fit. The demo is a collections agent that drafts dunning emails: the product requirements document names the metrics and the human-in-the-loop review, the technical specification lists the artifacts to build — the MCP tools among them — and the build is followed by a business test run against business partner 10001, technical unit tests, and deployment to the managed runtime, where the agent and its MCP server appear as deployed assets. Two points shape how it is used rather than what it produces: every asset is a file, editable in the web editor or in the code view and pushable to git, and the same solution can be built from local pro-code tools; n8n workflows are stated as delivered out of the box inside the studio.Talk,
Powering Enterprise-Ready Agentic AI with SAP Integration SuitepublishedA Devtoberfest 2026 session (INT-31) from SAP Integration Suite product management on the MCP gateway. The demo creates an MCP server in a design package from an API already deployed on the tenant, exposes two of its 300-odd resources as tools, attaches authentication and quota policies on a policies tab, and publishes the deployed endpoint as an AI product in Developer Hub of API Management, where an agent subscribes and receives a token, URL, key and secret; the calls then show up in monitoring, in message processing logs and in the analytics dashboard, which is the MCP exposure and the tool governance the edges rest on. Three AI features inside Cloud Integration follow: a content migration agent that converts a PI/PO Java mapping into a Groovy script and generates a second integration flow for its lookup, memory profiling during a flow simulation, and root-cause analysis on a failed message processing log.Talk,
Real Pro-Code Development with Joule StudiopublishedA Devtoberfest 2026 AI-track session that runs one agent build across both of Joule Studio's paths. Playing a procurement manager, one presenter states the intent in the browser, answers the clarifying questions, watches the fit-gap analysis name the S/4HANA APIs the use case needs, and pushes the intent and requirements document to GitHub; the other clones it and carries on in a terminal, logging in with the jl command line against her landscape URL and running its init command to fetch Joule Studio's skills for OpenCode. From there the coding agent writes the specification, the discovered API specifications, the MCP translation and the agent's Python file with its model configuration and evaluation scenarios, which is the edge to Agent tooling; the skills themselves, which SAP says not to edit but which a developer may add to, are the edge to Agent guidance.Talk,
SAP BDC and AI: A Perfect MatchpublishedA Devtoberfest 2026 data-track session (DAT-22) in which Business Data Cloud's CTO sets out how SAP Business Data Cloud feeds SAP's business AI platform: data products whose primary persistence is an object store and whose semantics are kept with them, the one domain model that links a supplier in Ariba to a supplier in S/4HANA, and the SAP knowledge graph, a triple store running in SAP HANA Cloud and queried with SPARQL, that SAP Joule consults before answering. The live demo asks Joule for the available data products and the top ten open purchase orders, with the data product query agent compiling SQL over virtual tables and a space rendering a dashboard, which is the cataloguing side of this: a central registry, the Unified Customer Landscape, that every activated data product is registered in. The Q&A covers where the knowledge graph lives and what a customer may extend, base policies that turn into filter conditions on an agent's queries, and Joule Studio as the place to build your own agents and data products.Talk,
SAP BDC in Business AI Platform: Contextualize and ReasonpublishedA Devtoberfest 2026 session (DAT-31) that places SAP Business Data Cloud as the contextualise-and-reason pillar of the SAP Business AI Platform, between the build pillar of Joule Studio and Integration Suite and the govern pillar of AI Agent Hub. It covers data products described with open resource discovery and core schema notation metadata, a data product creation agent that assembles a derived data product for overdue billing documents from the billing document and customer products and shows its lineage and fields; the data products a line-of-business application brings being readable by Joule without a BDC subscription; and the SAP-managed knowledge graph that maps business entities and their relationships for agents, held as graph data in the SAP HANA Cloud knowledge graph engine as RDF triples queried with SPARQL. The closing demo has SAP Joule answer head-count and purchase-order questions, with the generated SQL passed through a data product query that adds the restriction policy defined for that user in cloud identity services, which is why the session stands for cataloguing and lineage as much as for the products it names.Talk,
SAP HANA Data Lake Files (HDLF) Basic FunctionalitiespublishedA Devtoberfest 2026 data-track session on SAP HANA data lake files, the managed object store inside SAP HANA Cloud that is provisioned from HANA Cloud Central, priced per API call and per stored gigabyte, and reached with the same REST API whichever hyperscaler it runs on. Two product managers set up an instance with its IP allow list, client certificates and trusts, then upload, list, read and delete files over the WebHDFS REST API and the HDLFS command-line utility — the Object storage half — and cover file versions with snapshots, access policies per file, and chunked upload with a server-side merge. They then link the instance to a HANA database and query a CSV file as a virtual table: SQL on files now runs through a file adapter in the database, while the older path through the data lake relational engine is deprecated.Talk,
SAP Meets the Agentic Web: CAP MCP - UI5 WebMCPpublishedA Devtoberfest 2026 session (CAP-42) that puts MCP and WebMCP side by side: MCP exposes a backend to an agent, WebMCP exposes the tools of a web page to whatever agent arrives at it, and only Chrome behind a flag and Cloudflare's Kite browser support the second one today. The CAP half starts with two agents scraping a Fiori elements app with Playwright and browser dev tools, then annotates the catalogue service with the MCP protocol through @cap-js/mcp, after which the agent calls the generated describe tool instead of parsing pages. The UI5 half registers a search-authors tool on the browser's model context API inside the same app, with the cross-origin isolation header the API requires, and lists it through the WebMCP Chrome extension — the agent run against it ends on an exhausted Gemini key rather than a result.Talk,
Supply Chain Rescueadded to the atlasCAP and SAPUI5 demo of recovery from a supply disruptionSample,
The ECC-to-CAP Starter KitpublishedA Devtoberfest 2026 session that builds a CAP service and a Fiori elements list report over an SAP ECC gateway service, on the argument that the CAP project, its contract and its UI survive a later move to SAP S/4HANA while the APIs behind them change. The service integration edge is the body of the demo: the metadata of the ECC flight service is saved as an EDMX file, imported with cds import so the model holds the structure and none of the data, projected read-only into a flight service, and one line of handler code forwards each read to ECC, with filtering, sorting and paging translated down to the older OData version the system speaks. The SAP Destination service edge covers the on-premise destination and the additional properties the walkthrough insists on, and the SAP Business Application Studio edge covers the full-stack dev space, the CAP project wizard, the service center plugin for picking up another OData service, and cds watch run under the profile that uses those credentials.Talk,
Unlocking Tabular Foundation Models: From Experimentation to ProductionpublishedA Devtoberfest 2026 session (AI-41) on taking tabular prediction from a playground to a deployment. It sets tabular foundation models against a model trained per use case and against language models reading rows as text, explains in-context learning as examples plus the rows whose target column is missing, and tries SAP RPT 1.6 on a train-delay dataset in the RPT playground, including the column and row importance it returns with the prediction. The same prediction is then rebuilt on SAP AI Core, where the tabular orchestration service plays the part the orchestration service plays for language models: a data destination, a table artifact with its CSN schema and a scenario configuration registered once at design time, after which a predict call passes only the query rows, the scenario configuration and a context-selection strategy. The last demo runs those same calls in natural language through the aicore-skills plugin in a coding agent, and one of them only resolves once the agent is told which scenario configuration to use.Talk,
What's in Daniel Hutzel's brain?publishedA Devtoberfest 2026 session in the building-apps track, in which Daniel Hutzel and DJ Adams work through what the CAP team is building for agents. A bookshop gets an MCP endpoint beside its OData one from a single annotation, with the plugin writing the coding agent's configuration itself; in the xt-travels sample five services that know nothing about each other are served over MCP and an agent does the orchestration the hand-built UI and its value helps used to do. Hutzel then annotates a service as an agent so the ReAct loop and the choice of model move into the CAP service, and finally drops MCP for a skill that teaches the agent CQL instead, which is where the edges to Serve your application over MCP, Agent tooling and Agent guidance come from. The mechanism under all of it, a plugin file in the package root and event handlers that can be added to any CAP service, is the edge to Plugin authoring.Talk,
Authenticationecosystems revisedui5-middleware-oidc was staged in intake-20261019-bestofui5 under ui5-build-tooling because this capability was not open on the UI5 door. The UI5 reading comes from the README of SAP's backend-proxy-middleware.Capability,
Destinationsecosystems revisedui5-middleware-destination was staged in intake-20261019-bestofui5 under ui5-build-tooling; its drafter left out a destinations edge because this capability was not open on the UI5 door. The UI5 reading comes from the README of SAP's backend-proxy-middleware.Capability,
Editor supportecosystems revisedUI5 Language Assistant, SAP's VS Code extension for UI5 XML views and manifest.json, and the SAPUI5 Extension by iljapostnovs were staged in intake-20261019-bestofui5 with this concern as their best fit, and the capability was not open on the UI5 door. The UI5 reading comes from the UI5 Language Assistant README.Capability,
Input validationecosystems revisedopenui5-validator was staged in intake-20261019-bestofui5 under ui5-data-binding because this capability was not open on the UI5 door. The UI5 reading comes from the OpenUI5 pages on data types and validation messages.Capability,
Integrated frontend dev serverecosystems revisedThe UI5 dev middlewares staged in intake-20261019-bestofui5 that forward the app's backend paths (ui5-middleware-route-proxy, ui5-middleware-destination) could only be placed under ui5-build-tooling, whose own boundary leaves proxying to a backend to middlewares. The two facets stay on CAP, where they were asked. The UI5 reading comes from the UI5 CLI Server page and SAP's backend-proxy-middleware README.Capability,
Lintingcoverage by ecosystem revisedUI5 linter (@ui5/linter) and ui5plugin-linter were staged in intake-20261019-bestofui5 with provides edges here, so the note that the graph holds no UI5 linter no longer holds and a community linter is present. The UI5 linter README was read again on 2026-10-19.Capability,
Loggingecosystems revisedSRBJSLogger and openui5-error-collector were staged in intake-20261019-bestofui5 with no capability edge, because this capability was not open on the UI5 door. The UI5 reading comes from the sap/base/Log API documentation and the OpenUI5 Logging and Tracing page.Capability,
secondsky/sap-skillstype properties, flavors revisedRead today in the two plugins that answer the CAP and the UI5 door, which the ABAP pass had not opened. The sap-cap-capire skill's frontmatter states that it covers Node.js and Java runtimes, so CAP's two flavors rest on the maintainer's sentence where the entry previously answered in both by the serves-another-door fallback, which is the same reading off an absence. The sapui5 skill's frontmatter names freestyle apps and Fiori elements apps in one clause, so freestyle is stated, and fiori-elements moves onto that sentence from the README line about which request activates sap-fiori-tools, which said what triggers a plugin rather than what it covers. Nothing read names UI5 Web Components, so that flavor stays unstated. Stating freestyle changes an answer: the entry answered no there while it stated one UI5 flavor and now answers yes, which a reader comparing that flavor's options will see. The ABAP pair is unchanged.Skill,
Seed dataecosystems revisedvscode-ui5-odata-mock-generator and openui5-smart-mockserver were staged in intake-20261019-bestofui5 under ui5-testing; the first one's drafter noted that seed-data fit better but was not open on the UI5 door. The UI5 reading comes from the OpenUI5 mock server pages and SAP's ui5-middleware-fe-mockserver README.Capability,
Werkbankprovides revisedWhat Werkbank adds for ABAP, CAP and UI5 is its catalog of development skills; the workspace itself is not specific to any of those stacks. Agent workspaces is narrowed back to BTP.Desktop app,
The last 7 days. Older changes stay in each entry's history.