NewSAP Cloud Application Programming Model
1758 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 6 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
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 2 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 connectorsSat 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 12 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
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
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 32 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
Sun 18
CAP in the age of AIpublishedSeven live episodes of Hands-on SAP Dev in which DJ AdamsDJ Adamscreated 22 pieces, contributed to 20 entriessap official works through CAP's AI features with the people who build them, each one a screen-share against a sample project. The first three are @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap: the
@mcp annotation on a service, the describe, query and call tools, CQL as the query format, and what authorisation takes out of the tool list. From episode three the run moves to A2A and @cap-js/agents@cap-js/agentsSAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author.sap official, cap — human approval of an action, agents.md and skills, session persistence, telemetry and sub-agents — and the last two episodes are vector embeddings in CDS, local on SQLite and native on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp.Serve your application over MCPCAP in the age of AI #1 - the MCP adapterpublishedThe episode that opens the series and the first pass over @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, with four of the people building it on the call. Two of the adapter's tools are worked through:
describe, the one an MCP client reaches for first to get the overview of what it may do, and query, which the panel establishes as read-only. It also writes the server entry into a local agent's own configuration file, which episode three comes back to as auto-wiring.Serve your application over MCPCAP in the age of AI #2 - more on the MCP adapterpublishedWhat the query tool costs in tokens, and the third tool @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap registers. Counted against a model running locally under llama.cpp, the same query is 26 tokens as CQL and 173 as CQN, and the tool definition sent with every system prompt drops from around 5,500 tokens to around 600 — the reason CQL became the default format. The
call tool then exposes a service's unbound actions and functions, as one generic tool or, behind a flag, one tool per action with its own description and input schema; a question from the chat about extension points gets the answer that the adapter does the tools, which the panel calls a small subset of the protocol.Serve your application over MCPCAP in the age of AI #3 - from MCP to A2ApublishedThe episode that finishes @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap with authorisation and then crosses to agents.
@requires and @restrict are the same annotations CAP already has, and the plugin reads them to filter the tool list and the describe output per user and per request, so a model is not told about entities the caller cannot reach — where the OData metadata of the same service lists every exposed entity regardless. The second half annotates a service with @agent from @cap-js/agents@cap-js/agentsSAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author.sap official, cap, which serves it over A2A with an agent card and a chat preview, runs first against a mocked response and then against SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp bound with cds bind and a hybrid profile, and reuses the MCP adapter's tools rather than defining new ones.Serve your application over MCPShow 9 more
CAP in the age of AI #4 - more on agentspublishedAsking a human first, and telling the agent how to behave. Ordering a book through @cap-js/agents@cap-js/agentsSAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author.sap official, cap happens without a question being asked; the human-in-the-loop annotation on the action turns the same request into an approve-or-reject step, which the episode follows down to the A2A status update that stores the task in an input-required state in the database — A2A itself being JSON-RPC 2.0 over HTTP with server-sent events for the stream. The rest is instructions on disk: an
agents.md in the service's own folder removes the question about how many copies to order, a skill under a skills folder is advertised by its description and read only when the agent decides the case applies, and either file makes the plugin build a deep agent instead of the plain one.Agent toolingCAP in the age of AI #5 - agents wrap-uppublishedThe agents topic closed out on what sits around the agent rather than inside it, now that the documentation has moved into capire. The chat preview's session is persisted in the database rather than kept in memory, traces go out through @cap-js/telemetry@cap-js/telemetryAutomatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint.sap official, cap to a self-hosted MLflow under the OpenTelemetry conventions for generative AI, and the panel is explicit that
@agent reuses the MCP adapter's code programmatically without serving an MCP endpoint. It ends in the xtravelsxtravelsA travel-booking application built on the master data that xflights publishes, composing another package's schema into its own rather than owning master data itself.sap official, cap sample, where a travel agent delegates to a hotel-service sub-agent and reaches a separately started flight service over MCP through the service binding CAP resolves anyway. Earlier in the hour the same agent answers from a model running on the presenter's laptop, reached as an OpenAI-compatible endpoint.Agent toolingCAP in the age of AI #6 - vector embeddingspublishedVector embeddings put to work in the incident managementcapire/incidents-appThe Incident Management reference application — the one SAP's own tutorial paths build, step by step, and the model cds add incidents-sample drops into a project.sap official, cap sample, answering whether this problem has been seen before. An
embedding element of type Vector is calculated and stored from the vector_embedding function, so the database refreshes it whenever the text behind it changes, and cosine_similarity compares it with a freshly embedded string; because a title says little, a scheduled action first summarises each incident's conversation through a model on SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp and the embedding is taken from that summary. The similar-incidents list is a view joining incidents to themselves, with order and limit set in a before handler on the expanded query, and the vector element excluded from the service, since OData knows nothing about vectors — on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp the function is native, while SQLite needs packages added to the project.LLM integrationCAP in the age of AI #7 - vector embeddings wrap-uppublishedThe same embeddings model taken from SQLite to SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, then handed to an agent. Locally it is @cap-js/ai@cap-js/aiOut-of-the-box value-help recommendations powered by SAP RPT-1, SAP AI Core as a standard CAP service, and an experimental local embedding model behind SQLite's vector functions.sap official, cap that adds the vector functions SQLite lacks and downloads an all-MiniLM L6v2 ONNX model on first start; on HANA natural language processing has to be switched on, the model name is a mandatory argument, the vectors it returns are 768 dimensions, and dimensions must match on both sides of a comparison. HANA itself can be given SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp as a remote source for other embedding models, which a
CDS.ql expression has to inject because the postfix notation only takes what the CDS model holds, and the hour ends with a search function over cosine similarity exposed over @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.LLM integrationEvent enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEMpublishedWalks through connecting SAP's ABAP-side Data Replication Framework to Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp by way of the AIFAEM add-on, bypassing SAP Cloud Integration: a custom ABAP class maps business-partner replication data into AIF, which publishes it to AEM in CloudEvents format. The author's own disclaimer favours the standard pattern instead — a Standard DRF Replication through an Integration Suite iFlow with the AEM adapter — and presents this direct, custom-ABAP route only as a documented alternative.Event Mesh
How Redwood Software and SAP are shaping the next era of automation with Joule StudiopublishedRedwood's Field CTO describes a tech preview where an SAP Basis administrator tells SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp in natural language to pause background jobs and dependent Integration Suite iFlows for unplanned system maintenance; Joule acts as a control tower, triggering a pre-approved RunMyJobs workflow and asking for approval before the restart proceeds. The integration is built by publishing RunMyJobs operations to the SAP Business Accelerator Hub, securing access through SAP BTP with API keys and role-based permissions, and combining those actions into a skill inside Joule StudioJoule StudioSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrella's low-code design canvas.Agent tooling
SAP Developers MCPadded to the atlasHosted MCP server of developers.sap.com tutorials and missionsAgent guidance
SAP Job Scheduling Service: Set Job Run Status with the REST API and Node.jspublishedWalks through recovering a stuck asynchronous job run in SAP Job Scheduling serviceSAP Job Scheduling serviceCalls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive.sap official, btp: when a triggered app fails to call back, the run stays at ACK_RECEIVED and eventually UNKNOWN, since the scheduler never assumes success or failure on its own. The fix is a Node.js script that reads a downloaded service key, gets an OAuth2 client-credentials token, and calls
PUT /scheduler/jobs/{jobId}/schedules/{scheduleId}/runs/{runId} with a success/message body to set the run to FAILURE or SUCCESS by hand.Job schedulingui5-cap-serverside-rendering-demoadded to the atlasDemo CAP bookshop with server-rendered UI5 views
Sat 17
abap2UI5 protocoladded to the atlasVersioned specification of the abap2UI5 roundtrip protocol
Accelerating Your Analytics with Delta Table Replication into SAP HANA CloudpublishedStarting with QRC 04/2025, SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp can replicate a Delta Lake table from an external Delta Sharing source directly into a native HANA table, rather than only querying it live through a virtual table. The post walks through creating a remote subscription, running a chunk-based initial load, and setting up change data capture on a schedule or on demand, each with the SQL statements and monitoring views involved, plus the simpler virtual-table-toggling and HANA Cloud Central UI alternatives.Database connectors
Clean-Core.ioadded to the atlasHosted workspace redrawing custom ABAP as BPMN and grading itDocumentation
Fri 16
Abinaya Srinivasanadded to the atlas
Ajay Sorengadded to the atlas
amarubheadded to the atlas
Andreas Schoesseradded to the atlas
Show 25 more
Bastian Dennstedtadded to the atlas
Fabian Fellhaueradded to the atlas
Fernando Meregali Xavieradded to the atlas
GerdBuchmuelleradded to the atlas
HP Seitzadded to the atlas
j-denneradded to the atlas
Joerg Meyeradded to the atlas
Julian Schambeckadded to the atlas
Marcel Merkleadded to the atlas
Martina Gehwolfadded to the atlas
Nora von Thenenadded to the atlas
Oliver Feldmannadded to the atlas
Olivier Bagotadded to the atlas
Parita Gandhiadded to the atlas
Priyanka Gayenadded to the atlas
ProFreakadded to the atlas
Samuele Barzaghiadded to the atlas
SAP Tutorialsadded to the atlas
Sebastian Maginadded to the atlas
Shrinivasan Neelamegamadded to the atlas
Srinikitha Kondreddyadded to the atlas
Steffenadded to the atlas
Varun Shanbhagadded to the atlas
Vikas Thimmiahaadded to the atlas
Vitaliy Rudnytskiyadded to the atlas
Thu 15
Agentic Engineering for SAP BTP ExtensionspublishedAn agent harness coordinates code generation across isolated Git worktrees, using a skills registry, SAP CAP MCP Server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap, Fiori MCP Server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5 and UI5 Web Components MCP Server@ui5/webcomponents-mcp-serverFour tools that answer an agent's questions about UI5 Web Components from the framework's own documentation — component API, integration guides, and the docs themselves.sap official, ui5 for development context. The diagram shows LiteLLM as a model proxy in front of SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, while automated checks and review gate the generated changes. The worked scenario is CAP-based extensions on BTP, with specifications written before generation and reusable skills governed across teams.Agent access to your code
Automate Recurring Data Updates in SAP HANA CloudpublishedA walkthrough for marking inventory rows stale after 30 days using SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's own scheduler: a SQLScript procedure, a
CREATE SCHEDULER JOB statement with its 7-field cron pattern, the M_SCHEDULER_JOBS monitoring view, and the matching DROP statements to remove both. It then names where that approach stops and lists the alternatives for scheduling outside the database: SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp's Timer Event, the SAP Job Scheduling serviceSAP Job Scheduling serviceCalls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive.sap official, btp, SAP Automation PilotSAP Automation PilotA BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event.sap official, btp for infrastructure commands, and a custom approach for triggering scheduled REST calls from an application.Job schedulingcap-openaiadded to the atlasCAP service actions calling OpenAI chat completions two ways
cap-openapiadded to the atlasCAP Java service calling role collection APIs via a generated client
Show 9 more
cap-principal-propagationadded to the atlasOn-premise ABAP OData V2 service read from CAP over Connectivity
cap-redisadded to the atlasApprouter session held in a bound Redis cache instance
cap-reuse-html5added to the atlasFiori elements app in the HTML5 Application Repository with cdm.json
cap-rfcadded to the atlasCAP Node.js action calling BAPI_EPM_BP_CREATE over RFC
cap-uiadded to the atlasMTA deploying CAP, HDI container and a Fiori elements app
Joule Studioadded to the atlasSAP's managed environment for building custom agents and workflowsAgent tooling
Third-Party MCP Server Access to SAP Solutions on BTPpublishedDescribes external MCP servers and custom servers on BTP, assigning their operators responsibility for authentication, scoped identity, API limits, logging and lifecycle. The permitted use remains conditional on the SAP API Policy, while SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp and Joule Studio are described as SAP-provided paths. Hosting a server on BTP does not automatically supply its governance controls.Serve your application over MCP
Werkbankadded to the atlasLocal desktop workspace for AI conversations with SAP connectorsAgent guidance
Mario Ponceadded to the atlas
Wed 14
Adapting SAP Joule for Purchase Order Creation from an Existing Purchase RequisitionpublishedA custom Joule Agent and Joule Skill, built in Joule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp to extend SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp past its built-in Purchase Order display and change features: a buyer's single sentence naming a Purchase Requisition number becomes a created Purchase Order, with the skill wrapping the Purchase Requisition and Purchase Order OData V4 APIs as Action Packages reached through two destinations. The author anchors the agent's success condition to a PurchaseOrderNumber in the skill's output rather than an HTTP status code, and reports that the Purchase Requisition item structure does not map one-to-one onto the Purchase Order creation payload.Agent tooling
Tue 13
How to rename an OData V4 service?publishedRenaming an OData V4 service binding changes its Service Alias and the resulting service URL, breaking any app already deployed against the old one — shown on a /DMO/TRAVEL-based example in the SAP BTP ABAP environmentSAP BTP ABAP environmentSAP's ABAP runtime on BTP: ABAP systems developed in the ABAP Cloud model on SAP HANA Cloud, for cloud apps, OData services and side-by-side extensions of SAP S/4HANA.sap official, btp by unpublishing, renaming and republishing the binding, then reading the new URL back from the OData V4 service catalog's ServiceGroups entry. It weighs that against two alternatives: adding a second service definition and publishing it as a new service version under the same binding, or creating an entirely new service definition and binding, which keeps the original URL live during the cutover.OData
Integrate SAP Business Technology Platform audit logs with IBM Security QRadarpublishedWalks through pulling entries from the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp for a Cloud Foundry subaccount, via its retrieval API and a service key downloaded from the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp, into IBM Security QRadar as a Universal Cloud REST API log source. A sample audit event, a
data read event under audit.data-access, drives a custom QRadar DSM mapping event ID and category, then the walkthrough deletes a user from a Kyma role collection and shows the matching audit loggingAudit loggingRecording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what.SAP only entry arrive in QRadar as an offense.Audit loggingNice patch SAP! Revisiting your SAP BTP security measures after AI Core vulnerability fixpublishedWritten after the SAPwned disclosure in SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, it argues SAP BTP's shared-responsibility model still requires the customer's own hardening: scope SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp and SAP BTP, Kyma runtimeSAP BTP, Kyma runtimeA fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions.sap official, btp app access, rotate OAuth2 client-credentials secrets, and enforce MFA and Conditional Access through a corporate identity provider rather than relying on SAP's patch alone. It then explains how the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp writes standardized events for most Cloud Foundry BTP services, and walks through onboarding a BTP subaccount into Microsoft Sentinel for SAP BTP to query those logs with Kusto and build detection rules that flag unexpected login countries or known-bad IPs and trigger automatic user blocks.Audit logging
SAP BTP Audit log Enable and retrieve logspublishedWalks through enabling and retrieving records from the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp on SAP BTP's Cloud Foundry environment: the default oAuth2 service plan retains audit data for 90 days at no cost, while the premium plan adds a configurable retention period and lets an application write its own audit data. Covers the three subscription plans (premium, default for a subaccount, central for a global account) and the CLI steps to create a service instance and key, then retrieve records as JSON through the Auditlog Management Service's REST API using an OAuth2 client-credentials token in Postman.Audit logging
Show 1 more
SAP Business Technology Platform: Authorization and Trust Management ServicepublishedWalks through how the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp secures a BTP application: scopes, attributes and role templates in the security descriptor, and the OAuth 2.0 resource-owner, client and resource-server roles it builds on. Covers the XSUAA microservice as the OAuth 2.0 authorization server bound to each application through its service broker, the signed JSON Web Token it issues after authentication, and the App Router@sap/approuterSAP's Node.js application router: the single entry point in front of a business application's microservices, which authenticates the user, forwards each request to a backend by route and serves static content.sap official, btp's place in front of the resource apps as the gateway that starts authentication and checks for cross-site request forgery.Authorization
Mon 12
Develop a full stack Business application with SAP Cloud Application Programming ModelpublishedBuilds a full-stack CAP application in SAP Web IDE Full Stack's now-retired 'SAP Cloud Platform Business Application' template: a data-model.cds entity with its own service definition, then Fiori annotations on the generated OData. Building the project compiles that model into Catalog.xml and csn.json, the EDMX and CSN that metadata publishingMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.SAP and community, narrow by design says every exposed service gets. The entity and service definitions it writes by hand are the basic shape data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed covers, though the webIDE and MTA tooling staged around them is gone.Data modelling
Explaining SAP Joule for HR Business Users & Functional Consultants.publishedWritten for HR business users and functional consultants, this walks through how SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp is provisioned on SAP BTP and wired into SuccessFactors: the Joule instance sits in a BTP subaccount, SAP Build Work Zone is created alongside it, and Identity provisioningIdentity provisioningGetting users, groups and role assignments into every system that needs them, and out again when a person leaves, through provisioning jobs or SCIM APIs. Authentication answers who is calling one request; provisioning decides whether the user exists in that system at all.SAP only syncs users from SuccessFactors into Build Work Zone while Cloud Identity Services authenticates the launch through an IAS tenant. It lists five prerequisites for the connection — a BTP global account, a Joule entitlement, Cloud Identity Service and SuccessFactors admin access, and the right personas — and notes that running BTP's booster adds the Joule permission to the SuccessFactors user's profile.Agent tooling
How to enable SAP Audit Log Viewer service to collect all Audit logs from BTP Services - Part 1publishedWalks through subscribing to the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp's viewer app from the SAP BTP cockpit and creating a RoleCollection from the auditlog-management and auditlog-viewer role templates, assigned to a user or by a rule on the IDP's SAML assertion, to read audit loggingAudit loggingRecording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what.SAP only events in a subaccount. The post's own update notes that a BTP release from 19 February 2026 removed the need for that role-assignment step. It also lists which Cloud Foundry services write audit log events, pointing to each service's own auditing page rather than detailing them here.Audit logging
Introducing the Cloud Application Programming Model (CAP)publishedSAP's own general-availability announcement for CAP, laid out as a Golden Path: a data model and service defined in CDS gets a generated service provider that serves metadata publishingMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.SAP and community, narrow by design and CRUD requests, fills in primary keys and audit data, and writes trace and audit logsAudit loggingRecording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what.SAP only without application code. The same CDS model carries annotations that translate to OData vocabularies and generate a Fiori elements app skeleton, which is how Fiori annotationsFiori annotationsDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.SAP and community, unassessed work in CAP.Metadata publishing
Show 20 more
Model Context Protocol Adapter — CAP guidepublishedDocuments @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap and com.sap.cds:cds-adapter-mcpcom.sap.cds:cds-adapter-mcpThe MCP protocol adapter for CAP Java, serving an @mcp-annotated Application Service as an MCP server with three generated tools, describe, query and call, and data changes only through unbound actions.sap official, cap, service annotations, generated describe/query/call tools and local client setup. The guide records Java doc-comment configuration, unbound-action-based data changes, incomplete XSUAA PKCE support and the adapter’s governance boundaries.Serve your application over MCP
SAP Cloud Platform Backend service: Tutorial [11]: CDS : magic: key: generationpublishedExplains CDS's UUID key type: giving a key property
UUID gets its value generated automatically instead of a hand-picked unused number, as data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed lets an element's type do, at the cost of a 36-character value unfit for a user-facing display. It then works out how that generated value is addressed in a single-entity read URL — bare brackets in ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design V4 against the guid'...' literal V2 requires — citing the OData specification for the difference.Data modellingSAP PI Migration to BTP Integration Suite Patterns and learning experiencespublishedWalks through the integration patterns an SAP PI migration project moved onto SAP Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp iFlows — API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp proxies fronting calls into on-premise SAP systems over XI/SOAP via Cloud Connector, SFTP transfers, and eventing routes — and the operational lessons from running it: sizing JMS queues, choosing exactly-once JMS queues over Cloud Integration's Data Store for XI receiver adapters and at-least-once JMS for XI sender adapters, and workarounds for gaps in the migration tooling. The API Management proxies handle JWT validation against a non-SAP identity provider, IP filtering and OData-to-OpenAPI conversion in front of the iFlows.Rate limiting
Ashutosh Kumar Singhadded to the atlas
AyhamTadded to the atlas
azhariqbaladded to the atlas
BirgitSadded to the atlas
chrisobaradded to the atlas
davidtilladded to the atlas
frank_xieadded to the atlas
leoirudayamadded to the atlas
Manisha Debnathadded to the atlas
Palakadded to the atlas
prajnaparmitaadded to the atlas
rupamaityadded to the atlas
Shilpa Vijadded to the atlas
shiromani_soni1added to the atlas
Talari Hari Kumaradded to the atlas
Udo Paltzeradded to the atlas
Walter Andres Aguero Machadoadded to the atlas
Sun 11
Agent-led test management: Hands-on lab with Joule in SAP Cloud ALMpublishedThe Test Management Assistant, a Joule capability in SAP Cloud ALM, worked through on project scenarios: scoping requirements, detecting coverage gaps and generating test cases with AI. The edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, which the assistant runs on; SAP Cloud ALM has no entry here, and the atlas's testing concern, proving a service's model and handlers, is not this session's test management. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Christina Pickhardt, Daniel Lorenz, Niclas Weidner and Tobias Keller, written here from SAP's abstract; the recording is not yet published.Agent tooling
Agentic CAP: Build MCP servers and enterprise AI agentspublishedCAP applications become AI agents over the Model Context Protocol and the Agent2Agent protocol, which is the serve your application over MCPServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design concern, and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp is the LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design through which AI is embedded in a CAP app, with recommendations from the SAP-RPT-1 model as the abstract's example. The abstract names the two protocols and the one model and does not say which packages carry them. A two-hour TechEd 2026 session in a hands-on room (Tuesday 27 October, Berlin), presented by Daniel HutzelDaniel Hutzelgave 3 talks, contributed to 32 entriessap official, Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official, Marc Huber and Sami Lechner, written here from SAP's abstract; the recording is not yet published.Serve your application over MCP
Agentic memory: Knowledge graph engine and recall in SAP HANA CloudpublishedThe knowledge graph engine in SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp as an agent's memory: what the engine, the graph side of graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only, does in an agentic workflow, how an agent keeps what it learns there, the state agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed holds between turns, and the SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA263 on Wednesday 28 October is a two-hour hands-on on the same engine with a different cast. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Markus FathMarkus Fathgave 3 talks, contributed to 1 entry and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.Database connectors
AI needs a foundation: A map of the plug-in ecosystem for CAPpublishedA map of the plug-ins for CAP (@sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap), official, community and independent, drawn across regions such as integration, performance and tooling, so that a team can see what exists to reuse and what it would have to build: the question plugin authoringPlugin authoringWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.SAP only answers from the other side. SAP's abstract places CAP at the centre of its AI strategy, with model context protocol support, and the map is offered as the foundation under that. A TechEd 2026 session (Tuesday 27 October, Community Theater, Berlin), presented by Mike ZaschkaMike Zaschkamaintains 6 entries, created 12 pieces, contributed to 9 entriesindependent, written here from SAP's abstract; the recording is not yet published.Plugin authoring
Show 67 more
AI-accelerated RISE with SAP migration with the system transition workbenchpublishedSAP Joule for Consultants and the RISE with SAP system transition workbench in a move to SAP S/4HANA Cloud Private Edition: readiness assessments, migration workflows and the SAP tools involved. The edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, of which Joule for Consultants is a part; the system transition workbench has no entry here, and Platform migrationPlatform migrationMoving an application, integration or database from one platform to another: assessing what exists, converting what tooling supports, and adapting what cannot carry over. Language-level compatibility is a separate concern from moving the platform around an application.SAP and community, unassessed covers applications leaving older BTP platforms, not an ERP system's move. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Daniel Funkert, Kristin Aleksandrova, Mirja Kempin and Moritz Gysler, written here from SAP's abstract; the recording is not yet published.Agent tooling
AI-assisted full stack development using model context protocol serverspublishedMCP servers in Visual Studio Code used to configure, query and change a full-stack application built with CAP, CDS and ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design: the agent access to your codeAgent access to your codeLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from MCP servers, which is a protocol adapter on your own running service, and from agent guidance, which is knowledge handed over as files rather than read from the thing itself.SAP and community, unassessed concern, a coding assistant reading and changing the project it works in. The abstract names no server, so neither @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap nor any other is attached, and it does not say which changes are made. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Sergio Guerrero, written here from SAP's abstract; the recording is not yet published.Agent access to your code
AI-enabled administration: Automating log analysis with generative AI hubpublishedA log analysis tool for incident work, built in SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp with the generative AI hub feature, which SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp ships as its LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design by its own documentation: it automates root-cause analysis over system errors and masks sensitive data. SAP's abstract states the tool's jobs and not how the hub is called, what the masking covers or which model answers. A TechEd 2026 session (Wednesday 28 October, Berlin), with no speaker listed in the catalogue at the time of writing, written here from SAP's abstract; the recording is not yet published.Editor support
AI-enhanced analytics with SAP Business AI PlatformpublishedSAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp data products joined to an ontology, a semantic layer the abstract says is supported by the Model Context Protocol, and read from Joule Work (SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp) and SAP Analytics CloudSAP Analytics CloudSAP's SaaS front end for analytics: business intelligence, planning and predictive in one product, and the place a Datasphere analytic model is meant to end up being read.sap official, btp: that is the architecture SAP's abstract states for its AI-enabled analytics. The abstract names the parts and not how the semantic layer is modelled or what an analytics developer builds against. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Hacen Benkhedah, Joaquin Recio HuertasJoaquin Recio Huertasgave 1 talk, contributed to 3 entries, Matilda Hyka and Oliver Huth, written here from SAP's abstract; the recording is not yet published.Agent tooling
Analyze and optimize ABAP Cloud model apps built on core data servicespublishedPerformance anti-patterns in data models built with ABAP CDSABAP CDSThe modelling layer of ABAP Cloud — view entities, projections and annotations defined above database tables, delivered with the platform rather than installed.sap official, abap under ABAP Cloud applications, and the tools that find them: the abstract names ABAP cross trace, the SQL analyzer (PlanViz) in Visual Studio Code and the SAP HANASAP HANASAP’s relational database platform, which stores application data and executes SQL and SQLScript in the database, available on-premise and as the managed service SAP HANA Cloud.sap official, btp database explorer as what the session uses to follow a bottleneck from the application to the database. The anti-patterns are taken from real business applications, which is where the data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed edge holds; which ones are shown is not in the abstract. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Ingo Braeuninger, Robert Werlich, Steffen Siegmund and Thomas Fiedler, written here from SAP's abstract; the recording is not yet published.Data modelling
Behind the Autonomous Enterprise: SAP Knowledge Graph and SAP Domain ModelspublishedThe strategy behind SAP Business AI's intelligence layer: SAP Knowledge Graph for enterprise context, SAP Domain Models for SAP-specific expertise and tabular AI for predictions, unified on SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp with SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp. Knowledge Graph and Domain Models are not atlas entries, so the edges rest on the two products the abstract names as the infrastructure and on Predictive modelsPredictive modelsTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service.SAP only for the tabular AI; nothing is stated about what any of them does in the layer. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST103V, virtual), presented by Jan Portisch and Richard Grandpierre, written here from SAP's abstract; the recording is not yet published.LLM integration
Build AI agents and applications natively on SAP HANA CloudpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp as the base for agentic applications on SAP Business AI Platform: the session goes through CAP, the SAP HANA Cloud vector engine and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, with architecture patterns and lessons learned from building AI-supported applications. SAP's abstract names the three parts of that stack and the vector engine as the database's feature in it, and describes none of the patterns. A TechEd 2026 session (Wednesday 28 October, Berlin; also DA113V, virtual), presented by Christoph Morgen and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.Database connectors
Build business differentiation with SAP AI CorepublishedSAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp as the orchestration layer for enterprise AI, worked through with SAP's engineers: extend Joule Agents with models from its library, ground them in SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp products, embed them in SAP S/4HANA flows, then govern, scale and monitor them from prototype to production. The abstract says what the layer does for an agent and not which services carry each step. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by David KnaackDavid Knaackgave 1 talk, contributed to 13 entries, Franziska Dobrigkeit, Hadi Hares and Jonas Israel, written here from SAP's abstract; the recording is not yet published.LLM integration
Build real-time event-driven integrations for your enterprisepublishedEvent-driven integration with SAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp inside SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp: where events beat request-response, how publish and subscribe decouple systems, and what a phased move to event-driven integration looks like. Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design as architecture; the abstract names no broker protocol and no CDS mapping. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Daniel Dorst and Karsten Strothmann, written here from SAP's abstract; the recording is not yet published.Event Mesh
Build your custom knowledge layer with SAP HANA CloudpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's multi-model engines, the knowledge graph engine among them, as the base for a custom knowledge layer over the enterprise's data, with SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp as the product that includes the database. Graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only put to an AI use; the abstract names the graph engine and not the query language or the vector side. A TechEd 2026 session (Wednesday 28 October, Berlin; also ST108V, virtual), presented by Niklas Siemer and Sebastian SchmidtSebastian Schmidtgave 1 talk, written here from SAP's abstract; the recording is not yet published.Database connectors
Build your first agent with Joule Studio in a pro-code waypublishedThe command line interface of Joule Studio, which the atlas holds as @sap/joule-work-dev-cli-early-adopters@sap/joule-work-dev-cli-early-adoptersjl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btp, carries an agent from a structured intent through generated product requirements documentation and wired APIs to a deployment on Joule Studio's SAP-managed runtime, in one guided flow. SAP's abstract names the stages of that pipeline and promises working code at the end; what the generated requirements and APIs look like is not described. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Charan Ravikumar, Evgenii Skrebtcov, Maria Kondratyeva and Simon Endres, written here from SAP's abstract; the recording is not yet published.Agent tooling
Build your own event-driven scenario with advanced event meshpublishedAn event-driven scenario built on SAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp: queues, topics and subscriptions first, then filtering and event replay, in two parallel tracks, a guided one for newcomers and a second for experienced practitioners. It covers the brokered side of Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design; which systems publish and consume, and which protocol the clients speak, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Claudia Carabineiro, Emily Mui, Karsten Strothmann and Tobias Griebe, written here from SAP's abstract; the recording is not yet published.Event Mesh
Building agentic applications with SAP HANA CloudpublishedA CAP application extended with semantic search and agent features on top of SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's vector engine and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, built in a hands-on workshop. The abstract names the parts, CAP, the vector engine and AI Core, and the two additions: semantic search, the retrieval half of retrieval-augmented generationRetrieval-augmented generationGrounding a model's answer in data retrieved at question time: text split into chunks, each chunk embedded as a vector, and the chunks nearest to the question placed into the prompt. Semantic search is the same retrieval with a person reading the matches, and fine-tuning changes the model's weights, not its input.SAP and community, unassessed, and LLM-supported agent capabilities inside the application, which is agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed. Which embedding model, which CAP runtime and how the agent calls its tools are not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hui Li, Ritty Joseph, Shraddha Shetty and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published.Database connectors
Building custom Joule Agents with SAP Knowledge GraphpublishedCustom Joule Agents built in a hands-on with SAP Knowledge Graph and Joule Studio: discovering APIs from a user's intent, grounding an agent's answers in business context, and integrating data products for SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp. The agents are SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's; the Knowledge Graph is not an atlas entry, and the abstract does not say which Joule Studio edition the exercises use. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Jan Portisch, Lucas Kiesow, Pavithra G K and Rafael Martin, written here from SAP's abstract; no recording is announced.Agent tooling
Building enterprise agent extensions with the Joule Studio solutionpublishedExtending SAP's standard agents with third-party integrations and business actions in Joule Studio: agents that run a process across systems, call an external service, put an approval step in the middle and bring the result back into the business context, which is what SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's agents do and what Joule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp is in the atlas. The abstract names Joule Studio without saying which edition the exercise uses, and lists outcomes rather than the steps built. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Charan Ravikumar, Jacob Hornberger, Maria Kondratyeva and Michael Zadikowitsch, written here from SAP's abstract; the recording is not yet published.Agent tooling
Connecting AI agents to the ABAP RESTful application programming modelpublishedJoule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp connects Joule Agents to applications built with the ABAP RESTful application programming model through actions and skills, calling the OData services those applications expose their business objects through: the tools an agent may call, which is the agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed concern seen from the ABAP side. The abstract promises alternative integration patterns and does not name them. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Leon Karlau, written here from SAP's abstract; the recording is not yet published.Agent tooling
Deploy, review, break, fix: Govern cloud transports with agility and AIpublishedFive BTP services in one delivery chain, as the abstract lays it out: a transport is triggered in SAP Content Agent ServiceSAP Content Agent ServiceA BTP service that assembles content from other BTP services into an MTAR with its dependencies, then downloads it, exports it to a transport queue or imports it into another subaccount.sap official, btp, tested in SAP Cloud Transport ManagementSAP Cloud Transport ManagementMoves software deliverables between SAP BTP accounts along a modelled landscape of transport nodes and routes: Multitarget Application archives, and application-specific content such as SAP Cloud Integration iFlows.sap official, btp, its failure is raised by SAP Alert Notification service for SAP BTPSAP Alert Notification service for SAP BTPA BTP service with one API for publishing alerts and subscribing to them: built-in events about BTP resources and an application's own, delivered to a communication channel or monitoring tool.sap official, btp and remediated by a SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp agent with SAP Automation PilotSAP Automation PilotA BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event.sap official, btp, and SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp keeps the history for root-cause analysis. The chain from alert to remediation is the operations automationOperations automationActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling.SAP only concern; what the Joule agent decides on its own is not in the abstract. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Biser Simeonov, Daniel Funkert, Sven Rullmann and Thorsten SandfuchsThorsten Sandfuchsgave 3 talks, contributed to 3 entries, written here from SAP's abstract; the recording is not yet published.Deployment
Discover fast-track implementation of SAP Cloud ERP with AIpublishedSAP's implementation practice for SAP S/4HANA Cloud Public EditionSAP S/4HANA Cloud Public EditionSAP's cloud ERP, run by SAP as software as a service. For the things here it is the business system a side-by-side application on BTP reads from and writes to over its published OData APIs. and the AI-driven tooling SAP says is changing stages of a project, with faster and more predictable deployments, less manual effort and lower risk as the stated outcomes. The abstract names the product, an external here, and no tool; the edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp because SAP's AI tooling for implementation in the sibling sessions TM109, TM263 and TM265 is Joule for Consultants, and whether this session shows it is not stated. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Anurag Barua and Khaled MUSILHY, written here from SAP's abstract; the recording is not yet published.Agent tooling
Discover how SAP Joule for Consultants transforms cloud implementationspublishedA customer's use of SAP Joule for Consultants in a cloud transformation: grounding project data, running fit-to-standard workshops faster and keeping teams aligned, followed by the technical architecture behind those capabilities and an early road map preview on feasibility for developers and enterprise architects. The edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, of which Joule for Consultants is the offering for consultants and has no entry of its own here; the abstract leaves the customer as a placeholder and the architecture to the session. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Philipp Kandziora and Yi Hsuan Lin, written here from SAP's abstract; the recording is not yet published.Agent tooling
Enriching AI models with SAP AI Core in SAP Business Data CloudpublishedThe integration between SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp and SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, through which data products with their semantics feed AI models for benchmarking, custom AI development and agentic analytics and applications. The abstract names the two products and the three uses and states nothing about how the data reaches AI Core or what the integration consists of. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by San Tran and Sandy Tran, written here from SAP's abstract; the recording is not yet published.LLM integration
Everything new: Try out the latest features in CAPpublishedCAP (@sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap) gains the features this hands-on session works through: declarative constraints, which is the input validationInput validationRejecting bad input before it reaches the database. While this can be done manually inside a handler, there are solutions in place to derive type, range, enum and mandatory checks from the model definitions.SAP and community, unassessed concern, status flowsStatus flowsDeclaring in the model which status transitions an entity may make, so the runtime rejects a transition nobody declared and sets the status itself when the bound action runs, instead of a check written by hand in every handler. Not input validation: that checks a value, this checks a transition. Not workflow integration: that drives an external engine, and this stays inside the model.SAP only as status transition flows, a cds REPL, extensibility through @sap/cds-oyster@sap/cds-oysterRuns tenant-specific extension code inside a WebAssembly sandbox, so a SaaS application can accept custom logic from a customer without running it unguarded.sap official, cap, and HCQL, which SAP's abstract calls CAP's native query-over-HTTP protocol, after an opening stretch of AI-driven app development. The abstract names the features and stops there; what each one does is not described. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Daniel HutzelDaniel Hutzelgave 3 talks, contributed to 32 entriessap official, Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official, Marc Huber and Tim Back, written here from SAP's abstract; the recording is not yet published.Configuration
Evolving the identity lifecycle for an AI-first futurepublishedCloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp as the foundation for authentication, identity lifecycle management and access across SAP landscapes, and the agent identity concepts and SAP-managed identity and access management scenarios SAP says reduce operational effort. The edges are to the service and to the two concerns the abstract names it for, AuthenticationAuthenticationEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems.SAP and community, narrow by design and Identity provisioningIdentity provisioningGetting users, groups and role assignments into every system that needs them, and out again when a person leaves, through provisioning jobs or SCIM APIs. Authentication answers who is calling one request; provisioning decides whether the user exists in that system at all.SAP only; the abstract names the agent identity concepts and does not say what they are. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Sonia Petrescu and Swetta Singh, written here from SAP's abstract; the recording is not yet published.Authentication
Experience core foundational capabilities of SAP Cloud ERPpublishedGuided exercises in SAP S/4HANA Cloud Public EditionSAP S/4HANA Cloud Public EditionSAP's cloud ERP, run by SAP as software as a service. For the things here it is the business system a side-by-side application on BTP reads from and writes to over its published OData APIs., which SAP calls the execution backbone of the Autonomous Enterprise: validating AI capabilities against master data for industry and domain needs, generating AI-driven KPIs and reporting summaries. The product is an external here and the abstract names no AI feature by name; the edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, SAP's AI layer across its applications and the one entry the AI capabilities of SAP Cloud ERP attach to, which the abstract itself does not name. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Akshat Kharial, Ankush Thareja and Nises Soni, written here from SAP's abstract; the recording is not yet published.Agent tooling
Extending SAP Autonomous SuitepublishedExtensibility across SAP Autonomous Suite: AI-enabled development in SAP Build solutions, the ABAP Cloud model among them, as the way extensions are designed, generated and deployed, and a direction for making extensions ready for agentic AI. The abstract names the suite, SAP Build and the ABAP Cloud model and no single feature, so the edges are to ExtensibilityExtensibilityLetting a customer change delivered behaviour without modifying it — key-user fields and logic, developer extensions, and the released extension points that make either safe across an upgrade.SAP and community, unassessed, the concern, and to SAP Build CodeSAP Build CodeSAP's development environment on BTP for SAPUI5, SAP Fiori, mobile and CAP applications that run on the SAP BTP, Cloud Foundry Runtime, in which Joule generates models, services, logic, tests and apps.sap official, btp, the SAP Build solution held here in which Joule generates and deploys development; which other SAP Build solutions the session shows is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Alexander Rother and Khaled MUSILHY, written here from SAP's abstract; the recording is not yet published.Extensibility
Flexible analytics at speed: Calculation views in SAP Business Data CloudpublishedCalculation views in SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, the reusable analytic modellingAnalytic modellingDefining what an analytical client actually reads — the multi-dimensional layer between stored rows and a chart: measures, dimensions, hierarchies, filters and parameters, and the associations somebody navigates them by. Distinct from analytical queries, which is a service answering the request a chart sends, and from loading a warehouse, which fills the tables underneath it.SAP and community, unassessed blocks built in its graphical modelling environment, with three newer parts the abstract names: AI-assisted modelling, refactoring, and advanced materialisation, and the way the views sit inside SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp. What a materialisation is chosen on, and what the AI assistance generates, is not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hansika Colomboge Dona, Jan Zwickel, Niklas Siemer and Thomas HammerThomas Hammergave 5 talks, contributed to 1 entry, written here from SAP's abstract; the recording is not yet published.Database connectors
From Dashboard to Conversational AI in Minutes: Adding MCP to an Existing CAP ApplicationpublishedA walkthrough of adding @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap to an existing CAP service behind the SuccessFactors Localization Dashboard: two annotations (
@odata, @mcp) expose the service over MCP beside its existing OData endpoint, and doc comments added to the 18 entities and their fields are surfaced through the describe tool so a querying model gets business context instead of bare field names. During local development cds watch auto-registers the endpoint in ~/.claude.json, and the author connects the same endpoint to Joule Work Desktop as an MCP connector so users can ask coverage questions in natural language.Serve your application over MCPFrom intent to extension: Joule and the future of solution extensibilitypublishedHow Joule turns natural-language intent into extensions across SAP Autonomous Suite: intent-based agent extensions, enriching the agents SAP delivers, packaging options for partners and what SAP calls a harmonised extensibility experience. The edges are to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, which does the translating, and to ExtensibilityExtensibilityLetting a customer change delivered behaviour without modifying it — key-user fields and logic, developer extensions, and the released extension points that make either safe across an upgrade.SAP and community, unassessed, the concern; the abstract names the directions and no feature that ships today. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Amitha Kamath, Oren Shatil and Richard Kuba, written here from SAP's abstract; the recording is not yet published.Agent tooling
Generate agentic workflows using SAP-managed n8n in Joule StudiopublishedSAP-managed n8n inside Joule Studio generates a workflow from a business intent a developer states, and the workflow is then tested and deployed, consuming line-of-business application APIs, events and agents in SAP Business AI Platform: process automationProcess automationModelling and running a business process: the process flow, the forms people fill in, decision tables, bots for repetitive steps, and dashboards over the instances that run. Starting a process from an application and reacting to it is workflow integration, and the screen a person approves a task on is task and approval UIs.SAP only with the workflow generated from intent, and agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed where the workflow calls agents. The generated workflow sends notifications to the Joule Work mobile app of SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, to Microsoft Teams or to Slack. SAP's abstract names the pieces and not how the generation or the n8n hosting works. A two-hour hands-on TechEd 2026 session (Tuesday 27 October, Berlin), presented by Rama Sulakshani Murari, Rumen Dimitrov, Seshadri Sreenivas Ramanarayanan and Venugopal Chembrakalathil, written here from SAP's abstract; the recording is not yet published.Agent tooling
Get hands on with tabular AI and forecasting models in SAP HANA CloudpublishedPrediction and forecasting as predictive modelsPredictive modelsTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service.SAP only inside SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, worked through hands-on: tabular AI models such as SAP-RPT-1 for on-the-fly predictions, time series foundation models for ad hoc forecasts, and the AutoML in the predictive analysis library. The abstract names the model kinds and the library and does not say how a model is called from SQL or from an application. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Markus FathMarkus Fathgave 3 talks, contributed to 1 entry, Ritty Joseph and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published.Database connectors
Get to know our AI-enhanced mobile apps across the Autonomous EnterprisepublishedA demo of the Joule Work mobile app, part of SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, and selected SAP mobile apps, showing the mobile AI features meant for using SAP Autonomous Suite on the go, followed by the mobile AI patterns and how to build your own Mobile appsMobile appsBuilding a native iOS or Android app over business data: onboarding, offline sync against an OData service, device features, and the client that runs on the phone. Distinct from a web app opened in a phone's browser; operating a web app with a finger is touch operation.SAP and community, unassessed with SAP Business AI Platform. The abstract names the apps and the patterns and states no feature or tool, so what building your own involves is not said. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Sandeep Tetali and Thilo Berndt, written here from SAP's abstract; the recording is not yet published.Agent tooling
Hands on SAP Document AI: Next-generation intelligent document processingpublishedSAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp configured and run by hand: schema design, splitting and classifying documents, enriching the extracted data and custom prompting are the exercises SAP's abstract names. Document extractionDocument extractionGetting structured data out of a document somebody sent you — an invoice, a purchase order, a scanned form — instead of having a person key it in. The mirror image of document output, and a different problem from reading a service: the input is a file, the shape is unknown until something reads it, and the answer arrives with a confidence rather than a guarantee.SAP only from the configuring side, with the schema the participant's own; which document types or models the exercises use is not stated. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Christoph Lenschow, Tobias Weller and Tomasz Janasz, written here from SAP's abstract; no recording is announced.Document extraction
How SAP Document AI brings agentic intelligence to business documentspublishedSAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp as SAP's abstract now describes it: composable, agent-ready skills for schemaless extraction, classification and summarisation of business documents, so Joule Agents can read and act on unstructured content, plus new document foundation models and agentic validation in its workflow engine. That widens document extractionDocument extractionGetting structured data out of a document somebody sent you — an invoice, a purchase order, a scanned form — instead of having a person key it in. The mirror image of document output, and a different problem from reading a service: the input is a file, the shape is unknown until something reads it, and the answer arrives with a confidence rather than a guarantee.SAP only past the fixed-schema fields the atlas entry records; the abstract names the features and not their release state. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Dheeraj Diwan, Soeren Leibach and Tomasz Janasz, written here from SAP's abstract; the recording is not yet published.Document extraction
How SAP secures enterprise AI agents with identity propagationpublishedCloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp as the identity layer for AI agents as well as people: the abstract states that both are managed in one directory, that user context is propagated by token exchange, and that authorisation is enforced at every hop, so no agent holds back-end credentials. Agents from Microsoft, Google and partners take the same flow through the agent gateway. Token exchange across a hop is the authenticationAuthenticationEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems.SAP and community, narrow by design side and the per-hop check the authorisationAuthorizationDeciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact.SAP and community, unassessed side; what the agent gateway is, and whether it is a product, the abstract does not say. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Gunnar KoscheGunnar Koschegave 1 talk, contributed to 1 entry and Sebastian Ries, written here from SAP's abstract; the recording is not yet published.Authentication
Identity lifecycle and governance with SAP services and Microsoft EntrapublishedCloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp beside SAP Cloud Identity Access Governance and Microsoft Entra for one user lifecycle across SAP and third-party applications: the abstract states that SAP business roles can be included in Entra access packages, so that provisioning and governance run from Entra in a hybrid environment, which is the identity provisioningIdentity provisioningGetting users, groups and role assignments into every system that needs them, and out again when a person leaves, through provisioning jobs or SCIM APIs. Authentication answers who is calling one request; provisioning decides whether the user exists in that system at all.SAP only concern. Which SAP systems' roles, and over which protocol, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Martin Raepple of Microsoft, Plamen Pavlov, Regine Schimmer and Swetta Singh, written here from SAP's abstract; the recording is not yet published.Authentication
Inside Joule Studio runtime: Agent deployment and integrationspublishedJoule Studio runtime from the inside: the tools and services SAP manages to deploy, integrate, run, extend and operate agents at scale, and the integrations through the agent gateway and SAP S/4HANA Cloud Private Edition. The edge is to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, whose agents the runtime runs; the atlas reaches that runtime through @sap/joule-work-dev-cli-early-adopters@sap/joule-work-dev-cli-early-adoptersjl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btp, which deploys a solution to it, and the abstract names neither the CLI nor a service by name. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Andre Lamego and Jens Huesken, written here from SAP's abstract; the recording is not yet published.Agent tooling
Joule and related AI offerings from SAP: One platform, many systemspublishedSAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp run across dozens of SAP systems: the SAP for Me portal, orchestration across systems, configuration and credential management, monitoring and tenant isolation are the topics SAP's abstract lists. It stays on the operating side and says nothing about building on Joule. A TechEd 2026 session (Wednesday 28 October, Berlin; also JW301V, virtual), presented by Lukas Lochner, Marvin Klaus and Mathias Rup, written here from SAP's abstract; the recording is not yet published.Agent tooling
Joule and SAP Knowledge Graph: Context-aware AI across SAP solutionspublishedThe catalogue carries RA107's abstract under this title, and what it describes is SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp as the management and orchestration layer of an AI architecture: extending Joule Agents in SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, the model library in Joule Studio for contextual reasoning, connecting data products from SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp, and embedding AI in SAP S/4HANA. The SAP Knowledge Graph the title names does not appear in that text, so the edges rest on the abstract as published, and whether the session follows the title or the abstract is not known until it is recorded. A TechEd 2026 session (Wednesday 28 October, Berlin; also RA110V, virtual), presented by Jan Portisch and Pavithra G K, written here from SAP's abstract; the recording is not yet published.LLM integration
Joule without walls: From personal skills to enterprise interoperabilitypublishedSAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp connects outward over two protocols, A2A and MCP, which SAP's abstract names as the foundation of its open ecosystem, with Joule Assistants as composable agents and extensibility built in. The session draws the line between a personal extension of Joule and one that needs enterprise governance; the abstract does not say where that line falls. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Mathis Boerner and Thomas Mueller, written here from SAP's abstract; the recording is not yet published.Agent tooling
Knowledge graph and agent memory: Build an agent that rememberspublishedThe knowledge graph engine in SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp as an agent's memory: what the engine, the graph side of graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only, does in an agentic workflow, how an agent keeps what it learns there, the state agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed holds between turns, and the SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA205 on Tuesday 27 October is the 45-minute talk on the same engine, with a near-identical abstract and a different cast. A two-hour hands-on TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Jan Zwickel, Markus FathMarkus Fathgave 3 talks, contributed to 1 entry and Thomas HammerThomas Hammergave 5 talks, contributed to 1 entry, written here from SAP's abstract; the recording is not yet published.Database connectors
Modern integration at TÜV Rheinland: APIs, events and cloud transformationpublishedTÜV Rheinland's migration from SAP Process Orchestration to SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp with API-led connectivity and event-driven architecture, told through business cases. The abstract names what was used: the SAP Integration Suite, Event MeshSAP Integration Suite, Event MeshThe event broker activated inside SAP Integration Suite: queues, topic subscriptions and webhook subscriptions, reached over AMQP, MQTT and HTTP.sap official, btp capability, API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp, generative AI for faster development and SAP Cloud ALMSAP Cloud ALMSAP's application lifecycle management product, run by SAP as a service: implementation projects with their tasks, requirements, features, documents and test management, and the operations side of a landscape. For the things here it is the system a server reads over the published Cloud ALM APIs, on behalf of an agent. for monitoring. It states nothing about how any of them was used, so the edges rest on the names and on the Platform migrationPlatform migrationMoving an application, integration or database from one platform to another: assessing what exists, converting what tooling supports, and adapting what cannot carry over. Language-level compatibility is a separate concern from moving the platform around an application.SAP and community, unassessed the story starts from. A TechEd 2026 session (Wednesday 28 October, Berlin), written here from SAP's abstract; the recording is not yet published.Event Mesh
Modernize your database landscape with SAP HANA CloudpublishedWhy to move a database estate to SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, and the migration tools and services for doing so, which is the platform migrationPlatform migrationMoving an application, integration or database from one platform to another: assessing what exists, converting what tooling supports, and adapting what cannot carry over. Language-level compatibility is a separate concern from moving the platform around an application.SAP and community, unassessed concern. SAP's abstract is one sentence and names none of the tools. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Niklas Siemer and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.Database connectors
OData to outcomes—Build AI-enabled SAP Fiori apps using SAP Fiori elementspublishedA Fiori elements app built through SAP's MCP servers: the OData V4 service comes from the MCP server for RAP, which the atlas holds as the ADT MCP ServerADT MCP ServerSAP's own ADT MCP server, and not a package: a preference inside ABAP Development Tools for VS Code that starts a local HTTP MCP server on a port you choose.sap official, abap, or from @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap for CAP, and the UI from @sap-ux/fiori-mcp-server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5, with annotations and actions added before the app is tied to SAP's AI features. Agent access to your codeAgent access to your codeLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from MCP servers, which is a protocol adapter on your own running service, and from agent guidance, which is knowledge handed over as files rather than read from the thing itself.SAP and community, unassessed on both the service and the UI side; SAP's abstract names the servers and the steps and says nothing about which AI features or which agent host. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Benedikt Schoelch, Sebastian Steinhauer, Sebastian Werner and Stefan EngelhardtStefan Engelhardtgave 1 talk, contributed to 5 entries, written here from SAP's abstract; the recording is not yet published.Agent access to your code
Road map for SAP HANA Cloud: What’s next for the AI databasepublishedSAP's road map for SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, which the abstract places as a core component of SAP Business AI Platform within SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp. The abstract promises a firsthand look at what is next for the database and names no feature, release or date, so the two edges rest on the products it names and nothing more. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Niklas Siemer and Thomas HammerThomas Hammergave 5 talks, contributed to 1 entry, written here from SAP's abstract; the recording is not yet published.Database connectors
Road map for SAP Integration Suite: What ships next across all capabilitiespublishedSAP's road map for SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp across its capability areas: API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp, event-driven integration, business process and trading partner integration, and hybrid runtimes for SAP and third-party systems. The abstract promises recent deliveries and the planned innovations that make the platform agent-ready within SAP Business AI Platform; it names the areas and no shipping item, so the edges rest on the product and the one area it names by a product name. A TechEd 2026 session (Thursday 29 October, Berlin; also IN804V, virtual), written here from SAP's abstract; the recording is not yet published.Rate limiting
Road map: SAP Business AI Platform security and SAP Cloud Identity ServicespublishedThe road map for SAP Business AI Platform's security and compliance services, Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp and SAP Key Management Service among them, and the upcoming changes SAP files under security, governance and compliance. The edge is to Cloud Identity Services, the one named service with an entry here; SAP Key Management Service has none, and the abstract names no item of the road map. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Michael Friedrich and Sascha Vierlinger, written here from SAP's abstract; the recording is not yet published.Authentication
SAP AI Core deep dive: Models, agents, and business context at scalepublishedSAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp read as the management and orchestration layer of an AI architecture, beyond the model runtime: SAP's abstract lists extending Joule Agents, the model library in Joule Studio for contextual reasoning, connecting data products from SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp, and embedding AI in SAP S/4HANA. It names the connections and not the APIs behind them. A TechEd 2026 session (Tuesday 27 October, Berlin; also RA107V, virtual), presented by Franziska Dobrigkeit and Hadi Hares, written here from SAP's abstract; the recording is not yet published.LLM integration
SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and WebhookspublishedA step-by-step walkthrough of wiring Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp to publish and consume events between an on-premise S/4HANA system and Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp, contrasting persistent queues (one subscriber, kept until consumed) against unpersisted topics, and WebSocketWebSocketPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.Community only's AMQP transport against webhook delivery for the same queue. Two tested findings support it: a queue consumer running in continuous consumption mode receives a message ahead of a webhook on the same topic, and a message stays queued and is retried (almost 8770 times in under a minute, in the author's test) until the consumer processes it successfully.Event Mesh
SAP HANA Cloud advisors and automationpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's advisors and the tasks they hand off: the elastic compute node, the partition, index and native storage extension advisors that produce recommendations for performance and efficiency, and SAP Automation PilotSAP Automation PilotA BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event.sap official, btp as the service that runs the resulting tasks, which is operations automationOperations automationActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling.SAP only on the database. The abstract lists the features and stops there, so what each advisor recommends and how a recommendation becomes an Automation Pilot command is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Hansika Colomboge Dona, Hui Li, Javier Martin and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.Database connectors
SAP HANA Cloud as a self-managed database: Advisors and automationpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp advisors generate recommendations for database administration, aimed at system performance and efficiency, and SAP Automation PilotSAP Automation PilotA BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event.sap official, btp runs the manual and administrative tasks around the database as automated processes, which is the operations automationOperations automationActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling.SAP only concern on the database side. SAP's abstract names the two services and claims reduced operational overhead; which advisors exist and which tasks the automation covers are not said. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Javier Martin and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.Database connectors
SAP HANA Cloud as the AI database for SAP Business Data CloudpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp as the AI database at the centre of SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp: the strategy behind its AI-first direction, and a Carl Zeiss speaker on how it runs in production today. The abstract names the two products and the customer and no feature, workload or figure, so the edges rest on the products as its subject. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Kush Kashyap and Thomas HammerThomas Hammergave 5 talks, contributed to 1 entry, written here from SAP's abstract; the recording is not yet published.Database connectors
SAP HANA Cloud: The data foundation for contextualizing and reasoningpublishedWhere SAP is taking SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, described in the abstract as the anchor of SAP's data strategy and a unified layer to store, contextualise and reason across a business, and what that means for a data platform decision. The abstract is a direction statement and names no feature, release or date, so the one edge rests on the product itself. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST106V, virtual), presented by Matthew Zenus and Stefan Baeuerle, written here from SAP's abstract; the recording is not yet published.Database connectors
SAP Joule for Consultants: Unified knowledge for requirements and designspublishedFit-to-standard analysis as a consultant on a cloud transformation project: connecting an organisation's data to SAP Joule for Consultants through SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, getting answers from SAP knowledge and that content, then building an expert, loading project files and running guided prompts. The edges are to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, of which Joule for Consultants is a part, and to SAP AI Core, named as the connection path; how the data is grounded is left to the session. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Anantharaman Ravi, Natalie Han, Sachin Kaura and Yi Hsuan Lin, written here from SAP's abstract; the recording is not yet published.Agent tooling
SAP-RPT and TabPFN: Get started with tabular foundation modelspublishedTabular foundation models, SAP-RPT and TabPFN, in a hands-on with SAP and Prior Labs: the model families first, then predictions run through SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp with a workflow built on tabular orchestration and connected to the participant's own data for real-time predictions. A predictive modelsPredictive modelsTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service.SAP only session with the models as the subject; the abstract does not name the SDK or API the workflow is built with. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Eliott Kalfon, Janick Zaehringer-Frasch, Johannes Hoehne, Katharina Schell, Nilay Mehta and Sherene Tan, written here from SAP's abstract; no recording is announced.LLM integration
SAP’s compositional design system: Craft enterprise UIs with AI on the flypublishedSAP's compositional design system is the engine behind the generated interface in Joule Work, the front of SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp: SAP's abstract says AI assembles the UI at runtime from primitives and composites under a body of design knowledge, inside a brand-safe design system, and that the session covers the architecture that keeps the result consistent. A third shape of Generative UIGenerative UIPutting an interface inside an agent conversation: a tool result or an agent's reply shown as controls a person can work in, where text would have been. Two things go by the name. A prebuilt web UI that an MCP tool points to and the host renders in a sandboxed iframe, which the MCP Apps extension specifies, is selected by the model and not generated by it; a user interface rendered from a stream of JSON objects the agent sends, which the A2UI specification describes, is. Generating an application's source at design time is generators.Unmapped beside the two the capability describes, since here the model composes the interface at runtime. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Philip Miseldine and Sophia Levens, written here from SAP's abstract; the recording is not yet published.Generative UI
September 15th: What's New on developers.sap.compublishedThomas Jung walks through a week of changes aimed at agentic consumption of developers.sap.com itself: the hosted MCP serverServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design gains a published
.well-known/mcp.json manifest, curated tools (search_tutorials, get_tutorial_step with a Markdown format option, search_channels), and a listing in the ORD catalog beside its OData, REST and GraphQLGraphQLServing the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one.SAP only APIs. It also documents the site's existing A2A endpoint for the first time and ships a way to turn a tutorial into an installable, cryptographically signed AI Skill with a generated verification script, both concrete instances of agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed; separately, five broken GraphQL example queries were fixed and the full SDL is now served, and new sitemap.md, llms.txt fixes and ORD entries round out the site's own metadata publishingMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.SAP and community, narrow by design.Serve your application over MCPShip your own sandboxed AI operations agent to Kyma in two hourspublishedAn operations agent built and then broken on purpose: the abstract has participants deploy a reasoning agent to SAP BTP, Kyma runtimeSAP BTP, Kyma runtimeA fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions.sap official, btp, connect it to SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, give it observability over the runtime and cause a failure for it to diagnose, the operations automationOperations automationActing on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling.SAP only concern with an agent doing the diagnosis. Patterns for cost control and monitoring are promised at the end; the agent framework and how the sandbox is drawn are not named. A TechEd 2026 session (Tuesday 27 October, Berlin, two hours), presented by Christian LechnerChristian Lechnergave 2 talks, contributed to 12 entries, Piotr Tesny, Thorsten SandfuchsThorsten Sandfuchsgave 3 talks, contributed to 3 entries and Vipin VijayKumar, written here from SAP's abstract; the recording is not yet published.LLM integration
Stop guessing, start counting: How generative AI fixed an inventory messpublishedAn inventory-counting application a business built on SAP Business AI Platform with SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp and generative AI, to replace recount lists kept by gut feel across SAP ERP Central Component, SAP S/4HANA and Microsoft Excel; the talk promises the app, its architecture and what went wrong. The generative AI part is LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design from application code; the abstract names HANA Cloud and generative AI as the two building blocks and says nothing about how either is used. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Ranjeet Kumar, written here from SAP's abstract; the recording is not yet published.Database connectors
Talking to your database: The new data exploration tools in SAP HANA CloudpublishedSAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp's new data exploration tools take a business question in plain language, find the right database objects and run the query, with no data model and no SQL written beforehand, shown live on a standard business data set. SAP's abstract says the session covers how the tools work, what they need and where they hit their limits, and states none of the three. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Anna Hartmann, written here from SAP's abstract; the recording is not yet published.Database connectors
The road map for SAP Joule for Consultants—your go-to SAP consulting toolpublishedSAP's road map for SAP Joule for Consultants, which the abstract describes as becoming the tool for SAP software projects: landscape awareness and secure system connectivity, so that Joule understands an organisation's SAP environments and gives project teams more contextual guidance. The atlas holds no entry for Joule for Consultants, so the piece enters on SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, the product it is an edition of; the abstract states outcomes and no feature or date. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Natalie Han and Sachin Kaura, written here from SAP's abstract; the recording is not yet published.Agent tooling
Transform business data into AI-supported insightspublishedBusiness metrics turned into insights, narratives and recommendations by SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's agents, with People Intelligence, the SAP Snowflake solution extension for SAP Business Data Cloud and SAP Analytics CloudSAP Analytics CloudSAP's SaaS front end for analytics: business intelligence, planning and predictive in one product, and the place a Datasphere analytic model is meant to end up being read.sap official, btp connected in SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp. The abstract names what is connected and what comes out, and does not say what the exercise builds or where the Snowflake extension sits in it; People Intelligence and the extension are not atlas entries. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Babacar Toure, Maximilian Paul Gander, Neetha Pucknat and San Tran, written here from SAP's abstract; the recording is not yet published.Agent tooling
Understanding Fuzzy Search in SAP Fiori ApplicationspublishedExplains SAP HANA Enterprise SearchSearchFree-text search across an entity and its compositions, pushed into the database rather than filtered in the service. Declared search, database similarity search and filtering in application code are often lumped together.SAP and community, unassessed's fuzzy, relevance-ranked matching behind Fiori's global search bar, its exact-match Search Query Syntax operators, and how a CAP CDS project on @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap tunes the gap between them with
@cds.search and @Search.fuzzinessThreshold, shown on a Contracts entity's contractNumber field. Raising the threshold to 0.95 narrows that field to near-exact matches for structured identifiers such as contract numbers, while an unset field keeps HANA's default (~80%) fuzziness for broader free-text discovery.SearchUnlock composable business using SAP Integration Suite, advanced event meshpublishedSAP Integration Suite, advanced event meshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp as SAP's product for event-driven, real-time and loosely coupled integration between SAP and third-party systems, which the abstract ties to composable business architecture. The session is about that product and the Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design concern it answers; the abstract states the positioning and no feature, topic or protocol, and a speaker from CCB Management Services is listed without a stated case. A TechEd 2026 session (Tuesday 27 October, Berlin; also IN111V, virtual), presented by Goran D. Stevanovic and Karsten Strothmann, written here from SAP's abstract; the recording is not yet published.Event Mesh
Unlock predictive and generative AI with your data in SAP HANA CloudpublishedThe AI features SAP lists for SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp: the function libraries for tabular prediction and forecasting, where predictive modelsPredictive modelsTraining, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service.SAP only run inside the database, the vector engine, the knowledge graph engine, which is graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only put to generative use, and SQL to LLM calls. The abstract names the engines and the use cases they are meant for and gives no detail of any one of them. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA204V, virtual), presented by Christoph Morgen and Javier Martin, written here from SAP's abstract; the recording is not yet published.Database connectors
What a Second Document AI Workshop Taught Me About GovernancepublishedFrom questions raised at a second SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp workshop: the retention period for extracted data is a setting in the service's administration rather than a fixed property, with the source file deleted after processing and the decommissioning period for the extracted data configured to the customer's own policy. It also draws a boundary readers kept merging: Document AI extracts across languages but does not translate, so turning a document into a reviewer's own language is a separate step, pointing on BTP at SAP Translation HubSAP Translation HubSAP's translation service for software texts and documents, drawing on repositories of verified and company translations and on machine translation by SAP's neural MT or large language models.sap official, btp.Document extraction
What’s next for agentic analytics and planning in SAP Business Data CloudpublishedWhat is next for agentic analytics and planning in SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp: SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's agents automating insight delivery, analysis, narrative generation and modelling tasks. A road map session; the abstract names the four kinds of task and no agent or date. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA806V, virtual), presented by Kristian Ruemmelin, written here from SAP's abstract; the recording is not yet published.Agent tooling
What’s next for the core platform capabilities of SAP Business AI PlatformpublishedA preview of the operations layer beneath SAP Business AI Platform: selected road map highlights across Joule Studio runtime, Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp and SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp, on how enterprise AI is governed and run. The edges are to the two named services and to SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp, whose agents the Joule Studio runtime runs; the abstract names the three areas and no highlight. A TechEd 2026 session (Tuesday 27 October, Berlin; also XP825V, virtual), presented by Andre Lamego and Jens Huesken, written here from SAP's abstract; the recording is not yet published.Agent tooling
Zero token architecture for Joule AgentspublishedA pattern for SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp's agents in which an agent maps the solution path once, solves the problem, generates reusable code or configuration and validates it, and later requests reuse that output, so discovery is done by the model and execution is repeatable. The abstract states the pattern as an idea and names no Joule component and no case it was tried on. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by EDGAR ADRIAN MARTINEZ ARCE, written here from SAP's abstract; the recording is not yet published.Agent tooling
Sat 10
Communicate from a Java Application to ABAP via WebSocket RFC using JCo - Migration GuidepublishedWalks a JCo setup from classic CPIC-based RFC to WebSocket RFC: swap the application- or message-server logon properties for jco.client.wshost and jco.client.wsport, and implement DestinationDataProvider's getSSLContext (and, for mTLS, getClientCertificate) since the new connection runs over TLS. It covers building the PKI trust on both sides — a local PKCS12 keystore for the Java side, STRUST's SSL-Server Standard certificate exported and imported for mutual trust on the ABAP side — and notes that on BTP, JCo paired with the Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp already implements this via the Connectivity serviceSAP Connectivity serviceThe proxy through which a cloud application reaches an on-premise system behind a Cloud Connector — HTTP, RFC and raw sockets — without that system being exposed.sap official, btp, so the custom SSLContext work can be skipped there.RFC connectivity
Reading Between the Lines: Under-Documented Fiori Elements Capabilities in SAPUI5 1.149publishedReads SAPUI5 1.149's framework source, not its release notes, to show Fiori Elements shifting side-effect refresh, AI field placeholders and multi-user drafting from controller extensions into what the backing service annotates. Event-driven SideEffects push over a WebSocketWebSocketPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.Community only channel through @cap-js-community/websocket@cap-js-community/websocketA WebSocket adapter for CDS services, speaking either the plain WebSocket protocol or Socket.IO, so a service can push instead of being polled.community org, cap, while Draft handlingDraft handlingLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.SAP and community, narrow by design gains ABAP RAP's live field locking on CAP Node.js through Sören LeibachSören Leibachmaintains 6 entries, wrote 1 post, contributed to 5 entriesindependent's own cap-collaborative-draftcap-collaborative-draftA cds-plugin that gives a CAP Node.js service the OData contract, tables and handlers Fiori elements needs for collaborative draft, so a second user joins an open draft instead of meeting HTTP 423.independent, cap plugin. Both rest on Fiori annotationsFiori annotationsDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.SAP and community, unassessed such as
Common.SideEffects and CollaborativeDraft.enabled, which the frontend reads rather than requiring a manifest flag.WebSocketSAP BTP Cloud foundry Job Scheduling for CAP based projectpublishedWalks through binding the SAP Job Scheduling serviceSAP Job Scheduling serviceCalls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive.sap official, btp's trial instance to a CAP application's own custom action endpoint, so the service calls it on a configured interval and keeps a log of each run. The action itself is ordinary application code — here, sending an email through a third-party library — and the trial subaccount the author used could only run the job once, not on a repeating schedule.Job scheduling
SAP Cloud Application Programming Model(CAP):カスタムロジックの実装 – Part 2publishedA walkthrough of implementing custom logic in a CAP Node.js service for the capire bookshopcapire/bookshopThe primer of CAP: a bookshop small enough to read in one sitting, whose Books and Authors every CAP explanation, including this graph's, assumes you have already seen.sap official, cap sample, registering before, on and after handlers around the generated CRUD service for its Books and Orders entities. The before handler validates an incoming order's amount and runs a transactional CQN UPDATE to decrement stock, raising a 400 or 409 through req.error when the amount is invalid or no rows match; an after handler on READ appends a discount note to overstocked books.Error handling
Fri 9
CAP for nodejs安全的暴露接口练习publishedStarting from the risk-management sample, the walkthrough adds an open ExternalAPI service beside the existing RiskService, then moves every security annotation into a separate service-auth.cds file: @requires: authenticated-user on one entity, role-scoped @restrict grants for RiskViewer and RiskManager on another. It tests the unprotected action locally with cds watch, calling it from Postman with the session cookie read out of SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp's preview tab. It then deploys to BTP and reads Risks with a client-credentials OAuth token fetched from a service key of the cpapp-auth instance, after changing that entity's READ grant from RiskViewer to authenticated-user, which the post, citing capire's CDS-based Authorization page, describes as a grant for a technical user integrating systems rather than for access from a front end.Authorization
cap-mtx-scaffoldadded to the atlasAgent skill for CAP multitenancy scaffoldingAgent guidance
Don't "let it crash", is this the new CAP guideline?publishedDinu traces a change in error handling in CAP's Node.jsNode.jsA cross-platform JavaScript runtime that servers, command line tools and scripts written in JavaScript are run with. For the things here, the prerequisite a repository names when its build is a set of npm scripts. runtime: @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap@8.2.0 adds a
cds.server.shutdown_on_uncaught_errors config flag, defaulting to true, but invoking an operation with an undefined variable no longer takes the server down, with or without the flag, where the same code crashed it on cds@6 and cds@7, and the author notes the old behaviour was already missing in cds@8.1. It still crashes with features.odata_new_adapter turned off to use the old OData parser, so it is the new OData adapter, like the REST adapter before it, that answers an uncaught error with a 500 instead of taking the process down.Error handlingsap-cx-developer-companionadded to the atlasAgent skill for SAP Customer Experience APIs, CDS and errorsAgent guidance
Thu 8
auth-samplesadded to the atlasCAP services and a UI for trying role restrictions with mock users
blog-bookshopadded to the atlasCAP bookshop with Fiori elements UI deployed whole to Cloud Foundry
blog-cap-chartadded to the atlasFiori overview page comparing aggregated and plain donut-chart cards
cap-bp-ragadded to the atlasEvent-driven RAG app with CAP, Cloud Integration and SAP HANA Cloud
Show 11 more
cap-cds-typeradded to the atlasCAP service in TypeScript using types from @cap-js/cds-typer
cap-defaultvalue-functionadded to the atlasCommon.DefaultValuesFunction pointed at a CAP service function
cap-embedding-functionadded to the atlasCAP service computing embeddings with HANA Cloud vector_embedding
cap-external-northwindadded to the atlasCAP service serving Northwind's external OData Products as its own
cap-fe-masseditadded to the atlasMass edit enabled in a Fiori elements list report over CAP
cap-feature-controladded to the atlasSingleton entity whose flags drive Fiori elements feature control
cap-github-actionadded to the atlasCAP project built and deployed to Cloud Foundry by GitHub Actions
cap-java-childadded to the atlasConsumer side of a CAP Java parent pom promotion model with Renovate
cap-java-parent-pom-sampleadded to the atlasMaven parent pom pinning cds-services-bom and Spring Boot for CAP Java
cap-java-resilienceadded to the atlasCAP Java service consuming a Business Partner API mocked in Node.js
cap-js-notificationsadded to the atlasOrder service sending notifications via @cap-js/notifications
Wed 7
Securing SAP CAP Applications: XSUAA, Roles, and Authorization Best PracticespublishedWalks through securing a CAP service end to end: declaring scopes and role templates in xs-security.json for the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp (XSUAA), restricting CDS service definitions with
@restrict per role, and dropping into handler code where a rule needs custom logic, with a @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap Node.jsNode.jsA cross-platform JavaScript runtime that servers, command line tools and scripts written in JavaScript are run with. For the things here, the prerequisite a repository names when its build is a set of npm scripts. example that tests roles through req.user.is and a Java one that tests scopes through hasScope. It closes in the BTP cockpit, where a role collection is assigned to users so that their JWT carries the scopes those checks read.AuthorizationTue 6
Beginners Guide to Advanced Event MeshpublishedA scenario-by-scenario walkthrough of Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp, run through Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp iFlows: publishing and consuming queue messages, dead message queue setup with retry counts and acknowledgment modes, direct messages, durable topic endpoints and selectors, time-to-live, REST Delivery Points, replay by replication group message ID, parallel consumers with partition keys, and the request-reply pattern. Each scenario is built and verified step by step against a Solace trial account standing in for AEM.Event Mesh
Sat 3
A simple example of a SAP RAP Application based on Legacy API without UUID keyspublishedWalks through building a managed RAP business object over the Flight Reference Scenario's Travel and Booking entities with unmanaged save and late numbering, so CRUD operations route through the legacy /DMO/FLIGHT_TRAVEL_CREATE, _UPDATE and _DELETE function modules instead of generated persistence, a worked case of ABAP's transactional modelTransactional modelHow a business object's behaviour is defined and who owns the transaction — the choice that shapes everything downstream in an application.SAP and community, unassessed. Covers the ADJUST_NUMBERS and SAVE_MODIFIED saver methods that map preliminary draft keys to the legacy-assigned travel and booking IDs, and a GetDefaultsForBookings action that proposes the next booking ID during draft handlingDraft handlingLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.SAP and community, narrow by design.Transactional model
CAP Node.js Expert Session #6 - The MCP AdapterpublishedDaniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official and DJ AdamsDJ Adamscreated 22 pieces, contributed to 20 entriessap official add @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap to a bookshop service, inspect its describe, query and action tools, and query the catalogue through an AI agent. The session distinguishes this runtime adapter from the development-time MCP server and demonstrates automatic registration of the running service with a local agent. The recording describes the adapter as beta in July 2026, with read-only queries and writes through unbound actions.Serve your application over MCP
Thu 1
Product Updates for SAP Build Code – June 2025 EditionpublishedThe Q2-2025 release of SAP Build CodeSAP Build CodeSAP's development environment on BTP for SAPUI5, SAP Fiori, mobile and CAP applications that run on the SAP BTP, Cloud Foundry Runtime, in which Joule generates models, services, logic, tests and apps.sap official, btp adds a Joule-based SAP HANA Application Migration Assistant extension that automates converting XS Classic and XS Advanced service-layer artifacts — XSJSLIB, XSODATA and XSJS — into CAP service definitions and handlers on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, extending the existing database migration assistant with generative AI. It walks through the "XS Classic to CAP" and "XS Advanced to CAP" templates that trigger the conversion.Platform migration
SAP CAP Recent Enhancements the HANA Dev Should Know AboutpublishedThomas Jung walks through CAP features for HANA database developers that landed through late 2021: doc comments in the data modelData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed (CDL comments propagated into generated database objects via the package.json
cdsc.docs compiler option), and schema evolutionSchema evolutionGetting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step.SAP and community, narrow by design reaching general availability in the November 2021 release, using the @cds.persistence.journal annotation and cds.hana.journal settings to generate incremental hdbmigrationtable migration scripts instead of dropping and recreating tables. It also walks through two features outside those two: window functions in view column definitions, added in the December 2021 release, and a beta assert_integrity setting that generates database foreign-key constraints from 1:1 associations and compositions.Schema evolutionSAP Developer New, July 3rd 2026publishedA "Did You Know" segment in this SAP Developer News video walks through schema evolutionSchema evolutionGetting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step.SAP and community, narrow by design: CAP's ability to add a new field to an entity, or make a compatible change to an existing one, then redeploy the model with no data loss or manual migration. The rest of the July 2026 episode covers that month's Developer Challenge, a SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp Q2 release announcement and a UI5 survey call, none explained in substance here.Schema evolution
Andrefirst recorded in the atlas
Show 1 more
Martin Frickfirst recorded in the atlas
Wed 30
#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 1publishedFirst of a three-part series on designing a CAP application on BTP that uses the platform's data privacyData privacyDoing what the law requires with personal data — knowing which fields are personal, answering a subject's request about them, and deleting them when the reason for holding them expires.SAP only services, and this part is the vocabulary before any of it: personal data, the rights a data subject has under GDPR, and the data controller and processor distinction, worked through an order-confirmation SMS example. It names four BTP services: SAP Personal Data ManagerSAP Personal Data ManagerA BTP service that finds data subjects, tells them which of their personal data an application or service stores and uses, and handles their requests about it.sap official, btp, SAP Data Retention ManagerSAP Data Retention ManagerA BTP service that holds residence and retention rules for applications' personal and transactional data, and triggers blocking, deletion, archiving and destruction.sap official, btp, SAP Data Privacy IntegrationSAP Data Privacy IntegrationA reuse service whose APIs an application calls for its data privacy duties: retention rules and deletion at the end of purpose, reports of the personal data held, and anonymisation of unstructured data.sap official, btp and SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp. Only the first is described, as a service running in the Cloud Foundry environment that finds data subjects across one or more applications and services, makes requests on an individual's behalf about their personal information and forwards them for handling, and notifies individuals which of their personal information is being used or sends them a copy of their record by email; the CAP-side annotations and PDM's own application features follow in Part 2#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 2Walks through wiring a CAP service to SAP's Personal Data Manager (PDM) on BTP: entity, key and field-level @PersonalData annotations that mark data subjects and personal fields, the @PersonalData.IsPotentiallyPersonal / IsPotentiallySensitive distinction that drives audit logging, and the @Communication.Contact annotation PDM needs to search for a data subject. Covers the xsuaa trust arrangement and service binding that let the standalone PDM application call back into the CAP service to read and manage that data. Second of a three-part series; the annotation model it demonstrates is CAP's own mechanism for data privacy compliance, exercised against a sample 'Game Shop' application.Ajit_K_Panda, published 2023-03-18 and Part 3#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 3Third of a three-part series, this covers the UI side of SAP's Personal Data Manager (PDM) once it is subscribed and wired to a CAP application: a Customer Service Representative searches for a data subject, views the personal data the application's annotations expose, and requests correction, deletion or export on their behalf, while an Operators Clerk processes those requests through to completion. PDM stores none of the personal data itself, only the requests and access logs, which an administrator downloads through the separate Data Transport app. It builds on the annotation model the first two parts introduce, so what it demonstrates is PDM's own delivered UI rather than anything a CAP application must build itself.Ajit_K_Panda, published 2023-03-18.Data privacy
Integrating SAP Cloud Identity Services (Identity Authentication - IAS) with SAP Audit Log ViewerpublishedWalks through wiring an Identity Authentication tenant of Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp into the SAP Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp on SAP BTP, Cloud Foundry: from the tenant's Monitoring & Reporting tile, adding the target BTP subaccount's tenant ID and subdomain ties the two together, and after a 15-20 minute wait the resulting Audit Log Viewer link surfaces logs of personal-data changes and of successful and failed authentications. Logs are then filtered by date and keyword, each entry carrying its event category, event and object type, timestamp, and the user who performed the action.Audit logging
Tue 29
Agentic AI on BTP: a Multi‑Agent App with Pydantic AIpublishedSplits a single CAP/TypeScript agent that had grown to juggle five BTP MCP servers behind one bloated tool list into btp-multiagent-app, a Python and Pydantic AI rewrite where the Cloud Foundry and BTP Core MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design each get a dedicated specialist agent, with an audit log specialist scaffolded but left disabled, behind an orchestrator whose only tools are delegation calls to those specialists, which is the agent-toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed pattern the piece works through. Each specialist authenticates to its MCP server over Streamable HTTP with OAuth 2.1, and a shared module centralises the SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp GenAI Hub model setup behind two credential layouts, one for local runs and one for the Cloud Foundry service binding, the LLM integrationLLM integrationCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.SAP and community, narrow by design side of the rewrite. Tool lists per agent drop from well over a hundred to a dozen or two, and routing failures become separable from tool-misuse failures by reading the trace.Serve your application over MCP
Agentic AI on BTP: a Single Agent with LangGraphpublishedA CAP TypeScript agent puts a LangGraph StateGraph in front of AzureOpenAiChatClient from @sap-ai-sdk/langchain, reaching SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp's Generative AI Hub, and lets its tool-calling loop draw on five deployed MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design — OData MCP Proxyodata-mcp-proxyA config-driven proxy that turns OData and REST endpoints into MCP tools from a JSON file — no code — and runs on BTP Cloud Foundry against BTP Destinations.independent, btp, CI MCP ServerCI MCP ServerAn MCP server that exposes SAP Cloud Integration's OData APIs as tools, defined entirely in one JSON config file, so an assistant works integration content, logs and configurations in natural language.independent, btp, AI Core MCP ServerAI Core MCP ServerAn MCP server that exposes SAP AI Core's APIs as tools, defined entirely in one JSON config file for a proxy, so deployments, configurations and scenarios are managed through an assistant.independent, btp, BTP MCP ServerBTP MCP ServerBTP Core Services as MCP tools, and the only server in this corner that renders dashboards inside the chat — a subaccount overview with drill-down, a geomap of data-centre locations, consumption and users.independent, btp and BTP CF MCP ServerBTP CF MCP ServerThe Cloud Foundry V3 API on SAP BTP as MCP tools — apps, orgs, spaces, services, routes and quotas — declared in one JSON config file and run by odata-mcp-proxy.independent, btp — through @langchain/mcp-adapters' MultiServerMCPClient. Because agent, servers and APIs share one XSUAA tenant, the chat service forwards the signed-in user's own JWT instead of a service account, so each downstream server enforces that user's own authorizations. Past roughly a hundred combined tools the single prompt slows down and stops separating concerns, which is why the author's next post splits it into one specialist agent per MCP server behind an orchestrator.Serve your application over MCP
BTP Audit Log MCP Server: Security Monitoring with AI AssistantspublishedWouter Lemaire builds an MCP server over SAP BTP's Audit Log Retrieval API using odata-mcp-proxyodata-mcp-proxyA config-driven proxy that turns OData and REST endpoints into MCP tools from a JSON file — no code — and runs on BTP Cloud Foundry against BTP Destinations.independent, btp, with a single entity set and zero custom code, so an AI assistant can answer natural-language questions like "Were there any configuration changes yesterday?" by calling AuditLogRecords_list against a BTP destination authenticated with the Audit Log serviceSAP Audit Log serviceIngests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services.sap official, btp's service key. It covers the destination setup, the entity-set configuration that maps the PascalCase entity name to a lowercase auditlogrecords path, and handling the API's 500-record pagination limit.Serve your application over MCP
Mon 28
[Part - 1] Enrich CAP based Services with Behaviors using AnnotationspublishedWalks through CDS annotations that add behaviour beyond CRUD: @readonly and @insertonly take away write, update or delete on an entity or element, each shown with the OData metadata it generates. @mandatory, @assert.unique, @assert.integrity, @assert.format and @assert.range then enforce input checks that @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap runs on write, with the SQL or HANA constraint @assert.unique compiles to and the error code each rejection returns. It names @restrict and @requires but defers them, calling authorization too large a topic for this post.Input validation
CAP: Consume External Service - Part 1publishedBuilds a CAP Node.js service from scratch that consumes the public NorthWind OData V4 service:
cds import turns its EDMX metadata into a CSN model under srv/external, and a CatalogService projects Products from it with a custom READ handler that runs the request through cds.connect.to('NorthWind'). Shows the same projection working two ways — against a CSV mocked under srv/external/data with the <service>-<entity>.csv naming the framework expects, then against the real service once credentials.url is added to the CAP configuration and @sap-cloud-sdk/http-client@sap-cloud-sdk/http-clientThe HTTP client that carries a destination's credentials, so an outbound call inherits the authentication rather than assembling it.sap official, cap is installed — and defers routing that connection through the Cloud Foundry DestinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed service to the next post in the series.Service integrationEvent-driven Extensions for SAP SuccessFactors on SAP BTP – Connecting the DotspublishedWalks through an event-driven extension for SAP SuccessFactors: Automated Configurations registers the SuccessFactors system against an SAP BTP account with an integration token, and a SuccessFactors custom integration then pushes events, such as an employee joining or leaving, to a topic in Event MeshEvent MeshEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing.SAP and community, narrow by design that a CAP application subscribes to. The SuccessFactors APIs themselves are downloaded as EDMX files from SAP API Business Hub and imported into the CAP project, the same EDMX-import path behind service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design, so CAP generates the client used to call them. A reference application, RunSmooth, ties Automated Configurations, Event Mesh and CAP together end to end.Event Mesh
Extend SAP SuccessFactors on SAP BTP with CAP - Create the CAP ServicepublishedWalks through writing a service definition in SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp that projects entities from an existing CDS model: one entity gets
@odata.draft.enabled because Fiori Elements only shows CRUD actions on a draft-enabled entity, and a read-only projection of an already-imported SuccessFactors OData entity fails with the generic handlers because the call is delegated to the remote service, so a custom handler is needed. Running cds watch then serves the entities, drafts and $metadata at the declared service path.ODataShow 10 more
Extend SAP SuccessFactors on SAP BTP with CAP - Import SAP SuccessFactors OData Services definitionspublishedWalks through importing the ECEmployeeProfile and PLTUserManagement OData services from SAP API Business Hub into a CAP project: downloading their EDMX files, running
cds import in SAP Business Application StudioSAP Business Application StudioSAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces.sap official, btp to generate the CSN under srv/external, and pointing the resulting cds.requires entries at a destination. The second half creates a destination and an XSUAA service instance on BTP and binds their service keys into a default-env.json file so the project can reach SAP SuccessFactors during local development.Service integrationFirst Java Cap ApplicationpublishedA step-by-step walkthrough of a first CAP Java project: com.sap.cds:cds-services-archetypecom.sap.cds:cds-services-archetypeA Maven archetype that generates a new CAP Java project: a Spring Boot service with a starter CDS model, wired to the CDS Maven plugin for its build.sap official, cap scaffolds the initial Maven project, and the domain model is then rewritten in the db folder with entities, the cuid and managed aspects, associations, compositions and a CodeList, so a hand-coded event handler serving a single entity gives way to a service that CAP's generic persistence handling serves without custom code. It deploys that model to SQLiteSQLiteAn embedded SQL database engine used as a selectable local cache store by CAP caching plugins. for local development — cds deploy --to sqlite, then a Spring profile pointing at the generated database file — and ends by adding an index.cds so the model and service can be published as a reusable npm module.Data modelling
How to build reusable plugin components for CAP Java applicationspublishedA companion to Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official's Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30, showing the same mechanism on CAP Java: a plugin ships as its own Maven artifact with an event handler and a
CdsRuntimeConfiguration implementation, registered through the JDK's ServiceLoader rather than any CAP-specific wiring. The walkthrough builds a cds-emoji-plugin-java jar that decorates @emoji-annotated fields on read, installs it to the local Maven repository, and adds it as a runtime dependency to a cds init --add java bookshop application. It argues the plugin mechanism was not new to CAP Java, just previously undocumented.Plugin authoringImporting an external data model using CDS Graphical Modeler for Visual Studio CodepublishedWalks through the CDS Graphical Modeler for Visual Studio Code: creating a "Customers" entity, importing an external OData model from an edmx file into the CDS model, and drawing a managed association from the new entity to an entity from the imported namespace. The import happens through the modeler's GUI rather than the
cds import command, and the imported edmx becomes a CDS file the modeler can open directly.Metadata publishingSAP CAP Adapter to expose OData as custom REST ServicepublishedWalks through consuming an external OData V2 service in a CAP project —
cds import converts the Northwind service's EDMX into a CSN and cds.connect.to wires up the remote proxy — then re-exposing it as plain REST with the @protocol:'rest' annotation instead of ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design's own envelope. Shows two ways to reshape the response, renaming and dropping fields in a CDS projection or rewriting the returned objects in a custom service handler, and remaps ?pageSize and ?offset onto OData's $top and $skip in that same handler.ODataSAP CAP: Consume SAP API Hub Sandbox Data as an external service Part- 1publishedWalks through consuming SAP API Business Hub's Business Partner sandbox API from a CAP Node.js project: @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, cap's
cds import turns the downloaded EDMX into a CSN model and a cds.requires entry, a projection service exposes it, and a custom handler forwards reads to the proxy through @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap's cds.connect.to and bp.run(req.query). Reaching the sandbox needs the API key added as a header on that same credentials block, since the destination service that would carry it is left for a promised part two.Service integrationSAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1publishedIntroduces SAP Cloud Application Programming Model@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap as an open, opinionated framework that shoulders OData plumbing and database-specific code so a domain is modelled once in CDS, then builds a small bookshop project to show it: @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, cap's
cds init scaffolds the project, cds watch serves it locally with live reload against an in-memory SQLiteSQLiteAn embedded SQL database engine used as a selectable local cache store by CAP caching plugins. database, and a CatalogService projects a CDS domain model seeded from CSV files. The result is read as an ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design service in the browser and exercised further through a Postman collection, with the optional @sap/vscode-cds@sap/vscode-cdsSAP CDS language support for Visual Studio Code and Business Application Studio, published as an npm library.sap official, cap extension noted for CDS syntax highlighting and completion in VS Code.Local developmentSAP Cloud Platform Backend service: Tutorial [12]: CDS : local: buildpublishedCompiling a CDS model locally with the
cds command-line tool, installed from @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap via SAP's own npm registry, before uploading it to SAP Cloud Platform Backend service: cds compile converts the model to CSN by default, --to edmx or --to edm produces the OData V2 or V4 metadata document, and --to hana or --to sql produces the database-specific definition files. It shows the local build catching an error the CDS editor's own validation misses — an entity with no key, valid CSN but invalid OData — before the same model reaches the server's compiler.Metadata publishingUseful CAP CDS and Fiori Commands to Accelerate Development and DeploymentpublishedA command-by-command walkthrough of
@sap/cds-dk's cds add and fiori add generators: cds add xsuaa writes an XSUAA security configuration from the CDS model's authorization annotations, and cds add hana together with cds deploy --to hana switches persistence from the default SQLite database to SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp. cds add mta and fiori add deploy-config, from @sap/generator-fiori@sap/generator-fioriThe single entry point for generating a Fiori application — the user picks a template and the generator produces the project around it.sap official, cap, build the Cloud FoundrySAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp deployment descriptor together, adding a destination-service block and an xs-app.json that routes the Fiori app's calls through a named destination.AuthorizationMichaelSchmid-AGIfirst recorded in the atlas
Sun 27
@cap-js/processadded to the atlasStarts and manages SAP Build Process Automation processes from CAPWorkflow integration
CAP Service to Fetch + Create Sales Order in S4 HANA Public CloudpublishedA CAP Node.js walkthrough imports SAP S/4HANA Cloud's Sales Order OData API with cds import, adds csrf handling to the generated service definition, and forwards a custom REST action's reads and writes to the remote proxy through cds.connect.to, the pattern Service integrationService integrationUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally.SAP and community, narrow by design covers. The mta.yaml binds the SAP S/4HANA Cloud extensibility service and a SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp instance so the S/4HANA Public Cloud system's address and credentials stay outside the application, per DestinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed.Service integration
Sat 26
capvaladded to the atlasCustom messages and handler classes for CAP input validationInput validation
How to Approve/Reject Task via API in SAP Build Process AutomationpublishedWalks through the Workflow API's
/task-instances PATCH call that SAP Build Process AutomationSAP Build Process AutomationSAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances.sap official, btp exposes to approve or reject a user task from outside its Inbox, matching the instance ID from the Monitoring tab and the identifier of the button the approval form defines. Covers the permission split between an authenticated user, who needs the ProcessAutomationAdmin or ProcessAutomationParticipant role collection to appear as the one who completed the task, and Client Credentials, which completes it as a generic client identity, plus the error codes the API returns for a missing instance, an already-completed task or an invalid status.Task and approval UIsSAP Build Process Automationで「グループ宛て承認ワークフロー」を構築するpublishedWalks through building a group-addressed approval workflow in SAP Build Process AutomationSAP Build Process AutomationSAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances.sap official, btp: a user group created in SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp is bound to the app so an approval step can send one request to every group member's inbox at once, closing as soon as any one of them acts. The approval formTask and approval UIsThe screen a person approves something on — a workflow or process task rendered as a form, embedded in an inbox that supplies its context. Distinct from workflow integration, which is about driving the engine: this is the half a human touches, and its hard part is that it cannot run without the engine that normally feeds it.SAP only shown in that inbox carries a Claim button that hides a claimed task from the other members, and the workflowWorkflow integrationDriving an external workflow or automation engine from an application and reacting to what it emits — triggering runs transactionally and importing the engine’s shape as a typed model.SAP and community, core adopted it's approval step binds its group recipients to the field the requester chose on the start form.Task and approval UIs
Sending Emails from SAP CAP Applications with Any SMTP ProviderpublishedWalks through sending mail from a CAP application with no dedicated mail service: create an SMTP destination for a Gmail account in the SAP BTP cockpit, bind it to the Cloud Foundry app, and call the sap-cf-mailer npm package from a CAP service handler naming that destination. The SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp holds the SMTP host, port and app password so the handler code names only the destination, and the same handler sends plain text, an HTML body, or a message with a base64-encoded attachment.Destinations
Show 2 more
Why SAP Cloud Identity Matters for SAP Task Center: It’s About Trust and Global User IDpublishedA step-by-step configuration walkthrough for wiring SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp as the trust and user-correlation layer behind SAP Task CenterSAP Task CenterOne inbox across SAP applications: tasks from S/4HANA, SuccessFactors, Ariba and BTP workflows in one list, with a public API for a custom task provider.sap official, btp: establishing Identity Authentication as the sole trusted identity provider for the BTP subaccount, and generating the Global User ID — carried in the token's user_uuid claim rather than the SAML name identifier — that Task Center uses to match logged-in users to their tasks. It also covers syncing that ID between Microsoft Entra ID, the Identity Directory and SAP S/4HANA through Identity ProvisioningSAP Cloud Identity Services - Identity ProvisioningProvisioning jobs that carry users and groups, with their authorisations, between cloud and on-premise business systems, SAP and non-SAP, in full or delta read mode.sap official, btp jobs, and the principal-propagation trust the cloud connectorCloud ConnectorSAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow.sap official, btp needs to pass it through to an on-premise task provider.Authentication
MattBrightmanadded to the atlas
Fri 25
@sap-ux/createadded to the atlasCommand line for changing features of an existing Fiori projectGenerators
@sap-ux/fe-fpm-writeradded to the atlasWriter of flexible programming model elements into Fiori elements appsGenerators
@sap-ux/odata-service-writeradded to the atlasWriter that adds an OData service to an existing UI5 projectGenerators
@sap-ux/odata-vocabulariesadded to the atlasOASIS and SAP OData vocabularies with a VocabularyServiceFiori annotations
Show 7 more
cap-materialbom-graphadded to the atlasCAP sample drawing a material BOM as a UI5 network graph
custom-llm-clientadded to the atlasLocal chat client for SAP questions with a CAP LangGraph backend
fiori-table-maintenanceadded to the atlasCAP and UI5 app for in-place table maintenance with SmartTable
SAP Codejam on Event Driven Build ProcesspublishedA hands-on CodeJam walkthrough of an event-driven flow: a Business Partner creation event from a simulated S/4HANA Cloud system is published to SAP Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp, where the author configures topics, queues and subscriptions and forwards it through a REST Delivery Point to SAP Build Process AutomationSAP Build Process AutomationSAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances.sap official, btp, which runs a business process with a human approval step and an asynchronous callback to a third-party system. The event producer stays unaware of its consumers, with SAP Build acting purely as an orchestrator reacting to events.Event Mesh
spreadsheetimporter/sample-full-btpadded to the atlasCAP Risks and Mitigations project with a Spreadsheet Upload button
ui5-call-actionadded to the atlasUI5 apps calling CAP OData actions and functions from custom code
ui5con24-dev-envadded to the atlaspnpm workspace running CAP, a local launchpad and two UI5 apps
Wed 23
BTP CAP : Custom plugin to separate generic change log capture logicpublishedWalks through building a custom [CAP](ecosystem:cap) plugin that centralises change-log capture: on
cds.once('served') it collects entities annotated @audit, then hooks srv.before('UPDATE') to read the existing record, diff it field by field against the incoming payload, and record old/new values with the user and timestamp. It also documents a cds build failure packaging the plugin's own directory into gen/srv for MTA deployment, fixed by adding it as a copyfiles build-parameter step in mta.yaml.Change trackingBuilding an SAP BTP Agent Architecture from Scratch: Python + CAP + HANApublishedA first-person build log of a Flask orchestrator on Cloud Foundry that reduces a question to keywords, searches a Node.js service's Documents entity, and passes what it finds to Claude for a grounded answer. Getting there means learning that HANA's fuzzy
.search() matches one word but not a full sentence, fixed by splitting the query into terms and merging the per-term hits, and that provisioning SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp hits a database-level free-tier quota rather than an HDI-container one, with a stopped instance needing to be resumed first. It also covers @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, cap needing to sit in dependencies rather than devDependencies, since Cloud Foundry's buildpack skips the latter, before cds deploy --to hana can run as part of the push.SearchImproved Search Performance in SAP BTP Core, SAP Cloud Application Programming Model, Node.js RuntimepublishedExplains CDS version 5's @cds.search annotation, which lets a service declare which elements a search query covers, and states that only String-typed elements are searched by default so the generated SQL stays simple. Covers two further changes to @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap's Node.js runtime: metadata about which elements are searchable is now cached, and search over localized text can resolve at query time instead of through a compiled view, avoiding a coalesce function that blocks filter push-down on SAP HANA. Also describes an experimental toggle, cds.env.features.optimized_search, that lets the runtime choose the CONTAINS predicate over LIKE for large data sets.Search
SAP AI Services - DOX - Gen AI with SAP CAP Plugin - Part 3publishedBuilding on Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30 by Daniel SchlachterDaniel Schlachtercreated 9 pieces, contributed to 10 entriessap official, this part walks through a custom CAP plugin — a
cds-plugin.js plus a lib_cap_dox.js helper — that authenticates against SAP's Document Information Extraction (DOX) service and calls its schema and job-status APIs to fill an entity from extracted document fields. It covers reading the service key from Cloud Foundry (cf service-key) for the OAuth token endpoint, and dynamically mapping DOX's header and line-item output onto CAP entity properties.Plugin authoringShow 4 more
UI for the BTP Application Vulnerability ReportpublishedAn open-source SAPUI5 front end for SAP's Application Vulnerability Report API, backed by a CAP Node.js service that projects the external findings as an ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design V4 entity and forwards each query with api.run(req.query). The CAP service reaches that API through a Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp instance configured with OAuth2ClientCredentials authentication from a service key, so the address and credentials stay out of the application code.OData
Expertumfirst recorded in the atlas
Matthis Vansteenhuysefirst recorded in the atlas
Stijn Mertensfirst recorded in the atlas
Tue 22
API Composition: Seamless Enterprise Data Access for Developers and AI AgentspublishedAPI CompositionAPI CompositionOne API over the business data in a landscape: a business data graph queried with OData V4 or GraphQL, instead of each source system's own API.sap official, btp (formerly Graph, a capability of API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp) curates business data graphs from existing SAP and non-SAP API providers, so a query can navigate and expand relationships across systems through one composed API rather than hand-written integration code. Palak walks through combining SAP S/4HANA warehouse-stock data with Everstream Analytics risk data into one API, then exposing that composed API as an MCP server so an AI agent calls it with the same semantic context — the scenario behind API Management's MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design coverage.Rate limiting
CAP full-stack testing with BDD flavourpublishedIntroduces Behavior-Driven Development for CAP applications: specifications written in Gherkin against a running app, validated by Cucumber, using cds-cucumbercds-cucumberBehaviour-driven tests for CAP applications: Gherkin scenarios that drive a running service rather than assertions written against handlers.community org, cap's ready-made step definitions for SAP Fiori elementsFiori annotationsDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.SAP and community, unassessed and OData screens. The library handles service lifecycle — starting the app, assigning a port, driving the browser and authenticating a named user — and its OData steps know the service's entities and fields from the CDS model itself, so a scenario can open a list report, search it and assert row counts without hand-written glue code.Testing
Graph on Integration Suite: Simplifying Multi-API Data Retrieval with Unified Business Data GraphpublishedA hands-on walkthrough of Graph, the API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp feature of SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp also called Business Data Graphs, which exposes several OData APIs as one connected data model behind a single OData V4 or GraphQL endpoint. It covers enabling the capability and its Graph.KeyUser and GraphNavigator.Viewer role collections, creating BTP destinations and a service key for an S/4HANA system, then building a Business Data Graph over the Sales Order and Business Partner APIs so a mirrored SoldToParty association returns both in one call, in place of the two OData requests a Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp Content Enricher would otherwise merge.Rate limiting
Information Map – Introduction Series: Graph in SAP Integration SuitepublishedIntroduces Graph, an enhancement to API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btp within SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp that gives developers a single API onto an organisation's business systems, modelled as one semantically connected business data graph, later renamed API Composition. Splits the work between an administrator, who enables SAP BTP destinations to the backend systems and builds the business data graph, and a developer, who explores it in the Graph Navigator tool and builds an application against the resulting Graph API.Rate limiting
Show 4 more
SAP BTP Destinations in a Nutshell Part 1 - Motivation & NoAuthentication DestinationspublishedOpens a series on SAP BTP DestinationsSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp by walking through the simplest case, a NoAuthentication destination from one CAP Node.js app to another on Cloud Foundry, shown two ways:
executeHttpRequest from @sap-cloud-sdk/http-client@sap-cloud-sdk/http-clientThe HTTP client that carries a destination's credentials, so an outbound call inherits the authentication rather than assembling it.sap official, cap, and a manual sequence that reads the destination service's credentials from VCAP_SERVICES, fetches an OAuth token, and requests the destination by name before calling its URL. The manual path is written deliberately verbose to show what the Cloud SDK call does behind the scenes; later parts of the series cover the other destination types.DestinationsSAP CAP function and action with Unstructured/Dynamic Type Input/OutputpublishedA CAP action or function can take or return an unstructured type: annotate the service
@protocol: 'rest', declare the parameter or return value as @open type object {}, and a handler shapes the payload however a given request needs, shown here with a bound action and a function that returns a different structure per input. The text states plainly that ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design V4 and GraphQLGraphQLServing the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one.SAP only services require a fixed structure for action and function parameters, so the dynamic type works only over CAP's REST protocol.ODataSAP CAP(Cloud Application Programming)开发框架概述publishedA Chinese-language walkthrough of CAP built mainly from CAPire's own "About CAP" page: CDS entities, associations, compositions and aspects for data modellingData modellingDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.SAP and community, unassessed, with an
extend Books with @restrict: [{ grant:'WRITE', to:'admin' }] aspect as its authorizationAuthorizationDeciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact.SAP and community, unassessed example; CQL and CQN queries shown against both a local service and ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design's $select/$expand; and the service-and-event model — this.on, this.emit, srv.on — that carries CAP's async processingAsync processingDoing work outside the request that triggered it, with a guarantee that it eventually happens — deferred jobs, retries, and periodic work. Distinct from messaging, which is about telling other systems.SAP and community, narrow by design. It closes with the author's own setup: installing @sap/cds-dk, scaffolding a bookshop project with cds init, and running it with cds watch against local SQLite, mocked authentication and file-based messaging standing in for HANA Cloud, IAS and Kafka.Data modellingSAP CAPv7 - Node.js Highlights and ExperiencespublishedAn account of upgrading a 100+ table CAP Node.js project from v6 to v7, working through breaking changes in @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 7: event handlers now always receive an array, service paths move under /odata/v4/... unless serve_on_root is set, and cds-serve replaces cds run. It goes deepest on the GraphQLGraphQLServing the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one.SAP only plugin, @cap-js/graphql@cap-js/graphqlA protocol adapter that generates a GraphQL schema from the model and serves it, so the same services answer GraphQL without a second definition of them.sap official, cap: the /graphql endpoint it serves, Composition results wrapped in a nodes connection, and offset-based pagination reached through OData's top and skip rather than GraphQL's own limit and offset.GraphQL
Mon 21
@mi8y/cap-agents-aicore-vectorstoreadded to the atlasLangChain vector store on SAP AI Core Document GroundingRetrieval-augmented generation
@mi8y/cap-agents-cds-vectorstoreadded to the atlasLangChain vector store with CDS entities for embeddingsRetrieval-augmented generation
@mi8y/cap-agents-memoryadded to the atlasLangGraph Store keeping agent memory as CDS entitiesAgent tooling
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AIpublishedCAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Database connectors
Show 8 more
Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.jspublishedA CAP Node.js service imports the S/4HANA Cloud Outbound Delivery OData v2 API's EDMX metadata with
cds import, proxies its reads and a custom createDelivery action against it, and annotates the service @protocol: ['odata-v4', 'mcp'] with @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap's per_action_tool setting on, so the custom action gets its own MCP tool rather than one generic call_action. It tests the result with raw JSON-RPC tools/list and tools/call requests before deploying to SAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry RuntimeThe Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools.sap official, btp.Serve your application over MCPExpose S/4HANA Cloud OData API as an MCP Server via CAP Node.jspublishedA step-by-step walkthrough that wraps SAP S/4HANA Cloud's Outbound Delivery OData v2 API in a CAP Node.js service and exposes it through @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, so an MCP client can list the generated tools, query the delivery entities and call a custom createDelivery action over JSON-RPC. The remote S/4HANA connection is configured two ways in package.json: direct Basic Authentication credentials for local hybrid testing, and a named BTP destination for the app once deployed to Cloud Foundry.Serve your application over MCP
How to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata PollpublishedWalks through building a Cloud IntegrationCloud IntegrationBuilds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan.sap official, btp flow that polls the S/4HANA Business Partner ODataODataExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.SAP and community, narrow by design API on a timer, splits the response into individual records, and publishes each as an event to Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp through its adapter, with the topic set dynamically from a grouping property. Selects fields and expands associations with $select/$expand against an EDMX from the API Business Hub, and works around the OData V2 adapter's lack of JSON support by falling back to the HTTP adapter with an XML-to-JSON converter. Flags the trade-off: the pattern needs no backend change beyond activating the API, but the polled payload has to stay aligned with whatever event format the ERP pushes on change.Event Mesh
SAP ORD Made Simple: What It Does and Why It’s Crucial in your SAP Landscape + Purpose and ValuepublishedExplains Open Resource Discovery (ORD), the metadata protocol SAP services use to self-describe their APIs, events and entity types for discovery across SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp, SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp and SAP DatasphereSAP DatasphereSAP's cloud data warehouse: spaces, modelled views and analytic models over data brought in or federated from source systems, with the business context carried along rather than rebuilt.sap official, btp. Points to SAP's @cap-js/ord@cap-js/ordGenerates Open Resource Discovery documents from a CAP model.sap official, cap as the reference implementation that lets CAP applications publish ORD-compliant metadata, the piece metadata publishingMetadata publishingDescribing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.SAP and community, narrow by design marks as beyond the EDMX and CSN the core emits on its own. Shows how to confirm ORD support for a published API by checking its ORD ID on the SAP Business Accelerator Hub.Metadata publishing
Use Free Tier to Create a Service Instance for SAP Document AIpublishedFour steps in the SAP BTP cockpit that end with a service key for SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp: open the cockpit, check the subaccount's entitlements and add the service on the free tier plan if it is not listed, create the instance, then create the key. It names the plans to use in production instead, blocks_of_100, embedded_edition and premium_edition, and stops at the credentials, before any document is uploaded.Document extraction
Use Free Tier to Subscribe to SAP Document AI Basic UIpublishedEight steps from an entitled subaccount to the SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp basic UI open in a browser, and most of them are identity work rather than document work: getting a tenant for Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp, which the basic UI requires, activating the account and establishing trust with the subaccount, then subscribing, creating a user and assigning the Document_Information_Extraction_UI_Templates_Admin role collection. Using the UI to read a document is the subject of Use Machine Learning to Extract Information from Documents with the SAP Document AI Basic UI, which this tutorial names as what to read next.Document extraction
Where ORD Is Used in SAP Datasphere, SAP Business Data Cloud & SAP DatabrickspublishedOpen Resource Discovery (ORD) is the metadata standard SAP's Business Accelerator Hub attaches to APIs, and the one SAP Business Data CloudSAP Business Data CloudSAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks.sap official, btp requires of any data product — including ones DatabricksDatabricksA unified data and AI platform. sap-bdc-mcp-server creates the Delta shares it registers with SAP Business Data Cloud in a Databricks workspace. publishes — before SAP DatasphereSAP DatasphereSAP's cloud data warehouse: spaces, modelled views and analytic models over data brought in or federated from source systems, with the business context carried along rather than rebuilt.sap official, btp can discover it. Data products moving from Databricks into Business Data Cloud carry both ORD and CSN metadata side by side.Metadata publishing
Juliana Moraisadded to the atlas
Sun 20
@animb1996/cds-data-driftadded to the atlasCompares a CAP project's CSV data with its database rowsSeed data
@cap-js/mcp-serveradded to the atlasMCP server for CAP development: model and docs searchAgent access to your code
@sap/cds-analyticsadded to the atlasCDS plugin adding embedded analytics to CAP for SAP Analytics CloudAnalytical models
@sapmentors/cds-scp-apiadded to the atlasNode module for CAP calling external APIs through a destinationDestinations
Show 8 more
API Managementadded to the atlasAPI proxies with security and traffic policies and Developer HubRate limiting
SAP Job Scheduling Service: 🔧 Generate Your Own Client Library from OpenAPI SpecpublishedA tutorial on generating a type-safe client library for the SAP Job Scheduling serviceSAP Job Scheduling serviceCalls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive.sap official, btp's REST API from its OpenAPIOpenAPIHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.SAP and community, narrow by design specification, using the OpenAPI Generator CLI to target Node.js, TypeScript, Java, Python, Go or C#. It walks through OAuth 2.0 client-credentials authentication and the generated client's Jobs API, listing, creating and reading jobs with their cron schedules, and lists what the service's error statuses (400, 401, 404, 409, 429, 503) mean to a caller. It states that the official @sap/jobs-client will be deprecated and tells readers to use a generated client for now.Job scheduling
Andreas Wehrmannfirst recorded in the atlas
Anim Basuadded to the atlas
georgi-shakevfirst recorded in the atlas
Hristina Ivanovafirst recorded in the atlas
kevin-b-sapfirst recorded in the atlas
Markus Bucherfirst recorded in the atlas
Sat 19
cap-java/cds-aiadded to the atlasBridge from CAP Java to SAP AI Core, with Fiori field recommendationsLLM integration
com.sap.cds:cds-adapter-agentadded to the atlasA2A adapter turning a CAP Java service into an LLM-backed agentAgent tooling
com.sap.cds:cds-adapter-mcpadded to the atlasMCP adapter turning a CAP Java service into an MCP serverServe your application over MCP
com.sap.cds:cds-adapter-odata-v2added to the atlasOData V2 protocol adapter built into the CAP Java runtimeOData
Show 56 more
com.sap.cds:cds-adapter-odata-v4added to the atlasOData V4 protocol adapter for CAP Java Application ServicesOData
com.sap.cds:cds-feature-advanced-event-meshadded to the atlasCAP Java plugin for SAP Integration Suite, advanced event meshEvent Mesh
com.sap.cds:cds-feature-auditlog-ngadded to the atlasCAP Java plugin sending audit log events to SAP Audit Log serviceAudit logging
com.sap.cds:cds-feature-auditlog-v2added to the atlasCAP Java handler for SAP Audit Log service API version 2Audit logging
com.sap.cds:cds-feature-change-trackingadded to the atlasChange log of annotated entity fields for CAP JavaChange tracking
com.sap.cds:cds-feature-cloudfoundryadded to the atlasReads bound service credentials on SAP BTP, Cloud Foundry for CAP JavaConfiguration
com.sap.cds:cds-feature-consoleadded to the atlasConnects a running CAP Java app to CAP console for monitoringDebugging
com.sap.cds:cds-feature-dev-dashboardadded to the atlasBrowser dashboard for a running CAP Java service during developmentLocal development
com.sap.cds:cds-feature-enterprise-messagingadded to the atlasConnects CAP Java messaging to SAP Event MeshEvent Mesh
com.sap.cds:cds-feature-event-hubadded to the atlasConnects CAP Java messaging to SAP Cloud Application Event HubEvent Mesh
com.sap.cds:cds-feature-flowadded to the atlasDeclarative status-transition flows on bound actions in CAP JavaStatus flows
com.sap.cds:cds-feature-hanaadded to the atlasSAP HANA Cloud datasource for CAP Java applicationsDatabase connectors
com.sap.cds:cds-feature-identityadded to the atlasOAuth2 token validation from XSUAA and SAP Cloud Identity ServicesAuthentication
com.sap.cds:cds-feature-jdbcadded to the atlasJDBC runtime for H2 and SQLite in CAP JavaDatabase connectors
com.sap.cds:cds-feature-k8sadded to the atlasReads SAP BTP Operator service bindings on Kyma for CAP JavaConfiguration
com.sap.cds:cds-feature-kafkaadded to the atlasConnects CAP Java messaging to Apache KafkaEvent Mesh
com.sap.cds:cds-feature-mtadded to the atlasMultitenancy for CAP Java: tenant lifecycle and per-tenant containersMultitenancy
com.sap.cds:cds-feature-n8nadded to the atlasTriggers n8n workflows from CAP Java through the outboxWorkflow integration
com.sap.cds:cds-feature-notificationsadded to the atlasBusiness notifications from CAP Java via SAP Alert NotificationNotifications
com.sap.cds:cds-feature-ordadded to the atlasGenerates Open Resource Discovery documents from a CAP Java modelMetadata publishing
com.sap.cds:cds-feature-postgresqladded to the atlasPostgreSQL datasource for CAP Java applicationsDatabase connectors
com.sap.cds:cds-feature-redisadded to the atlasBeta connector from CAP Java messaging to Redis Pub/SubEvent Mesh
com.sap.cds:cds-feature-remote-odataadded to the atlasRemote Services for consuming OData V2 and V4 APIs in CAP JavaDestinations
com.sap.cds:cds-feature-xsuaaadded to the atlasFormer XSUAA JWT validation for CAP Java, removed in CAP Java 3.0Authentication
com.sap.cds:cds-integration-cloud-sdkadded to the atlasSAP Cloud SDK integration for remote REST services in CAP JavaDestinations
com.sap.cds:cds-maven-pluginadded to the atlasMaven plugin running CDS build steps in a CAP Java projectGenerators
com.sap.cds:cds-services-archetypeadded to the atlasMaven archetype generating a new CAP Java projectGenerators
com.sap.cds:cds-services-bomadded to the atlasMaven bill of materials pinning CAP Java module versionsConfiguration
Getting started with cds.ql in NodeJS for CAP - 101 on how to query datapublishedWalks through cds.ql, the query API @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap gives a Node.js CAP service's custom handlers, with worked SELECT, UPDATE, DELETE and INSERT examples against a sample schema — filters, AND/OR conditions, column projections, ordering, limiting, grouping and joining two entities through a schema view. An added correction notes that
cds.tx(req) is no longer needed to run a query in newer CAP versions, contradicting the post's own original guidance.ConfigurationKyma Integration with SAP Cloud Logging. Part 2: Let's ship some tracespublishedWalks through shipping traces from SAP BTP, Kyma runtimeSAP BTP, Kyma runtimeA fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions.sap official, btp to SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp: a Kyma TracePipeline resource pointed at the service binding's OTLP endpoint, an Istio Telemetry resource that sets the mesh-wide sampling percentage, and Cloud Logging's Trace Analytics view to filter the resulting spans by service name or request ID. For a multitenant JavaScript CAP application it instruments with @cap-js/telemetry@cap-js/telemetryAutomatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint.sap official, cap, naming the npm packages to add, and covers Cloud Native Buildpacks and manual Istio header propagation for services outside CAP.Telemetry
Streamline User Targeting with Segments in SAP Feature FlagspublishedWalks through segments in the SAP Feature Flags serviceSAP Feature Flags serviceBoolean and string flags toggled in a dashboard and read by an application at runtime over a binding, with a cache in the client so a flip does not need a deploy or a round-trip per check.sap official, btp: reusable, named user lists — up to 1,000 direct user IDs or 15 attribute-based conditional rules per segment — referenced across every feature flag in a service instance instead of redefined per flag. Covers creating a segment from the Feature Flags Dashboard and the per-instance limit of 20 segments, plus the safeguard that a segment in use cannot be deleted.Feature toggles
Alla Volkovfirst recorded in the atlas
allacherkesfirst recorded in the atlas
Armin Hattingfirst recorded in the atlas
bryan-weefirst recorded in the atlas
busehalis-sapfirst recorded in the atlas
CAPfirst recorded in the atlas
dheerasameerkfirst recorded in the atlas
Furkan Aksoyfirst recorded in the atlas
Jhodel Cailanfirst recorded in the atlas
krshubham-1first recorded in the atlas
Lidor Talfirst recorded in the atlas
liorfrfirst recorded in the atlas
maheshsooryambylufirst recorded in the atlas
Maksim Pahlbergfirst recorded in the atlas
michawaifirst recorded in the atlas
rayakorenfirst recorded in the atlas
Rima Sirichfirst recorded in the atlas
SanjayBabu SPfirst recorded in the atlas
Sapir Polfirst recorded in the atlas
Shahar Soelfirst recorded in the atlas
Slavik Lvovskyfirst recorded in the atlas
Spreadsheet Importerfirst recorded in the atlas
tal-sapanfirst recorded in the atlas
XinYe22first recorded in the atlas
young.yang03first recorded in the atlas
Fri 18
@mpah/enum-value-helpadded to the atlasCAP plugin generating value help for enum fields from an annotationFiori annotations
@rizing/cds-extensionadded to the atlasCAP plugin putting a draft-capable facade in front of imported ODataDraft handling
@root3287/cap-segwadded to the atlasCompiler from a CDS service to SEGW model and data provider classesOData
@sap-ux/cap-config-writeradded to the atlasWriter module for changing a CAP project's configuration from codeGenerators
Show 13 more
@sap-ux/i18nadded to the atlasReader and writer for i18n bundles of UI5 or CAP projectsLocalization
@sap/ams-devadded to the atlasCompiler from AMS DCL policies to DCN for local runs and testsLocal development
@saptarishi/cds-plugin-llmadded to the atlasCAP service kind putting eleven model providers behind one APILLM integration
Adding Custom Metrics to a CAP application using cap-js/telementry plugin and SAP Cloud LoggingpublishedWalks through adding a custom OpenTelemetry counter metric to a CAP application on top of @cap-js/telemetry@cap-js/telemetryAutomatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint.sap official, cap's built-in database-pool metrics, incrementing and decrementing it from a service handler on CREATE and UPDATE of high-urgency incidents. Shows the resulting metric in SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp's Discover and Visualize screens, building a custom visualisation from the exported metrics data.Telemetry
az-private-linky-capadded to the atlasCAP project reaching S/4 via SAP BTP Private Link Service for Azure
cds-event-monitoringadded to the atlasStores, browses and resends messages a CAP service receivesEvent Mesh
cds-spreadsheetimporter-pluginadded to the atlasSpreadsheet upload into a CDS entity, parsed on the serverImporting and exporting table data
cdseadded to the atlasDestination resolution and axios calls from CAP configurationDestinations
DanKromp/skillOverflowadded to the atlasCollection of 41 agent skills, 37 for SAP development tasksAgent guidance
From Application Logging to Cloud Logging: Service Innovation GuidepublishedSAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp replaces SAP Application Logging serviceSAP Application Logging service for SAP BTPCollects an application's log lines from Cloud Foundry or Kyma into a searchable Kibana, for the retention the plan sets.sap official, btp, moving each customer from a shared multitenant stack to a dedicated, fully isolated one, and this guide sets out what changes with the move: a deployment per compliance region instead of per Cloud Foundry landscape, SAML/IDP-based authentication instead of Cloud Foundry-bound auth, retention that is configurable instead of fixed at seven days, and hourly capacity-unit pricing instead of fixed-size monthly plans. It also states the deprecation timeline for loggingLoggingSeeing what a running service did, in a form something can read afterwards — levels, a formatter that suits a laptop and one that suits a log service.SAP only on BTP: SAP Application Logging closes to new or renewed CPEA contracts after 2025-07-31, while contracts signed before that date keep their entitlement until their next renewal.Logging
How to Access SAP Cloud Logging Service Dashboards Using IAS SAML AuthenticationpublishedWalks through wiring SAML 2.0 single sign-on between SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp (IAS) and SAP Cloud LoggingSAP Cloud LoggingAn instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments.sap official, btp so its OpenSearch dashboards accept IAS logins instead of a service key: creating the SAML application in IAS, editing the instance's saml parameters (admin_group, idp.metadata_url, idp.entity_id, sp.entity_id), setting the matching entity ID and endpoints on the IAS side, and mapping an IAS group to the all_access role through a groups attribute. It also shows how to read a 403 on the dashboard as SAML login succeeding while the group-to-role mapping is still missing.Authentication
sap-cap-validator-pluginadded to the atlasCAP plugin validating input against @Validator JSON Schema rulesInput validation
DanKrompadded to the atlas
Thu 17
com.sap.cds:cds-feature-attachmentsadded to the atlasCAP Java attachments with database storage and an Object Store moduleAttachments
com.sap.cds:sdmadded to the atlasCAP Java plugin for attachments in SAP Document ManagementAttachments
Enhancing Business Processes with SAP BTP AI in SAP Integration SuitepublishedWalks through a post-exit iflow in SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp that calls an LLM through SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp's Generative AI Hub to turn a customer's free-text return comment into one of a fixed set of SAP rejection-reason codes, so an inbound ORDERS05 IDoc carries a decision (E1EDP01-ABGRU) the ERP can act on without pausing for manual review. The worked example is a Commerce Cloud returns flow into S/4HANA; the piece argues the same bounded-classification pattern fits other narrative fields — delivery-exception remarks, expense-claim justifications — where the cost of an LLM call is repaid by removing a human review step, and points to a colleague's post on the Generative AI Hub orchestration workflow for the guardrailing (prompt templating, data masking) it only names.LLM integration
SAP HANAadded to the atlasSAP's relational database platform, on-premise and in HANA CloudDatabase connectors
Show 1 more
Martin Pankrazadded to the atlas
Wed 16
@sanjay-sde/cap-js-log-controladded to the atlasCAP plugin controlling CDS logger and OpenTelemetry log verbosityTelemetry
@sap_oss/vscode-mta-toolsadded to the atlasVS Code Multi-Target Application toolsDeployment and operator
@sap-ux/telemetryadded to the atlasLibrary for sending usage telemetry dataTelemetry
cap-mcp-guardadded to the atlasPolicy enforcement and field masking for MCP-enabled CAP appsTelemetry
Show 5 more
cdsmbt01added to the atlasCDS plugin for OData change tracking in CAP applicationsChange tracking
Deploy and Run the Incident Management Application in the SAP BTP, Kyma Runtime with a Mock ServerpublishedBuilds the Incident Management CAP service and its HTML5 UI deployer as container images with the pack CLI's Cloud Native Buildpacks, then deploys both to SAP BTP, Kyma runtimeSAP BTP, Kyma runtimeA fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions.sap official, btp with a Helm chart, wiring in the mock-server destination and productive
cds build --production output set up in the prerequisite tutorials. Marked out of maintenance in favour of the newer "Develop a Side-by-Side CAP-Based Extension Application" mission in SAP Discovery Center, but the build-and-deploy mechanics it walks through — buildpacks, image tags, a Helm chart — are what deploymentDeploymentGetting an application onto a runtime and keeping it there: build descriptors, deployment topology, service bindings and lifecycle operations. The target runtime determines how the application is packaged and configured.SAP and community, narrow by design still covers for Kyma.DeploymentMigrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event MeshpublishedA migration walkthrough for switching an SAP ERP or S/4HANA on-premise system from classic SAP Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp to SAP Advanced Event MeshSAP Integration Suite, advanced event meshAn event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite.sap official, btp: new RFC destinations to the broker's REST, handshake and token endpoints, trusting its certificate, activating the AEM business configuration set, and re-pointing the NetWeaver Add-On for Event Enablement's outbound object and dynamic topic mapping at the new instance. It assumes the Event Add-On for ERP (ASAAEMEE) is already installed and covers only the technical cut-over, not setting up event publishing from scratch.Event Mesh
opentelemetry-cdsadded to the atlasOpenTelemetry support for the CDS Node.js runtimeTelemetry
SAP Joule implementation in an S/4HANA private cloud 3 system landscapepublishedWalks through enabling SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp across a three-system S/4HANA Private Cloud landscape (DEV, QAS, PRD) rather than the common single-system setup: separate BTP subaccounts for the non-production systems, a shared Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp tenant, and catalogs and roles transported from DEV through QAS to PRD. Covers single sign-on for Joule by setting Microsoft Entra ID as the corporate identity provider in SAP IAS, so authentication flows through Entra ID without the user existing in the IAS store, plus principal propagation through the Cloud ConnectorCloud ConnectorSAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow.sap official, btp into the production backend.Agent tooling
Tue 15
A Clearer View of Your SAP Integrations Under the New API PolicypublishedThe SAP API Policy Evidence SkillSAP API Policy Evidence SkillAssesses whether a described SAP API usage aligns with the SAP API Policy, gathering live evidence from SAP's own sources and returning a sourced assessment with a stated confidence — and routing the legal questions away from itself.independent, btp assesses one SAP interface or usage pattern at a time against SAP API Policy v.4.2026a, reading evidence from five MCP servers, among them servers for the Business Accelerator Hub and SAP Notes, mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap and a read-only ARC-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap, and returns one of four labels with a confidence level, an evidence table, residual risk and questions for SAP. It gives no compliant or not compliant answer on purpose, because SAP's FAQ (Q49) declines to publish a binding decision matrix, and it sends legal, commercial and roadmap questions to SAP and lowers its confidence when a source is not connected. Four sample runs show the method, among them ODP-RFC extraction labelled likely not aligned under SAP Note 3255746 and the same API_SALES_ORDER_SRV assessed differently for an autonomous agent behind a custom gateway and for a Boomi middleware flow; the SAP Notes and Business Accelerator Hub servers read SAP sites through a browser login, which the post says to use at your own risk.Tool governance
ARC-1 with Joule Studio: Bringing Real ABAP System Context into JoulepublishedBrings the same BTP-deployed ARC-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap endpoint into Joule through a Joule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp agent configured with Anthropic Claude Sonnet 4 and two MCP servers, ARC-1 and mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, for work that starts in SAP where the previous part started in Microsoft 365. Two read-only showcases carry the ABAP Cloud readinessABAP Cloud readinessWhether code can run in ABAP Cloud — released APIs only, no direct table access, no obsolete statements — and what to do with the code that cannot.SAP and community, unassessed edge: a clean core check of one class that reports it is not released, uses USR02 and BUT000 directly and has no ATC findings, and a modernisation backlog for package ZSD_LEGACY which, as that package did not exist, grouped 28 ZSD* objects into risk buckets instead. The route through SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp API Management or a future MCP gateway is presented as a target architecture and not yet a productive setup, because Joule Studio's documentation requires streamable HTTP destinations and does not support MCP servers that need interactive OAuth user authorisation.Agent access to your code
Before You Upgrade S/4HANA: Static UI5 Checks with MCPpublishedA UI5 version upgrade checked against one app by pairing two MCP servers: the
ui5_version_diff tool added to mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, which reads a bundle from ui5-lib-diff downloaded once at setup and filters it by version range, change type, library or query text, and @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, whose get_project_info, get_version_info, run_ui5_linter and run_manifest_validation say what the app uses and what fails. Run with a ui5-versions-upgrade.md skill on the legacy app from From SEGW and Legacy UI5 to RAP with ARC-1From SEGW and Legacy UI5 to RAP with ARC-1Three ARC-1 skills, run in Cursor with Composer-2 against a deliberately rough demo on an S/4HANA 2023 trial system, turn the SEGW service ZDEMO_MIG_PROJECTS_SRV into a managed, draft-enabled RAP business object published as OData V4, replace its ApproveProject function import and its direct UPDATE ... COMMIT WORK with the action approve_project written in EML in local mode, and rebuild the freestyle UI5 JavaScript app once in UI5 TypeScript and once as a Fiori elements list report and object page driven by metadata extensions. What the published transcripts add is how the agent got there: it found the generated MPC class names and the custom logic in DPC_EXT only by reading the system, the skills made it print the extracted model and stop for confirmation before writing, and @ui5/mcp-server, mcp-sap-docs and @sap-ux/fiori-mcp-server each had their own job beside it. The demo is small on purpose, and the post says a productive SEGW service that calls BAPIs, carries custom authorisation logic or supports deep inserts is not solved with one prompt.published 2026-05-11, from SAPUI5 1.84.59 to 1.147.2, the diff range held 985 deprecations and 961 What's New entries, and the lintingLintingCatching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.SAP and community, narrow by design and manifest validation narrowed that to findings in this app, among them jQuery.sap.require, synchronous bootstrap, the sap_belize theme, sap.m.MessagePage and an old manifest _version. The checks read the source in a local checkout and never the deployed app, so the report is a first pass: a changelog entry is not proof that a workaround can be deleted, and the app still has to be run and tested.DocumentationBuilding an Enterprise-Ready SAP AI Agent with Open SourcepublishedA self-hosted chat agent for SAP systems: LibreChat as UI and orchestrator with Entra ID sign-in and SharePoint connected, a local LLM through Ollama, and two MCP servers, mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap for public documentation and the ADT MCP server vibing-steampunkvibing-steampunkAn ADT-to-MCP bridge in Go that reaches past what ADT exposes — cluster tables decoded, spool and job logs read as tables, the IMG searched, selection texts written back.independent, abap for the system itself. The ADT server runs in its read-only mode under a technical user with display authorisations only, so the agent can find a function module and pull its source, or locate a RAP business object with its behaviour definition and projection view, but cannot change anything. Two workflows show it, explaining what BAPI_DISPUTE_CREATE does in one system and planning a RAP action from a PDF specification, where the generated ABAP is copied into Eclipse by hand; the full setup is in the marianfoo/llm-client-sap-system-integration-sharepoint repository.Agent access to your code
Show 623 more
Building Custom Joule Skills via RFC: Guide for SAP S/4HANA and ECC IntegrationpublishedWalks a Joule skill from a spoken question about a production order's status to an answer in SAP Build Workzone: a Cloud Connector tunnel and a destination in the BTP cockpit reach the S/4HANA or ECC system, a BAPI/RFC Action Project in SAP Build wraps the BAPI that reads the order, and Joule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp turns the action into a skill and deploys it. Establishing the connection and its destination before the action project exists is RFC connectivityRFC connectivityCalling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side.SAP and community, narrow by design and DestinationsDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed done for a low-code consumer rather than a CAP service. The action type here is BAPI/RFC, alongside the OData actions Joule Studio's own entry names.RFC connectivity
Establish a central inbox with SAP Task CenterpublishedSAP's reference architecture for SAP Task CenterSAP Task CenterOne inbox across SAP applications: tasks from S/4HANA, SuccessFactors, Ariba and BTP workflows in one list, with a public API for a custom task provider.sap official, btp as one inbox for the tasks of several SAP applications, opened in the Task Center web app or as To-Dos in SAP Start and SAP Mobile Start, which is the inbox half of task and approval UIsTask and approval UIsThe screen a person approves something on — a workflow or process task rendered as a form, embedded in an inbox that supplies its context. Distinct from workflow integration, which is about driving the engine: this is the half a human touches, and its hard part is that it cannot run without the engine that normally feeds it.SAP only. It rests on Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp: every task provider must work with Identity Authentication, its users must carry the Global User ID and so must the recipients of each task, and sign-on between the provider and Identity Authentication is what lets a user navigate from Task Center into the provider. Task Center reaches providers through destinations in a customer subaccount, with Cloud ConnectorCloud ConnectorSAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow.sap official, btp for on-premise SAP S/4HANA.Task and approval UIs
Finally: An MCP Server for ABAPpublishedAnnounces the ABAP variant of mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, published at mcp-abap.marianzeis.de for GitHub CopilotGitHub CopilotAn AI coding assistant built into GitHub, with agents that can use external tools and MCP servers.'s Agent Mode in ADT for Eclipse, which the post names as the trigger, with ABAP knowledge still a recurring problem in the models. Documentation irrelevant to ABAP was removed from the SAP docs server and the ABAP Keyword Documentation, the DSAG ABAP Development Guidelines and the ABAP Style Guide were added, with search reaching past the local index to SAP Community posts and SAP Help. Copilot in Eclipse is where the post puts the weight, because SAP Joule for Developers, ABAP AI capabilitiesSAP Joule for Developers, ABAP AI capabilitiesSAP's AI for ABAP development in ADT for Eclipse and VS Code: chat, code completion, explain, test and CDS generation, RAP logic prediction, and since June 2026 an agentic mode over the ADT MCP Server, metered in AI units through the ABAP AI Hub Service on BTP.sap official, abap in Eclipse is not available for S/4HANA on-premise systems; an update of 2026-02-05 adds Software Heroes as an online source and an
abap_feature_matrix tool that checks feature availability across releases and ABAP Cloud, and the server runs hosted or locally with Node or Docker.DocumentationFrom SEGW and Legacy UI5 to RAP with ARC-1publishedThree ARC-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap skills, run in Cursor with Composer-2 against a deliberately rough demo on an S/4HANA 2023 trial system, turn the SEGW service
ZDEMO_MIG_PROJECTS_SRV into a managed, draft-enabled RAP business object published as OData V4, replace its ApproveProject function import and its direct UPDATE ... COMMIT WORK with the action approve_project written in EML in local mode, and rebuild the freestyle UI5 JavaScript app once in UI5 TypeScript and once as a Fiori elements list report and object page driven by metadata extensions. What the published transcripts add is how the agent got there: it found the generated MPC class names and the custom logic in DPC_EXT only by reading the system, the skills made it print the extracted model and stop for confirmation before writing, and @ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap and @sap-ux/fiori-mcp-server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5 each had their own job beside it. The demo is small on purpose, and the post says a productive SEGW service that calls BAPIs, carries custom authorisation logic or supports deep inserts is not solved with one prompt.Agent access to your codeHow I Use AI for Development and Why Context MatterspublishedPart one of the AI ABAP development series traces a move from pasting ChatGPT output and error messages back and forth to tools that search, read docs and inspect files themselves, and holds that the context around a model decides more in real projects than benchmark results do. In SAP work the grounding comes from mcp-sap-docsmcp-sap-docsAn MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.independent, cap, which brings SAP Help, GitHub repositories, style guides and DSAG guidelines into the session, and context for changing a class also means the tables it uses, the classes it calls and similar implementations. Agentic autonomy is a slider set per project, with the time saved on typing moved into planning and review, and the post stops before ABAP: SAP's MCP servers for UI5, CAP and Fiori (@ui5/mcp-server@ui5/mcp-serverSAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.sap official, ui5, @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap, @sap-ux/fiori-mcp-server@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5) sit in off-stack work that git and pipelines already gate, and the harder ABAP case is left to the next part.Agent access to your code
Integrating and Extending JoulepublishedSAP's reference architecture for SAP JouleSAP JouleSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btp across SAP cloud applications: a request is checked against a Scenario Catalog of the applications' skills and a Knowledge Catalog answered by retrieval-augmented generation, combined with the user's roles and history, sent to an LLM available through the generative AI hub, and, where a Joule function is needed, turned into a call to the backend. Its identity page is the authenticationAuthenticationEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems.SAP and community, narrow by design path: each user sits in the Identity Directory of Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp with a Global User ID, Identity Provisioning synchronises role assignments into SAP Build Work Zone, whose navigation service decides which functions a user may call, and the Destination service exchanges the user's token to call a function in the user's name. Its extension page covers Joule StudioJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp in SAP Build, where Joule skills automate rule-based tasks over APIs and AI agents plan and reason with models and document grounding from SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp, the ground agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed covers; a later Joule Studio page describes a managed Joule Studio Runtime on the SAP Business AI Platform, which has no entry here.Agent tooling
Introducing open-rfc: Calling SAP RFC from Node.js Without the SDKpublishedopen-rfcopen-rfcAn SDK-free TypeScript and JavaScript client for SAP classic synchronous RFC on Node.js, with no native addon and no runtime dependencies, that works as a drop-in under @sap/cds-rfc through an npm override.independent, cap is a TypeScript and JavaScript RFC client for Node.js with no runtime dependencies and no SAP NetWeaver RFC SDK, written after SAP archived node-rfc and PyRFC and while the connector below @sap/cds-rfc@sap/cds-rfcCalls ABAP function modules over RFC from a CAP service.sap official, cap needs an S-user, an SAP Build Code licence and a private registry. The history of RFC connectivityRFC connectivityCalling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side.SAP and community, narrow by design from Node.js is the first half; the second shows the package on its own, as an npm alias for node-rfc, and through an npm override as the connector below an unchanged @sap/cds-rfc. The 0.2.3 beta stops at direct application-server connections with password authentication and classic Unicode RFC: no message-server load balancing, SNC, tRFC, qRFC, bgRFC or server mode.RFC connectivity
Joule in SAP Build Codeadded to the atlasJoule's generative AI inside SAP Build CodeGenerators
Medallion Reference Architecture for Big Data Processing in SAP HANA CloudpublishedSAP's medallion layout for SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp: structured, semi-structured and unstructured data lands raw in HANA Cloud, data lake files as the bronze layer, is cleansed into a common structure in silver, held in data lake files or the HANA database, and is curated and read-optimised in gold, from where it can also be exposed as a Delta Share. The staged path from raw to consumable is the ground loading a warehouseLoading a warehouseGetting data into an analytical store and keeping it current — connections to source systems, replication and the other integration tasks, import jobs and their lifecycle, and the monitoring that tells you a load failed before a report does. Distinct from replication, which is an application reading data that lives elsewhere as if it were local rather than a warehouse being filled.SAP and community, unassessed covers, with Spark jobs and SAP DatasphereSAP DatasphereSAP's cloud data warehouse: spaces, modelled views and analytic models over data brought in or federated from source systems, with the business context carried along rather than rebuilt.sap official, btp data flows named as ways to move data between layers and SAP Analytics CloudSAP Analytics CloudSAP's SaaS front end for analytics: business intelligence, planning and predictive in one product, and the place a Datasphere analytic model is meant to end up being read.sap official, btp among the consumers of gold. It leaves the ingestion method open, to be chosen by source, freshness and performance, and names no pipeline or schedule beyond that.Database connectors
SAP BTP, Cloud Foundry Runtimeadded to the atlasCloud Foundry runtime of SAP BTP for polyglot applications
SAP Build Codeadded to the atlasDevelopment environment on BTP for UI5, Fiori, mobile and CAPEditor support
SAP Continuous Integration and Deliveryadded to the atlasPredefined CI/CD pipelines for SAP development projectsCI/CD pipelines
SAP Document AIpublishedSAP's reference architecture for SAP Document AISAP Document AIExtracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours.sap official, btp, first as SAP composes the service on BTP for document extractionDocument extractionGetting structured data out of a document somebody sent you — an invoice, a purchase order, a scanned form — instead of having a person key it in. The mirror image of document output, and a different problem from reading a service: the input is a file, the shape is unknown until something reads it, and the answer arrives with a confidence rather than a guarantee.SAP only: OCR, pretrained models, customer-defined schemas and LLM calls through SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp and its Prompt Registry in one pipeline, with tenant-isolated persistence in SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. and an object store. Its scenario pages then lay out a solution in three layers: intake through Outlook and SharePoint inbound channels, the workspace UI, the Joule Work mobile app or the upload API; classification and extraction with a confidence score per field, automatic confirmation above a threshold and review of the rest in the workspace; and posting through outbound channels, directly to a REST API, through an SAP Integration SuiteSAP Integration SuiteSAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents.sap official, btp flow, or through a CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap service that maps the fields and calls SAP S/4HANA over OData. Enrichment beyond the service's own master data lookup is left to a CAP application or an Integration Suite flow triggered from an outbound channel, and direct API posting leaves error handling, retries and monitoring to the application.Document extraction
SAP Document Management service, integration optionadded to the atlasAPIs and a UI5 component for document management in appsAttachments
SAP HANA Cloud as an Esri GeodatabasepublishedSAP's design for running an Esri ArcGIS Enterprise geodatabase inside SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, so that geometries and SAP business data sit in one database and are joined in a HANA calculation view, which is the spatial part of graph, spatial and document dataGraph, spatial and document dataStoring and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation.SAP only. It traces three personas: an analyst in ArcGIS Pro building query layers over that view, a developer whose CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap application models spatial types such as ST_Point in CDS, and an analyst using a Fiori app on top of such an application. The deployment advice stops at placement: ArcGIS Server and HANA Cloud go in the same region and availability zone, because Esri's certified architectures allow under 5 milliseconds of network latency between them.Graph, spatial and document data
SAP Jouleadded to the atlasSAP's AI engagement layer across SAP applicationsAgent tooling
Secure Service Consumption Across HyperscalerspublishedSAP's design for a workload on SAP BTP that calls Amazon Web Services or Google Cloud services with short-lived credentials instead of stored keys, which is the outbound side of authenticationAuthenticationEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems.SAP and community, narrow by design: the BTP application proving who it is to another cloud. On AWS it draws two paths, an ID token from Identity Authentication in Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp exchanged through AWS STS for an IAM role, or an X.509 certificate kept in SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp and presented to IAM Roles Anywhere; on Google Cloud only the token path, through Workload Identity Federation and an impersonated service account. It is drawn for those two hyperscalers only, and Microsoft Azure has no page in it.Authentication
abap2UI5first recorded in the atlas
Abdelkader Abdelazizfirst recorded in the atlas
AbdelkaderDefirst recorded in the atlas
Abdulbasıt Gülşenfirst recorded in the atlas
Abhinav Singhfirst recorded in the atlas
Abhishek Anandfirst recorded in the atlas
Abu Buwefirst recorded in the atlas
actions-userfirst recorded in the atlas
Adi Pleyer (priv)first recorded in the atlas
Adrian Bobevfirst recorded in the atlas
Adrian Görlerfirst recorded in the atlas
agt-sapfirst recorded in the atlas
Agustino Limfirst recorded in the atlas
Aisling Noonefirst recorded in the atlas
AjeethKumar Rfirst recorded in the atlas
Ajinkya Patilfirst recorded in the atlas
Ajit Kumar Pandafirst recorded in the atlas
Akshat Jainfirst recorded in the atlas
Akshay Avinashfirst recorded in the atlas
Albin Ramovicfirst recorded in the atlas
Alejandro Sierra Sernafirst recorded in the atlas
Alessandro Biagifirst recorded in the atlas
Alina Govoruhinafirst recorded in the atlas
Alper Dedeoglufirst recorded in the atlas
amitsahu01first recorded in the atlas
Andis Redmansfirst recorded in the atlas
André Adamfirst recorded in the atlas
Andre Meyeringfirst recorded in the atlas
Andreas Kunzfirst recorded in the atlas
Andreas Schmidtfirst recorded in the atlas
Andreas-Meindl-msggroupfirst recorded in the atlas
Andrei Vishnevskyfirst recorded in the atlas
Andrew Barnardfirst recorded in the atlas
Angel Tonchevfirst recorded in the atlas
Anirudh Prasadfirst recorded in the atlas
Anish Kumarfirst recorded in the atlas
Anjanfirst recorded in the atlas
ankulfirst recorded in the atlas
Ankush Kumar Gargfirst recorded in the atlas
Anmol Binanifirst recorded in the atlas
Anmol Choprafirst recorded in the atlas
Annemarie Frankfirst recorded in the atlas
Ansgar Lichterfirst recorded in the atlas
Antonio Maradiagafirst recorded in the atlas
Anupam Medirattafirst recorded in the atlas
apnabahikhatafirst recorded in the atlas
Apurv Trivedifirst recorded in the atlas
Arley Triana Morinfirst recorded in the atlas
Arsalan Khanfirst recorded in the atlas
Artem Kovalovfirst recorded in the atlas
Artemis Coderfirst recorded in the atlas
Arun Krishnamoorthyfirst recorded in the atlas
Ashish Jainfirst recorded in the atlas
ashutoshtghoratfirst recorded in the atlas
Attila Borosfirst recorded in the atlas
Austin Devinefirst recorded in the atlas
Austin Kloskefirst recorded in the atlas
automatizatodofirst recorded in the atlas
avasilev-sapfirst recorded in the atlas
bandlowfirst recorded in the atlas
Benjamin Reimfirst recorded in the atlas
Benny Meifirst recorded in the atlas
Berkayfirst recorded in the atlas
Bhoomikafirst recorded in the atlas
bhoomikkfirst recorded in the atlas
Bob den Osfirst recorded in the atlas
bozaidafirst recorded in the atlas
BraunMatthiasfirst recorded in the atlas
Brian Bernardfirst recorded in the atlas
BrigittaK307first recorded in the atlas
Britta Varwigfirst recorded in the atlas
broksyfirst recorded in the atlas
bthillayfirst recorded in the atlas
CAP Botfirst recorded in the atlas
Capire Docs & Samplesfirst recorded in the atlas
Carl Önnheimfirst recorded in the atlas
cavehillfirst recorded in the atlas
chaithrashreefirst recorded in the atlas
Charles Duboisfirst recorded in the atlas
chcohrsfirst recorded in the atlas
Chiara De Dominicisfirst recorded in the atlas
ChrGlasfirst recorded in the atlas
Christian Fuchsfirst recorded in the atlas
Christian Georgifirst recorded in the atlas
Christian Kolbowskifirst recorded in the atlas
Christian Lechnerfirst recorded in the atlas
Christian Neufirst recorded in the atlas
Christian Schüringsfirst recorded in the atlas
Christian Zindelfirst recorded in the atlas
Christine Hörnerfirst recorded in the atlas
Christoph Gollmickfirst recorded in the atlas
Christoph Matthiesfirst recorded in the atlas
Christos Koutsiarisfirst recorded in the atlas
Cian Morrinfirst recorded in the atlas
Ciarafirst recorded in the atlas
colindoherty1first recorded in the atlas
Cora Bonniefirst recorded in the atlas
corporateuserfirst recorded in the atlas
cronossclkfirst recorded in the atlas
Csaba K Molnárfirst recorded in the atlas
cyrilfirst recorded in the atlas
d023613first recorded in the atlas
D068023first recorded in the atlas
d3rdennisfirst recorded in the atlas
Daniel Dragoleafirst recorded in the atlas
Dániel Hajnalfirst recorded in the atlas
Daniel Hutzelfirst recorded in the atlas
Daniel Kullmannfirst recorded in the atlas
Daniel O'Gradyfirst recorded in the atlas
Daniel O'Gradyfirst recorded in the atlas
Daniel Schlachterfirst recorded in the atlas
Daniel Shterevfirst recorded in the atlas
Danyal Aslamfirst recorded in the atlas
David Gogrichianifirst recorded in the atlas
David H Lamfirst recorded in the atlas
David Knaackfirst recorded in the atlas
David O'Connorfirst recorded in the atlas
David Sooterfirst recorded in the atlas
Davis Voicescuksfirst recorded in the atlas
DeblinaSanyalfirst recorded in the atlas
Deeksha Sinhafirst recorded in the atlas
Deepika Singh NSfirst recorded in the atlas
deklosdevfirst recorded in the atlas
Deni Dajafirst recorded in the atlas
Dennis Eisoldfirst recorded in the atlas
Dennis Hempfingfirst recorded in the atlas
Dietrich Mostowojfirst recorded in the atlas
Dilpreet Kaurfirst recorded in the atlas
Dimitar Fenerskifirst recorded in the atlas
dimitar-nikolov-lazarovfirst recorded in the atlas
Dimitri Herberfirst recorded in the atlas
Diptofirst recorded in the atlas
Dirk Teufelfirst recorded in the atlas
Divyanshu kumarfirst recorded in the atlas
Diya Dhandapanifirst recorded in the atlas
DJ Adamsfirst recorded in the atlas
Dominik Feiningerfirst recorded in the atlas
Dominik Heimfirst recorded in the atlas
Donal Tobin (SAP)first recorded in the atlas
Đông Trầnfirst recorded in the atlas
Dr. David A. Kunzfirst recorded in the atlas
Dr. Markus Königsteinfirst recorded in the atlas
Duc Tai Lyfirst recorded in the atlas
Dusan Sachafirst recorded in the atlas
dx frontier GmbHfirst recorded in the atlas
eckliefirst recorded in the atlas
Eddiefirst recorded in the atlas
Edouard Ouinfirst recorded in the atlas
EGnedelfirst recorded in the atlas
EgorTfirst recorded in the atlas
Ekansh Saxenafirst recorded in the atlas
Ekaterina Mitovafirst recorded in the atlas
Elias Gnedelfirst recorded in the atlas
Emanuel Bahrfirst recorded in the atlas
emincihangerifirst recorded in the atlas
Emre Cevikfirst recorded in the atlas
Enesfirst recorded in the atlas
Eric Pfirst recorded in the atlas
erlethorfirst recorded in the atlas
Ethan Jewettfirst recorded in the atlas
Evan Foxfirst recorded in the atlas
Evgeny Andreevfirst recorded in the atlas
Eyüp Bayçölfirst recorded in the atlas
F7502first recorded in the atlas
Fabian Reinboldfirst recorded in the atlas
FabianBerrfirst recorded in the atlas
Fatih Pensefirst recorded in the atlas
fionan-SAPfirst recorded in the atlas
Florian Richterfirst recorded in the atlas
Florian Vogtfirst recorded in the atlas
Florian Wilhelmfirst recorded in the atlas
Francisco Nataniel Gubbinsfirst recorded in the atlas
Frank Essenbergerfirst recorded in the atlas
Frank Hufnagelfirst recorded in the atlas
Frank Meertensfirst recorded in the atlas
Frank Nietzoldfirst recorded in the atlas
Frank Weigelfirst recorded in the atlas
Franziska Friedrichfirst recorded in the atlas
fred-ops-at-workfirst recorded in the atlas
Freddy Jetty Johnsonfirst recorded in the atlas
Gabriel Marangoni Moitafirst recorded in the atlas
Gavdi Labsfirst recorded in the atlas
GDamyanovfirst recorded in the atlas
Geert-Jan Klapsfirst recorded in the atlas
Geethika Pulafirst recorded in the atlas
georgbischofffirst recorded in the atlas
gernotkuhrfirst recorded in the atlas
Gerritfirst recorded in the atlas
Gert Mertensfirst recorded in the atlas
Gianluca Beilfirst recorded in the atlas
Gopal Anandfirst recorded in the atlas
gopalanand3first recorded in the atlas
Goran Peucfirst recorded in the atlas
GoWalefirst recorded in the atlas
green-m-bitfirst recorded in the atlas
Gregor Wolffirst recorded in the atlas
Grzegorz Karaluchfirst recorded in the atlas
Guilherme Dellagustinfirst recorded in the atlas
Guilherme Segantinifirst recorded in the atlas
Gunnar Koschefirst recorded in the atlas
gwcswfirst recorded in the atlas
hannaolbfirst recorded in the atlas
Harshith Kumar Reddyfirst recorded in the atlas
HatriGt Acefirst recorded in the atlas
Heiko Theißenfirst recorded in the atlas
Heiko Witteborgfirst recorded in the atlas
heikowitteborgfirst recorded in the atlas
Helmut Tammenfirst recorded in the atlas
Henning Heitkötterfirst recorded in the atlas
Henry Brinkfirst recorded in the atlas
Hitesh Parmarfirst recorded in the atlas
hjbothfirst recorded in the atlas
Hubert Dreckerfirst recorded in the atlas
IainSAPfirst recorded in the atlas
iDschepefirst recorded in the atlas
Ikko Eltociear Ashiminefirst recorded in the atlas
Ilia Kushnirfirst recorded in the atlas
Ilya Klopkovfirst recorded in the atlas
Ingmar Lemkefirst recorded in the atlas
Injun Parkfirst recorded in the atlas
iot-cparsfirst recorded in the atlas
Isaac Palomerofirst recorded in the atlas
Ivan Paunovfirst recorded in the atlas
IvoSGfirst recorded in the atlas
Iwona Hahnfirst recorded in the atlas
Iyad-Alhafezfirst recorded in the atlas
J Longfirst recorded in the atlas
jadolffirst recorded in the atlas
Jakob Marius Kjaerfirst recorded in the atlas
Jan Dudafirst recorded in the atlas
Jan Müllerfirst recorded in the atlas
Janumpally Kalyanfirst recorded in the atlas
Jason Maritzfirst recorded in the atlas
jdmulefirst recorded in the atlas
jeevitha011first recorded in the atlas
Jeff Dederickfirst recorded in the atlas
Jegors Čemisovsfirst recorded in the atlas
Jegors Čemisovsfirst recorded in the atlas
JenniferStammfirst recorded in the atlas
Jere Kelonenfirst recorded in the atlas
Jérôme Benoitfirst recorded in the atlas
Jimmy Josephfirst recorded in the atlas
Joaquin Recio Huertasfirst recorded in the atlas
JocelynGu135first recorded in the atlas
johannagonnzdzfirst recorded in the atlas
Johannes Eschrigfirst recorded in the atlas
Johannes Gluchfirst recorded in the atlas
Johannes Kolbefirst recorded in the atlas
Johannes Neisenerfirst recorded in the atlas
Johannes Vogelfirst recorded in the atlas
Johannes Vogtfirst recorded in the atlas
Jörg Mannfirst recorded in the atlas
Julian Breukschfirst recorded in the atlas
Julian Fliellerfirst recorded in the atlas
Julian Königfirst recorded in the atlas
julian-schambeckfirst recorded in the atlas
Junjie Tangfirst recorded in the atlas
Jürgen Walterfirst recorded in the atlas
Juri Zeislerfirst recorded in the atlas
kalevSAPfirst recorded in the atlas
kalyanjanumpallyfirst recorded in the atlas
KamalKumarSardiwalfirst recorded in the atlas
KavithaSivafirst recorded in the atlas
Kay Schmitteckertfirst recorded in the atlas
Kazuhiko Takatafirst recorded in the atlas
Keckl, Matthiasfirst recorded in the atlas
ketzlerfirst recorded in the atlas
Kevin Riedelsheimerfirst recorded in the atlas
KevinC0210first recorded in the atlas
Khalid Marhoumfirst recorded in the atlas
kingagesfirst recorded in the atlas
kitzkanfirst recorded in the atlas
Klaus Kellerfirst recorded in the atlas
KopalJauharifirst recorded in the atlas
korotkovaofirst recorded in the atlas
Kostas T.first recorded in the atlas
kranthie-sapfirst recorded in the atlas
Krish Bhardwajfirst recorded in the atlas
krish469first recorded in the atlas
KritiShekharfirst recorded in the atlas
KS-Prathikshafirst recorded in the atlas
kshanthfirst recorded in the atlas
KSPrathikshafirst recorded in the atlas
LalithManokarfirst recorded in the atlas
Lars Hvamfirst recorded in the atlas
Lars Plessingfirst recorded in the atlas
Lennartfirst recorded in the atlas
LiamM2004first recorded in the atlas
Lisa Julia Nebelfirst recorded in the atlas
Lochner Louwfirst recorded in the atlas
Lochner Louwfirst recorded in the atlas
lorenzobigsfirst recorded in the atlas
Lothar Benderfirst recorded in the atlas
Louise Findlayfirst recorded in the atlas
Luca Wunderlichfirst recorded in the atlas
lucaatsapfirst recorded in the atlas
Ludwig Stockbauer-Muhrfirst recorded in the atlas
Lukas Böhmfirst recorded in the atlas
Lukas Fitzfirst recorded in the atlas
Lukas Schwabefirst recorded in the atlas
Lukas Theis (MuwuM)first recorded in the atlas
M Sahufirst recorded in the atlas
madankumarpichamuthufirst recorded in the atlas
Madhusudhanan Perumalswamyfirst recorded in the atlas
Mahati Shankarfirst recorded in the atlas
Malemfirst recorded in the atlas
ManevaVfirst recorded in the atlas
Manuel Finkfirst recorded in the atlas
ManuelPastorinifirst recorded in the atlas
mar-holfirst recorded in the atlas
Mara Nikola Kieferfirst recorded in the atlas
M̷̱̥̳͔̖̠̙͈̫͕͔̳͉̱̣̭̮̠̰̄͊̒̈͛͗̈̇͆͗͆͋̾̋̅ͅͅẠ̴̡̬̭͓̟̠̣̤̓̽͛̋̌̆̆̔́̊̋́͜Ŕ̶͈̹̯̹͈̠̮̰̓̈́̐̊͐̕̕͝C̷̨̡̖̱̭͉̞̗̳͈̩͚̏͛̓̃͂͌̀̆͊̅̃̒̄͐̿̽̚͝first recorded in the atlas
Marc Beckerfirst recorded in the atlas
Marc Bernardfirst recorded in the atlas
Marcel Schorkfirst recorded in the atlas
Marcel Schwarzfirst recorded in the atlas
MarcelWaechterfirst recorded in the atlas
Marco Viethfirst recorded in the atlas
Marian Zeisfirst recorded in the atlas
mariayordfirst recorded in the atlas
Marika Marszalkowskifirst recorded in the atlas
Mario Kernichfirst recorded in the atlas
Marius Freitagfirst recorded in the atlas
MariusPerleSAPfirst recorded in the atlas
Markus Fathfirst recorded in the atlas
Markus Haugfirst recorded in the atlas
Markus Ofterdingerfirst recorded in the atlas
Markus Reetz-Lamourfirst recorded in the atlas
Markus Riedingerfirst recorded in the atlas
Marten Schiwekfirst recorded in the atlas
Martin Januskafirst recorded in the atlas
Martin Lakovfirst recorded in the atlas
Martín Rodríguezfirst recorded in the atlas
Martin Stenzigfirst recorded in the atlas
martindecortefirst recorded in the atlas
Maruf Rasullyfirst recorded in the atlas
Marvin Lfirst recorded in the atlas
Marvin Weitzfirst recorded in the atlas
Matthiasfirst recorded in the atlas
Matthias Kieferfirst recorded in the atlas
Matthias Kuhrfirst recorded in the atlas
Matthias Oßwaldfirst recorded in the atlas
Matthias Schurfirst recorded in the atlas
Mattias Johanssonfirst recorded in the atlas
Mauricio Laufferfirst recorded in the atlas
Maxfirst recorded in the atlas
Max Gruenfelderfirst recorded in the atlas
Max Meinelfirst recorded in the atlas
Max Reichmannfirst recorded in the atlas
Max Streifenederfirst recorded in the atlas
maxi1555first recorded in the atlas
Maximilian Eckertfirst recorded in the atlas
Maximilian Moehlfirst recorded in the atlas
Maximilian Weilerfirst recorded in the atlas
Mayank Guptafirst recorded in the atlas
Md. Ashraful Alamfirst recorded in the atlas
Medelkouch98first recorded in the atlas
meltem7first recorded in the atlas
Merbin J Anselmfirst recorded in the atlas
Merlin Beutlbergerfirst recorded in the atlas
Metzing Mártonfirst recorded in the atlas
mfigueirfirst recorded in the atlas
Mhidayah19first recorded in the atlas
Mi8Y Technologiesfirst recorded in the atlas
Michał Majerfirst recorded in the atlas
Mikhail Goncharovfirst recorded in the atlas
Mio Yasutakefirst recorded in the atlas
Mirko Güntherfirst recorded in the atlas
Mirko Güntherfirst recorded in the atlas
Miroslav Tsvetanovfirst recorded in the atlas
mmilko01first recorded in the atlas
Modood Alvifirst recorded in the atlas
motarobertafirst recorded in the atlas
mrbandlerfirst recorded in the atlas
mushegh-sapfirst recorded in the atlas
muskansethi1first recorded in the atlas
Mustafa Mengütayfirst recorded in the atlas
mzimnnfirst recorded in the atlas
Nfirst recorded in the atlas
N2oB6n-SAPfirst recorded in the atlas
Nafees Ahmedfirst recorded in the atlas
nafis0077first recorded in the atlas
NAGARJUN DASfirst recorded in the atlas
Nangiale Shirfirst recorded in the atlas
Narendran N Vfirst recorded in the atlas
Navin Krishnanfirst recorded in the atlas
Nazife Alidzhikfirst recorded in the atlas
neoimpulse GmbHfirst recorded in the atlas
Nick Josipovicfirst recorded in the atlas
Nico Schoenteichfirst recorded in the atlas
Nicolas Lunetfirst recorded in the atlas
niemdafirst recorded in the atlas
Nigel Jamesfirst recorded in the atlas
Nikita B.first recorded in the atlas
Niklasfirst recorded in the atlas
Niko Lockenvitzfirst recorded in the atlas
Nikolay Grechanovfirst recorded in the atlas
Nils Hirsekornfirst recorded in the atlas
Nils Schnabelfirst recorded in the atlas
nocinfirst recorded in the atlas
oblomov-devfirst recorded in the atlas
ODATANOfirst recorded in the atlas
Ognyan Kulevfirst recorded in the atlas
Olaf Schmidtfirst recorded in the atlas
Ole Lilienthalfirst recorded in the atlas
Olegs Bugrovsfirst recorded in the atlas
Olenafirst recorded in the atlas
Olena Vyshnevskafirst recorded in the atlas
Oliver Klemenzfirst recorded in the atlas
Olivers Berzsfirst recorded in the atlas
Oliwerfirst recorded in the atlas
Ondřej Šebelafirst recorded in the atlas
OpenUI5 Botfirst recorded in the atlas
Paneesh Prabhurajfirst recorded in the atlas
Pascal Wasemfirst recorded in the atlas
patimwebfirst recorded in the atlas
patimwepneofirst recorded in the atlas
Patrice Benderfirst recorded in the atlas
Patrick frisonfirst recorded in the atlas
Paulfirst recorded in the atlas
Paulchenfirst recorded in the atlas
Pavanfirst recorded in the atlas
Pavel Kornevfirst recorded in the atlas
PavelNikitsiukfirst recorded in the atlas
Petar Dimovfirst recorded in the atlas
Peter Muessigfirst recorded in the atlas
Petr Plenkovfirst recorded in the atlas
PetrStribrnyfirst recorded in the atlas
Pierre Fritschfirst recorded in the atlas
Pieter Janssensfirst recorded in the atlas
PrathikshaKSfirst recorded in the atlas
Preetam Kajal Routfirst recorded in the atlas
Priyanka R Sfirst recorded in the atlas
PujaDeshmukh17first recorded in the atlas
pwasemsapfirst recorded in the atlas
QuadriO Beratungsgesellschaft mbHfirst recorded in the atlas
QuentinCHAMPAULTfirst recorded in the atlas
Rafael Augusto Leite Yegrosfirst recorded in the atlas
Rafael Yegrosfirst recorded in the atlas
rafaelhofffirst recorded in the atlas
raghavskfirst recorded in the atlas
Rahulfirst recorded in the atlas
rajbhuva1first recorded in the atlas
Rajdeep Bhuvafirst recorded in the atlas
Ralf Handlfirst recorded in the atlas
Ram Prasad GSfirst recorded in the atlas
rashmiangadi05first recorded in the atlas
rbrechterfirst recorded in the atlas
rd-sapfirst recorded in the atlas
René Jeglinskyfirst recorded in the atlas
resitamasfirst recorded in the atlas
Richard Lindnerfirst recorded in the atlas
Rishi Kunnathfirst recorded in the atlas
Robert Jakobsfirst recorded in the atlas
Robert Kaniafirst recorded in the atlas
Robert Wittfirst recorded in the atlas
Robinfirst recorded in the atlas
Robinfirst recorded in the atlas
Robin Kuckfirst recorded in the atlas
Rohtash Pooniafirst recorded in the atlas
Romans Koldunsfirst recorded in the atlas
RoshniNaveenaSfirst recorded in the atlas
rygiolfirst recorded in the atlas
SAHIL SACHDEVAfirst recorded in the atlas
SalvatoreLafirst recorded in the atlas
Samuel Bruckschfirst recorded in the atlas
Samyuktha Prabhufirst recorded in the atlas
sanat-thukralfirst recorded in the atlas
Sanoberfirst recorded in the atlas
SAPfirst recorded in the atlas
SAP Architecture Centerfirst recorded in the atlas
SAP Cloud Application Programming Modelfirst recorded in the atlas
SAP Cloud SDK Botfirst recorded in the atlas
SAP Mentors & Friendsfirst recorded in the atlas
SAP Open Source Admin Botfirst recorded in the atlas
SAPzer0first recorded in the atlas
Saurabh Kumarfirst recorded in the atlas
saurbhsinghfirst recorded in the atlas
sbabevfirst recorded in the atlas
Sebastian Blessingfirst recorded in the atlas
Sebastian Eschfirst recorded in the atlas
Sebastian Mahrfirst recorded in the atlas
Sebastian Schmidtfirst recorded in the atlas
Sebastian Wennemersfirst recorded in the atlas
Sebastian Wolffirst recorded in the atlas
Sebastiano Marchesinifirst recorded in the atlas
Sébastien Savallefirst recorded in the atlas
Sergei Hallerfirst recorded in the atlas
shahidlafirst recorded in the atlas
ShahMeet1first recorded in the atlas
Shankari G Rfirst recorded in the atlas
Sharmavkshfirst recorded in the atlas
Shen Linfirst recorded in the atlas
shibeshduwfirst recorded in the atlas
Shreyas Sfirst recorded in the atlas
Shubho Banerjeefirst recorded in the atlas
shubho5first recorded in the atlas
Siarhei Murkoufirst recorded in the atlas
sidakphullfirst recorded in the atlas
Simeon Petkovfirst recorded in the atlas
simeongelovskifirst recorded in the atlas
Simonfirst recorded in the atlas
Simon Coenfirst recorded in the atlas
Simon Engelfirst recorded in the atlas
Simon Heimlerfirst recorded in the atlas
Simon Koblerfirst recorded in the atlas
Simon Vestergaard Laursenfirst recorded in the atlas
simonoswaldfirst recorded in the atlas
singhal-bhavyafirst recorded in the atlas
Siyana Todorovafirst recorded in the atlas
sjvansfirst recorded in the atlas
SkylarkAfirst recorded in the atlas
somagsfirst recorded in the atlas
Sophie-Marie Lückfirst recorded in the atlas
Sören Leibachfirst recorded in the atlas
SoujitD-SAPfirst recorded in the atlas
SRKPendyalafirst recorded in the atlas
stbabevfirst recorded in the atlas
Stefan Engelhardtfirst recorded in the atlas
Stefan Henkefirst recorded in the atlas
Stefan Rudifirst recorded in the atlas
Stefan Schreckfirst recorded in the atlas
Stefania Santimbreanfirst recorded in the atlas
Steffen Waldmannfirst recorded in the atlas
Steffen Weinstockfirst recorded in the atlas
Stephen Cherianfirst recorded in the atlas
Steven De Saeger ( Sedacrivity )first recorded in the atlas
StoilAtSAPfirst recorded in the atlas
Sushant Priyadarshifirst recorded in the atlas
swendlandtfirst recorded in the atlas
TaldykinVyacheslavfirst recorded in the atlas
TanyaMedvedevafirst recorded in the atlas
Terry-Huang-00first recorded in the atlas
testojsfirst recorded in the atlas
Theo Sunfirst recorded in the atlas
Thomas Bonkfirst recorded in the atlas
Thomas Frischholzfirst recorded in the atlas
Thomas Hammerfirst recorded in the atlas
Thomas Jungfirst recorded in the atlas
Thomas Swolfsfirst recorded in the atlas
Thomas-Neuhauserfirst recorded in the atlas
Thorbenfirst recorded in the atlas
Thorsten Hochreuterfirst recorded in the atlas
Thorsten Sandfuchsfirst recorded in the atlas
Tiago Martinsfirst recorded in the atlas
Tian Tengfirst recorded in the atlas
TiKeiNeofirst recorded in the atlas
Til Weberfirst recorded in the atlas
Tim Schulze-Hartungfirst recorded in the atlas
Timon Gäbeleinfirst recorded in the atlas
Timothy Gibbonsfirst recorded in the atlas
Tobias Queckfirst recorded in the atlas
Tomfirst recorded in the atlas
Tom Frenkenfirst recorded in the atlas
Tomas Rimkusfirst recorded in the atlas
Tommyfirst recorded in the atlas
Tongwei Zhangfirst recorded in the atlas
Tony Quachfirst recorded in the atlas
Tuan Dinhfirst recorded in the atlas
Tux240first recorded in the atlas
UBSusmithafirst recorded in the atlas
UI5first recorded in the atlas
UI5 Communityfirst recorded in the atlas
Ullas Hollafirst recorded in the atlas
UserAbcd1234first recorded in the atlas
Uwe Klingerfirst recorded in the atlas
Uwe Schwerkfirst recorded in the atlas
vadson71first recorded in the atlas
vibhutikumarfirst recorded in the atlas
Vilim Mikicfirst recorded in the atlas
vinayhospetefirst recorded in the atlas
Vincent Escalierfirst recorded in the atlas
vincentatsapfirst recorded in the atlas
Vinícius Barrionuevofirst recorded in the atlas
Vinicius Cesar Diasfirst recorded in the atlas
viniciuslorafirst recorded in the atlas
Vitalii Komarfirst recorded in the atlas
Vitaly Kozyurafirst recorded in the atlas
Vivek Gowdafirst recorded in the atlas
VivienLeonhardtfirst recorded in the atlas
Vladimirfirst recorded in the atlas
Vladimirs Semikinsfirst recorded in the atlas
Vladislav Leonkevfirst recorded in the atlas
Vladislavs-Silins-SAPfirst recorded in the atlas
vlovinifirst recorded in the atlas
Volker Buzekfirst recorded in the atlas
Vrishin Patelfirst recorded in the atlas
Wenjun Zhengfirst recorded in the atlas
Willem Pardaensfirst recorded in the atlas
Wouter Lemairefirst recorded in the atlas
Yannick Winterfirst recorded in the atlas
Yannis Moserfirst recorded in the atlas
Yarloy037first recorded in the atlas
yashmeet29first recorded in the atlas
YatishNagarajafirst recorded in the atlas
Yavor Ivanovfirst recorded in the atlas
Yevgen Trukhinfirst recorded in the atlas
YuanZhuang107first recorded in the atlas
Yusmen Rashidovfirst recorded in the atlas
z-mvgfirst recorded in the atlas
zakfirst recorded in the atlas
Zdravko Georgievfirst recorded in the atlas
Zhongpin Wangfirst recorded in the atlas
Ziyang Lifirst recorded in the atlas
Zongqi Chenfirst recorded in the atlas
zzsshalikfirst recorded in the atlas
Mon 14
@sap/joule-studio-cliadded to the atlasCLI for Joule digital assistants and Joule Studio solutionsAgent tooling
@sap/joule-work-dev-cli-early-adoptersadded to the atlasPro-code CLI for building and deploying Joule Studio solutionsAgent tooling
AI-native North Star architecture — Platform LayerpublishedThe platform layer of SAP's North Star architecture, the chapter that says where agents run and what a developer builds them with. It names an AI Golden Path built on the SAP Cloud Application Programming Model, the ABAP Cloud development model with RAP and the SAP Fiori design system, and a managed agent runtime on SAP BTP that is designed to provide software development kits for building agents in any framework, an agent sandbox, container-hosted execution, a skills registry and continuous evaluations, which is the ground agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed covers. Agents are extended without changing their code through four patterns, the first of them tool extensibility through the Model Context Protocol, the concern MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design is named for; the process-layer chapter adds that a pro-code path with a standardised agent SDK and a prompt-driven path through the Joule Studio solution produce the same code artifact on the same runtime. It describes a design SAP intends rather than products that exist, and the SDK and the registry it names have no entry here yet.Agent tooling
approuteradded to the atlasShowcase for dev-approuter in front of two UI5 apps
Show 38 more
bookshop-javaadded to the atlasJava implementation of the capire/bookshop getting-started sample
bookstore-javaadded to the atlasJava implementation of the capire/bookstore composite app
btp-user-management-microserviceadded to the atlasCAP microservice on XSUAA managing users and authorizations
cap-microservices-workshopadded to the atlasreCAP 2025 workshop on cutting a CAP app into microservices
cap-nodejs-dev-envadded to the atlasDevelopment container definition for CAP Node.js
cds-bookshopadded to the atlasCAP bookshop showing UI5 development with cds-plugin-ui5
commonadded to the atlasSample CAP plugin extending @sap/cds/common with reuse data
Content FilteringpublishedContent filtering screens a large language model's input and output for low-quality, irrelevant or unsafe content: the four categories it names being hateful, violent, sexual and vulgar content, checking a request once on the way in and once on the way back. The page states smaller models can do this filtering efficiently, reading perplexity scores to flag anomalies, with the aim that SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp produces content meeting a stated safety standard, which is the ground content filteringContent filteringChecking what goes into a model and what comes out of it against content rules, and stopping or flagging a request that fails them. Distinct from data masking, which hides values: a filter refuses content.SAP only covers on the BTP door.Content filtering
Content-based Agents with SAP Joule Studio Agent BuilderpublishedJoule Studio, classic editionJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp, the capability in SAP Build the page calls Joule Studio, is where an organisation creates and manages its own Joule skills and Joule agents; its Agent Builder is for a custom agent that handles a multi-step task by combining instructions, model-backed planning and reasoning, and a configured set of tools, Joule skills, document resources, MCP servers, or other agents run as subagents. The page states an agent executes inside the calling user's own security context through SAP Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btp, and can be tried against a test conversation before deployment. That is the tool-and-turn-taking ground agent toolingAgent toolingBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.SAP and community, unassessed covers, here built through Joule Studio rather than in application code.Agent tooling
Custom Joule SkillspublishedA custom Joule skill is a workflow written to extend what Joule does out of the box for one specific business need, built and deployed through Joule StudioJoule Studio, classic editionThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btp in SAP Build; the page states this is the supported way to extend Joule's built-in capabilities. Through Joule Studio a skill reaches SAP and external APIs via the destinations already configured in the BTP subaccount and Build environment, with the workflow itself versioned, monitored and deployable from the same tool.Agent tooling
Data MaskingpublishedData masking replaces identifiable or confidential text in a prompt with placeholders such as <Person_0> or <Organization_1> before it reaches a large language model, using pattern matching and machine learning to find what to replace. The page states SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp supports it as a feature and sets out five steps for applying it, defining the masking scope, choosing a technique, preserving the prompt's intent, checking compliance and risk, then testing and monitoring the result. That is the shape data maskingData maskingReplacing the personal or confidential values in a prompt with placeholders before it leaves for a model, and putting them back in the answer. Anonymisation, where the values are gone for good, and pseudonymisation, where they return, are the two forms; which fields count as sensitive is the application's question, not the module's.SAP only takes on the BTP door.Data masking
Document GroundingpublishedDocument Grounding is a managed retrieval-augmented-generation service under the Generative AI Hub on BTP, which SAP's page on SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp places inside that service: it ingests documents from Amazon S3, SharePoint, SAP Document Management Service, SAP Work Zone or an SFTP server, and handles chunking, embedding and retrieval itself, refreshing content automatically when a source document changes. The page states this managed path is recommended for most enterprise scenarios because it covers the whole lifecycle end to end, and offers a separate Document Grounding Vector API for data that is already chunked and embedded, for cases that need finer control over chunking and metadata.Retrieval-augmented generation
Joule Studio, classic editionadded to the atlasLow-code SAP Build capability for custom Joule skills and agentsAgent tooling
ordersadded to the atlasSample CAP reuse service for orders, with a Fiori UI
orders-javaadded to the atlasSample CAP Java reuse service for orders, with a Fiori UI
Prompt TemplatingpublishedPrompt templating replaces a static prompt with a structured, reusable template whose placeholders are filled in at runtime, which the page says helps LLM responses stay consistent and lets the same instructions be adapted across tasks. On SAP AI CoreSAP AI CoreSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp this is implemented through the Prompt Registry, and the page states that storing prompts as plain strings in code is possible but not recommended. That is prompt managementPrompt managementKeeping the prompts an application sends to a model as templates with placeholders, stored and versioned apart from the code that calls them, so a change of wording is not a deployment. What people conflate under it: the template filled at runtime, the registry it lives in, and the orchestration step that fills it.SAP only as a stored and managed object rather than a string embedded in the caller.Prompt management
reviewsadded to the atlasSample CAP reuse service for reviews, with a Fiori UI
reviews-javaadded to the atlasSample CAP Java reuse service for reviews, with a Vue UI
Sample CAP Application with SAP Cloud SDK for AIadded to the atlasCAP samples calling SAP AI Core through the SAP Cloud SDK for AI
SAP AI Coreadded to the atlasAI runtime on BTP with the Generative AI HubLLM integration
SAP BTP AI Best Practice Demo - Content Filtering - CAPadded to the atlasCAP samples comparing SAP AI Core responses with content filtering
SAP BTP AI Best Practice Demo - Data Masking - CAPadded to the atlasCAP samples generating email through SAP AI Core with anonymization
SAP BTP AI Best Practice Demo - Prompt Registry - CAPadded to the atlasCAP samples using SAP AI Core's Prompt Registry for templates
SAP BTP AI Best Practice Demo - Prompt Templating - CAPadded to the atlasCAP samples filling a prompt template sent to SAP AI Core
SAP BTP AI Best Practice Demo - Vector Embedding (RAG) - CAPadded to the atlasCAP samples embedding CSV rows into the SAP HANA Cloud vector store
SAP BTP AI Best Practice Demo - Vector Query (RAG) - CAPadded to the atlasCAP samples running RAG similarity queries over SAP HANA Cloud vectors
shared-dbadded to the atlasCAP sample sharing one domain model and database across apps
shared-db-javaadded to the atlasCAP Java sample sharing one domain model across several apps
tailspendmanagementadded to the atlasCAP reference application for tail spend management
teched2025-XP260added to the atlasTechEd 2025 workshop on OWASP Top 10 risks in CAP applications
ui5-bookshop-vieweradded to the atlasUI5 app consuming the cds-bookshop server via ui5-middleware-cap
xflightsadded to the atlasCAP reuse package serving Airlines, Airports and Flights data
xflights-javaadded to the atlasCAP Java reuse package for Airlines, Airports and Flights data
xsa-cap-migrationadded to the atlasGuide migrating the hana-shine-xsa demo from XS Advanced to CAP
xsa-cap-migration-using-basextnadded to the atlasGuide to migrating XS Advanced database artefacts to CAP
xsc-cap-migrationadded to the atlasGuide to migrating XS Classic database artefacts to CAP
xtravelsadded to the atlasCAP travel-booking app built on xflights master data
xtravels-javaadded to the atlasCAP Java travel-booking app built on xflights-java master data
Sun 13
dev-approuteradded to the atlasDev-time wrapper for the SAP Application RouterLocal development
Effective from June 30th 2026 - XSUAA Deprecation of GET Method for OAuth Token RetrievalpublishedEffective June 30th 2026, the SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btp (XSUAA) deprecates the HTTP GET method for retrieving an OAuth access token from its /oauth/token endpoint, leaving only POST supported in line with RFC 6749. A client still requesting a token via GET with grant_type and credentials in the query string stops working after the cutover and must switch to a POST request with form-encoded body parameters.Authorization
liteinventorymanagementadded to the atlasCAP reference app for lightweight local inventory management
SAP Integration Suite, advanced event meshadded to the atlasEvent streaming and management platform in Integration SuiteEvent Mesh
Show 32 more
SAP-samples/btp-cap-dox-invoice-validationadded to the atlasCAP app validating invoices with Document Information Extraction
SAP-samples/btp-cap-genai-ragadded to the atlasCAP reference app for GenAI email support with RAG on HANA Cloud
SAP-samples/btp-cap-genai-semantic-searchadded to the atlasCAP sample for semantic search with Generative AI Hub and HANA Cloud
SAP-samples/btp-developer-guide-capadded to the atlasIncident Management CAP app for the SAP BTP Developer's Guide
SAP-samples/btp-event-driven-multi-tenant-architectureadded to the atlasCAP sample of SAP Event Mesh events feeding a multi-tenant SaaS app
SAP-samples/btp-joule-a2a-pro-code-agentadded to the atlasA2A reference letting Joule delegate to a CAP pro-code agent
SAP-samples/btp-secure-developmentadded to the atlasOWASP Top 10 workshop exploiting and fixing flaws in a CAP Node.js app
SAP-samples/cap-bookshop-wdi5added to the atlasCAP bookshop with wdi5 system tests for a CI/CD tutorial
SAP-samples/cap-cds-hands-onadded to the atlasFive-part workshop on CDS, from a first service to constraints
SAP-samples/cap-hana-exercises-codejamadded to the atlasCodeJam building a full-stack CAP app on SAP HANA Cloud
SAP-samples/cap-local-development-workshopadded to the atlasreCAP 2025 workshop on CAP's local-development toolset
SAP-samples/cap-service-integration-codejamadded to the atlasCodeJam on consuming external services from a CAP project
SAP-samples/cap-sflightadded to the atlasTravel-booking reference app on CAP Node.js and Java backends
SAP-samples/cap-tour-hands-onadded to the atlasEight-exercise tour of CAP features, from mocking to plugins
SAP-samples/cloud-cap-hana-swapiadded to the atlasCAP data model of many-to-many relationships on a Star Wars dataset
SAP-samples/cloud-cap-samples-javaadded to the atlasBookshop app demonstrating the CAP Java SDK end to end
SAP-samples/cloud-foundry-runtime-learning-journeyadded to the atlasCompanion repo deploying a CAP app to Cloud Foundry two ways
SAP-samples/codejam-cap-llmadded to the atlasCodeJam on a CAP job posting service using SAP AI Core over OData
SAP-samples/e-mobility-driver-appadded to the atlasCAP-based PWA for EV drivers proxying SAP E-Mobility OData APIs
SAP-samples/event-hub-cap-samplesadded to the atlasCAP consumer of SAP Cloud Application Event Hub events
SAP-samples/fiori-elements-feature-showcaseadded to the atlasShowcase of Fiori elements for OData V4 features on a CAP backend
SAP-samples/fiori-elements-fpm-exercises-codejamadded to the atlasCodeJam building a bookshop app on the flexible programming model
SAP-samples/fiori-elements-v4-cap-advancedadded to the atlasExercise solutions for the UX405 course on Fiori elements with CAP
SAP-samples/hana-developer-cli-tool-exampleadded to the atlasDeveloper-centric command line for SAP HANANative SAP HANA artifacts
SAP-samples/odata-dd-serveradded to the atlasCAP Node.js server behind the OData Deep Dive tutorials
SAP-samples/partner-reference-applicationadded to the atlasPoetry Slam Manager, a multi-tenant SaaS reference app on SAP BTP
SAP-samples/partner-reference-application-extensionadded to the atlasCustomer-specific catering extension to the Poetry Slam Manager
SAP-samples/recap2026-cap-level-data-federationadded to the atlasreCAP 2026 workshop on data federation between CAP applications
SAP-samples/ui5-cap-event-appadded to the atlasEvent registration app showing OData V4 draft with UI5 and CAP
slp-supplier-validationadded to the atlasCAP reference app validating Ariba supplier registration data
ui5-cap-todoadded to the atlasTodo app with CAP and SAPUI5 in TypeScript over OData V4
SAP Samplesadded to the atlas
Sat 12
MCP Servers are the New Z-TablespublishedA single CAP service exposed as three overlapping MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design tools, queried by the same prompt nineteen times, returned the same tool every time — evidence, the author argues, that tool selection rests on the resemblance between a prompt and a tool's description rather than on any binding a where-used list could enumerate before retiring it. It contrasts that setup with @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, which exposes a whole service as three generic tools instead of one per operation, and quotes the adapter's own beta documentation admitting no rate limiting, audit logging, input validation or approval workflow, and no use as a gateway to SAP Application APIs. From there it names four small Tool governanceTool governanceControlling what an agent may call, with which authorisations, and leaving an audit trail of what it did. The authorisation question that MCP exposure raises but does not answer.SAP and community, unassessed practices it has adopted: an owner recorded in the tool's own metadata, logging every invocation, deprecating inside the description, and exposing fewer tools.Serve your application over MCP
Fri 11
@sap/hdi-deployadded to the atlasNode.js deployer for SAP HANA Deployment Infrastructure containersSchema evolution
#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 2publishedWalks through wiring a CAP service to SAP's Personal Data Manager (PDM) on BTP: entity, key and field-level
@PersonalData annotations that mark data subjects and personal fields, the @PersonalData.IsPotentiallyPersonal / IsPotentiallySensitive distinction that drives audit logging, and the @Communication.Contact annotation PDM needs to search for a data subject. Covers the xsuaa trust arrangement and service binding that let the standalone PDM application call back into the CAP service to read and manage that data. Second of a three-part series; the annotation model it demonstrates is CAP's own mechanism for data privacy compliance, exercised against a sample 'Game Shop' application.Data privacy#SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 3publishedThird of a three-part series, this covers the UI side of SAP's Personal Data Manager (PDM) once it is subscribed and wired to a CAP application: a Customer Service Representative searches for a data subject, views the personal data the application's annotations expose, and requests correction, deletion or export on their behalf, while an Operators Clerk processes those requests through to completion. PDM stores none of the personal data itself, only the requests and access logs, which an administrator downloads through the separate Data Transport app. It builds on the annotation model the first two parts introduce, so what it demonstrates is PDM's own delivered UI rather than anything a CAP application must build itself.Data privacy
Create your first CAP pluginpublishedA step-by-step guide to the cds-plugin.js extension point: scaffold a package, add an index.cds for shared model artifacts, and test it locally against a throwaway CAP project before publishing to npm, with a separate section on building the same plugin in TypeScript and compiling it with tsc. Points to the author's own cds-plugin-handlerscds-plugin-handlersA CAP plugin that structures handlers as one file per entity, in a folder per service, instead of one service implementation that keeps growing.independent, cap and ui5-cap-serverside-rendering-pluginui5-cap-serverside-rendering-pluginA CAP plugin that fills UI5 views and fragments with entity data on the server through Handlebars and streams them as XML, and renders a Vue app to HTML on a route of its own.independent, cap as worked examples.Plugin authoring
Show 2 more
How we could potentially have nestjs as runtime for SAP CAPpublishedA proof-of-concept that swaps @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap's ApplicationService and ODataAdapter dispatch for NestJS controllers, providers and interceptors, built by the author to learn NestJS rather than to ship a runtime. It works through CAP's run-dispatch-handle loop and AsyncLocalStorage-based transaction boundaries in detail before mapping them onto NestJS dependency injection and interceptors — one community answer to the controller-service-repository layering question core TypeScript support leaves open. The author's own conclusion is that the result reimplements CAP Java in Node.js, and they do not plan to take it further.TypeScript patterns
Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdlespublishedThree hurdles in running a CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap application locally: services mocked with
cds run --with-mocks return no data across OData associations until the ON clause is hand-written into the imported CDS, an on-premise API reached through the SAP Cloud Connector times out because its proxy is part of destinations and connectivityDestinationsReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.SAP and community, unassessed and reachable only from inside SAP BTP, and a Fiori frontend served from the HTML5 Application Repository needs the HTML5 Repo Mock to reach a local backend at all. It closes with the launch configurations the author uses for debuggingDebuggingSeeing what running code did between an input arriving and a result coming out: which code ran, what the values were at each point, and why a value ended up as it did.SAP and community, narrow by design cds watch locally and attaching to a running Cloud Foundry instance.Local developmentThu 10
@sap/cds-hanaadded to the atlasDatabase adapter for SAP HANA in CAPDatabase connectors
Open Sourcing CAP – how to learn more or get involvedpublishedA roundup of CAP's open-sourcing, begun at TechEd the year before, pointing to a webinar recording, a podcast episode and reCAP 2023 talks for background. Among the components it names are a feature toggleFeature togglesTurning behaviour on and off per tenant or per user at runtime, without redeploying, and knowing which toggles are live. System-level switches for delivered objects and runtime flags for unfinished features share the name.SAP and community, narrow by design library giving Node.js CAP apps live-updatable toggles backed by Redis, a new pluggable databaseDatabase connectorsConnecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to schema evolution.SAP and community, narrow by design layer with SQLite and PostgreSQL implementations plus a generic SQL layer, and a change trackingChange trackingKeeping a readable history of what changed on a record, who changed it and when — as business history rather than database journalling.SAP and community, unassessed component that builds a change history for data from CDS models.Feature toggles
SAP API Policy Evidence Skilladded to the atlasSkill assessing API usage against the SAP API PolicyTool governance
SAP HANA Cloudadded to the atlasManaged SAP HANA database service on BTPDatabase connectors
Show 2 more
SAP Power for Kiroadded to the atlasSAP skills for the Kiro IDEAgent guidance
secondsky/sap-skillsadded to the atlasForty SAP development plugins for coding agentsAgent guidance
Wed 9
@ui5/mcp-serveradded to the atlasMCP server for UI5 development with ten toolsAgent access to your code
Cloud Identity Servicesadded to the atlasIdentity Authentication and Identity Provisioning as one tenantAuthentication
Event Meshadded to the atlasManaged queues and topics over AMQP, MQTT and RESTEvent Mesh
mcp-sap-docsadded to the atlasMCP server searching seventeen SAP documentation repositoriesDocumentation
Show 19 more
Object Store on SAP BTPadded to the atlasBinding onto hyperscaler object storage, chosen by plan
PostgreSQL on SAP BTP, hyperscaler optionadded to the atlasManaged PostgreSQL from the hyperscaler via a BTP service bindingDatabase connectors
Redis on SAP BTP, hyperscaler optionadded to the atlasManaged Redis from the hyperscaler via a BTP service bindingCaching
SAP Application Frontend serviceadded to the atlasManaged hosting and routing for built frontendsApp hosting
SAP Application Logging service for SAP BTPadded to the atlasCollects Cloud Foundry or Kyma logs into a searchable KibanaLogging
SAP Audit Log serviceadded to the atlasIngests and retains compliance audit data from BTPAudit logging
SAP Authorization and Trust Management serviceadded to the atlasOAuth server issuing JWTs and holding scopes for BTP appsAuthentication
SAP Connectivity serviceadded to the atlasProxy from cloud apps to on-premise systems via Cloud ConnectorRFC connectivity
SAP Credential Storeadded to the atlasVault for an application's passwords, keys and keyringsSecrets rotation
SAP Destination serviceadded to the atlasNamed, credentialed addresses of other systems resolved at runtimeDestinations
SAP Document AIadded to the atlasExtracts header fields and line items from business documentsDocument extraction
SAP Feature Flags serviceadded to the atlasBoolean and string flags read by applications at runtimeFeature toggles
SAP HTML5 Application Repository service for SAP BTPadded to the atlasStores UI5 and HTML5 apps and serves them through the approuterApp hosting
SAP Job Scheduling serviceadded to the atlasCalls an application endpoint on a schedule and logs each runJob scheduling
SAP Malware Scanning serviceadded to the atlasScans uploaded files over REST with ClamAVMalware scanning
SAP Software-as-a-Service Provisioning serviceadded to the atlasRegisters a multitenant application for subaccount subscriptionsMultitenancy
SAP Task Centeradded to the atlasOne inbox for tasks across SAP applications and BTP workflows
sap-cap-mongodbadded to the atlasCAP service reading and writing MongoDB from custom handlers
SAP-samples/cap-agentic-engineeredadded to the atlasFinancial Risk Analyzer built by an agent grounded in SAP MCP servers
Tue 8
[Blog Post] SAP Event Mesh - Consuming S4 events simultaneously in CAP-based applications and SAP Integration SuitepublishedOne S/4HANA event, two consumers at once: a CAP Java application and SAP Integration Suite. Late in a long Deep Dive series and written as such — the queues, the S/4HANA connection and the Integration Suite side were all established in earlier posts, so this is the part where they meet.Event Mesh
[Blog Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant ScenariopublishedThe instalment of the Deep Dive series where the framework arrives. The earlier posts consumed Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp over its REST API, so this one is explicitly a comparison: the same thing through CAP's messaging abstraction, with the three flavours — local, file-based and a real broker — named before the broker one is built.Event Mesh
@cap-js/cds-testadded to the atlasTest support for CAP Node.js: server start, HTTP client, assertionsTesting
@capire/data-vieweradded to the atlasSample CAP plugin adding a generic data browser
Show 304 more
@geertjanklaps/cds-toon-ai-protocol-adapteradded to the atlasProtocol adapter serving CAP data as TOON instead of JSONLLM integration
@neoimpulse/cap-js-bootstrapadded to the atlasCLI starting several CAP services and an AppRouter locally togetherLocal development
@neoimpulse/cap-js-mcpadded to the atlasMCP server inside a CAP application with model and query toolsServe your application over MCP
@neoimpulse/cap-js-notificationsadded to the atlasCopy of @cap-js/notifications published under another scopeNotifications
@neoimpulse/cap-js-restore-model-defined-typesadded to the atlasCAP plugin casting read values back to CDS model typesDatabase connectors
@neoimpulse/cap-js-trimadded to the atlasCAP plugin stripping whitespace from strings on write via @cds.trimValue normalisation
@neoimpulse/cap-js-uppercaseadded to the atlasCAP plugin uppercasing strings on write via @cds.uppercaseValue normalisation
@neoimpulse/cap-js-xml-protocoladded to the atlasCAP plugin letting the REST adapter accept XML payloadsXML payloads
@sap/amsadded to the atlasAuthorization from DCL policies for Node.js apps on SAP Cloud IdentityAuthorization
@sap/hana-clientadded to the atlasSAP's Node.js driver for SAP HANADatabase connectors
@sap/ux-cds-compiler-facadeadded to the atlasWrapper around the CDS compiler for annotation handlingFiori annotations
@sap/ux-cds-odata-language-server-extensionadded to the atlasOData annotation features for the @sap/vscode-cds extensionEditor support
#BTP #SAPCAP: Quirky Nuggets (N03-N04)publishedTwo unrelated findings in one post, which is the format of the series: the OData operators tried against a CAP service — with a schema of deliberately awkward types to try them on — and undeploying database artifacts, which is the half people hit in anger. Numbered N03 and N04 of a run that continues either side.OData
#CAP-TechBytes Input ValidationpublishedThe annotations one at a time — @mandatory, @assert.unique, @assert.range including the enum form, @assert.format — each with what it produces. Ends on error handling, which is the part that decides whether any of it is usable from a UI.Input validation
⚡Unlocking the Power of LLMs in CAP: Understanding llms.txt and llms-full.txtpublishedllms.txt and llms-full.txt for CAP — a plain-text map of the documentation, written for an agent that arrived by fetching a URL rather than one somebody configured. The convention the atlas uses for itself, applied to capire.Agent guidance
2024/01最新版!Productivity Toolsを使ったCAPバックエンド開発②~HANA Cloud編~publishedIn Japanese, and the second of a pair — database connection through to calling the API from outside, with authorisation in between. The author dates the screenshots explicitly and warns that the UI may have moved since, which is the right disclaimer for a click-through guide.Database connectors
A CAP Plugin for Flexible Number Range Management: cds-numberrange-pluginpublishedThe author's own plugin, and the reason given for writing it is about plugins rather than about number ranges: a year of using them convinced them that this was the way to extend CAP without leaving marks on the application. Sequential document numbers are the thing it does; keeping the host project clean is the thing it argues for.Data modelling
A modern workflow for SAP Cloud Integration with CAP and Azure DevOpspublishedCAP used to build tooling rather than an application: the development workflow for Cloud Integration is limited to what the Integration Suite offers, so the author puts a CAP service and Azure DevOps around it. An unusual use of the framework, and the reason to read it.Workflow integration
A Practical Real-Time CTI Widget for SAP Sales Cloud V2publishedA small CAP backend, a WebSocket channel and a UI5 widget in an iframe — enough to get telephony events into Sales Cloud without any custom backend inside the CRM. The smallness is the design.WebSocket
Add useful Extensions to Dev spaces in SAP Business Application StudiopublishedStarts from the point capire makes — that CAP is editor-agnostic and BAS is the preconfigured option — and then does the thing that undoes preconfiguration: adds two extensions to a dev space for initialising data in a CAP application, with the uninstall procedure as well as the install. The uninstall half is what makes it worth keeping.Editor support
Adding a Swagger UI to Your SAP Cloud Application Programming Model / Node.js ServicepublishedThe problem stated from the other side of the wire: a CAP and HANA backend consumed by frontend developers with no SAP background, who said in the first meeting that they could not work from what the service offered. A browsable API page is the answer, and this is the post the Swagger UI plugin indexed here exists to serve.OpenAPI
Adding Shell Plugin to SAP Fiori CAP Application and Deploying to Cloud Portal ServicepublishedA launchpad shell plugin built as a CAP application and deployed to the Cloud Portal service — extending the shell around your app rather than the app itself.Deployment
An approach to secure multiple integrated SAP CAP java applications with a common XSUAA service instancepublishedOne XSUAA instance across several CAP Java applications that call each other, rather than one per application. Short, and written from inside SAP Labs as something the author tried — the value is the shape of the arrangement, not a walkthrough.Authorization
An Innovative Language Exchange App developed with SAP Build Apps, CAP, Kyma, and OpenAIpublishedA dormant internal app at SAP Japan revived with AI, built to solve a problem the team actually had — colleagues who could not talk to each other. Build Apps on the front, CAP on Kyma behind it, OpenAI in the middle.LLM integration
An introduction to CDS Graphical Modeler for SAP Business Application StudiopublishedThe announcement of the graphical modeller, from the team that built it — what it draws, how to get a dev space that has it, and what it is for. The starting point for the two posts that follow it, and the record of when this became part of the editor rather than an idea.Editor support
Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]publishedThe opening of a three-part series on reaching more than one S/4HANA system from one CAP application with the user's identity carried through. This part sets up the business problem; the propagation itself is in the parts that follow.Destinations
Automate BTP Custom Domain certificates using Let's EncryptpublishedCertificate lifecycle management as an application: a CAP backend, a Fiori elements UI, the Custom Domain service, Cloud Foundry routes and the Job Scheduler, so requests, renewals and cleanup stop being manual. Part two of the author's BTP Toolbox.Async processing
Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation AppspublishedA process that drafts its own text: ChatGPT writing job postings, SAP Build Process Automation carrying them through approval, and CAP in between. Presented as a generic pattern the author expects to be adapted rather than copied.Workflow integration
Avoiding Data Loss When Loading Initial Data with CSV Files in CAPpublished
cds add tiny-sample gives you a CSV in db/data and it loads on deploy, which looks like a way to seed a productive application. The catch, stated plainly: change the CSV or the schema and HANA is reinitialised from the file, taking whatever users had entered with it.Seed dataBanking Sentinel: A Multi-Agent Credit-Risk Copilot on SAP BTP, Built on a Mixed AI StackpublishedThe risk it is chasing is a graph problem stated in banking terms: a borrower who looks safe alone and is the linchpin of a group ten times the size. Multi-agent, mixed AI stack, on BTP and CAP.Agent tooling
Boost your CAP Development with AI: Introducing the MCP Server for CAPpublishedThe announcement of the development-tool half of the two things called MCP here: a server that gives an agent context about the project in front of it and relevant CAP examples, so Claude Code or Copilot steers better. Names the agents it was tried with, which is more than most announcements do.Agent access to your code
BTP CAP : How to Connect to Remote Services Locally in CAP ApplicationpublishedThe same problem four years earlier: a CAP application that consumes a remote service, running locally against the real thing rather than against a mock.Destinations
Build a Business Application Using CAP for JavapublishedThe Java counterpart to the Node.js path — eight tutorials, around two and a half hours, from a generated project to a running service. Worth having indexed separately rather than folded in with the Node.js one: the runtimes diverge most in exactly the places a first application touches, and following the wrong path is a slow way to find that out.Reference apps
Build a Business Application Using CAP for Node.jspublishedThe Node.js introduction path, and the shorter of the pair — the runtime most CAP writing assumes, which is why the Java path exists separately.Reference apps
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationpublishedGeneration and deployment in one piece, with the managed approuter rather than a standalone one — so the routing is configuration instead of a module, and the post covers what that changes at deploy time.Fiori annotations
Build BTP CAP App with Fiori Integration – Part 2: Implementing End to End ApppublishedThe implementation half of the series whose first part set up the account and the database: the application itself, end to end.Fiori annotations
Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio CodepublishedAn Overview Page — the card-based Fiori elements floorplan, less written about than the list report — driven entirely from annotations on a CAP service, in VS Code rather than Business Application Studio.Fiori annotations
Build, Configure, and Deploy SAP CAP Projects to the CloudpublishedA full CAP application with a Fiori UI taken from creation to the cloud in one post. Long, and it covers the configuration between the two that shorter guides skip.Deployment
Building a CAP App with Fiori Integration – Part 1: Environment & HANA Cloud SetuppublishedA trial account taken from nothing to a CAPM project with a HANA Cloud instance behind it. Everything here is prerequisites, which the author says outright — the application is in the parts that follow.Database connectors
Building a CAP service with cds‑mcp and Cline — HANDS‑ON SUPER BASIC GUIDE [ with screenshots ] 🍌publishedSomebody following the CAP MCP server announcement all the way through, and writing down what it cost: a CAP service in VS Code wired to S/4HANA through a destination, plus the real bumps — Windows PATH and global installs — that the announcement does not have.Agent access to your code
Building a SaaS Multitenant Application Using SAP CAP Framework — Without a DatabasepublishedMultitenancy with the database taken out, which is a useful way to see what is left: the approuter and its tenant host pattern, the XSUAA instance in shared tenant mode, and the SaaS Registry binding that makes a subscription happen. Everything here is subscription lifecycle and routing, so the parts that are usually entangled with HDI container provisioning are visible on their own.Multitenancy
Building an Analytical List Page with CAP OData V4publishedThe annotations a CAP OData V4 service needs before an Analytical List Page will render — the write-up behind the cap-alpcap-alpAn Analytical List Page over a CAP OData V4 service, showing the aggregation annotations a CDS model needs before an analytical floorplan will render, kept in their own file beside the service.independent, cap sample indexed here. Candid about its provenance: the author credits a GitHub repository she found the approach in, and notes that the repository is no longer available, which is the whole argument for indexing the reasoning rather than only linking the code.Analytical queries
Building an Attachment Upload and Download Solution Using UploadSetwithTable ControlpublishedThe successor control to UploadSet posts the file in one request by default, and against CAP that is wrong: the record has to be created first and the content put to it afterwards. The author states the two-step shape plainly and notes it may not apply to an ABAP backend, which is the kind of boundary that usually goes unsaid. Written during a proof of concept for a reusable attachment component, and it carries the problem they hit with the control.Attachments
Building an Enterprise Application Using Fiori Elements and CAP - Part 1publishedPart one of three, and it is all backend: the CAP service the UI will sit on. The author states the constraint the series works under — simple enough for someone new to the stack, without departing from the standard project layout.Fiori annotations
Building an Enterprise Application Using Fiori Elements and CAP – Part 2publishedThe generator run and the List Report it produces, on top of the service from part one. This is where the annotations start doing the work rather than the CDS entities.Fiori annotations
Building an Enterprise Application Using Fiori Elements and CAP – Part 3publishedThe Object Page, which the author points out is entirely annotation-driven — there is no page to design, only facets to declare. The last of the three.Fiori annotations
Building an LLM Agent in CAP Java with Spring AIpublishedThe Java counterpart to the author's own Node.js post, and written as one: connecting to AI Core with the SAP AI SDK, then calling an agent and a tool through Spring AI. Opens with a section on libraries and workflows — which framework does what, and what is left to you — before any code.Agent tooling
Building an LLM Agent using CAPpublishedThe argument is that CAP is already most of what an agent framework wants — services, handlers, a typed model — so the agent is built inside it rather than beside it. AI Core through sap-ai-sdk, then Langchain for the agent and its tools. Long, with a TLDR at the top for people who want the shape without the walk.Agent tooling
Calling bound / unbound CAP actions from Fiori elements application.published
invokeAction from the Fiori elements Edit flow API, with the difference between bound and unbound actions spelled out first because the call shape differs. Under three thousand characters and it answers exactly one question.Fiori annotationsCAP - Dynamically hide UI facets in Fiori ElementspublishedFacets hidden at runtime rather than at design time, which needs two things at once:
UI.Hidden on the annotation side and a virtual element on the CDS side to decide it. Both are linked from the post, and it is barely two pages.Fiori annotationsCAP - Specifying the queues to be consumed from SAP Event MeshpublishedWritten against the edge of the convention rather than the convention. CAP creates one queue per application and names it for you; this is the case where the queue already exists, belongs to someone else, or there is more than one of them. The oldest Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp post indexed here, and the only one about taking the naming back.Event Mesh
CAP Developers - Call to Action to mitigate and Apply Solution provided in SAP Note 3747787publishedFour malicious npm package versions published on 29 April 2026 that exfiltrate credentials and propagate into adjacent repositories, and what a CAP developer should check. A security advisory rather than a technique, and dated precisely for that reason.Configuration
CAP Heaven? Not Yet — But You Can See It from HerepublishedAn assessment from someone with Java, Azure and AWS behind them as well as ABAP and Fiori, which is a rarer vantage point than it sounds. The title is the verdict.Configuration
CAP multitenancy with Work ZonepublishedA gap in the tooling and the manual edit that closes it.
cds add portal wires the Portal service, which is deprecated; Work Zone supports multitenancy but has no equivalent command. The author runs the portal command anyway and then rewrites the resource and module config in mta.yaml to point at Work Zone. Short, and honest that it is a workaround rather than a supported path.MultitenancyCAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma RuntimepublishedThe post that superseded the author's own earlier one, written for cds and cds-dk 6 when Kyma deployment became something the tooling did rather than something you assembled. The current reference of the several Kyma posts here.Deployment
CAP PostgreSql setup local debugging using Docker - Part 2publishedPostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. in a container so the local loop matches the deployed one — the thing SQLite quietly stops you doing. Short, and it assumes the project from part one already runs.Database connectors
CAP Typescript + Fiori Typescript + live reload Initial app setuppublishedA full-stack TypeScript starting point recorded as it was arrived at — the terminal commands and the configuration files, in order, for the CAP side, the conversion to TypeScript, and then the Fiori side. The author is explicit that it takes a while to go through, which is the honest framing for a setup that has this many steps.TypeScript patterns
CAP WebSocketspublishedThe early one, from 2021, before an adapter existed to make it ordinary. Read for what the problem looked like when it had to be solved by hand.WebSocket
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations - Part1publishedActions on their own, at length — where an action can be placed, what the annotation looks like for each position, and what changes between the List Report and the Object Page. Part one of two.Fiori annotations
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations – Part2publishedThe second half of the actions pair, published the same day. Between them they cover more ground on this one annotation than the documentation does in one place.Fiori annotations
CAP with Fiori Elements: Configure Multiple Views on List Report TablespublishedSeveral tabs over one entity, each with its own filter — the multiple-views annotation, which is one of the few Fiori elements features that changes the shape of the page rather than its content.Fiori annotations
CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic ExpressionspublishedThe first of the author's Fiori elements posts, and the widest: side effects, which are the annotation that tells the UI a field changed something else; custom actions; and dynamic expressions. The three that turn a generated app into a usable one.Fiori annotations
CAP with Local App Previews – Tips for Smooth DevelopmentpublishedUI5's virtual endpoints remove the sandbox files a local preview used to need, and this is what that means for a CAP project specifically. Tips from trying it rather than an announcement of it.Local development
CAP with PostgreSQL DB alternate to HANA Cloud DB - Part 1publishedBootstrapping a CAP project on PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL., framed as a choice that depends on the client rather than on the technology. Short, and part two is where it gets debuggable.Database connectors
CAP-JAVA implementation for Authorization Management Service (AMS)publishedShort and deliberately narrow: the author defers the concepts to kevin_li's post and writes only the CAP Java part — the development flow, designing the authorization model, and assigning and checking a policy. Read the other one first; this is the half that touches the code.Authorization
cap-user-infoadded to the atlasUser details and quickview links for createdBy and modifiedByData modelling
CAP, RAP, or Both: Stop Hiding Behind 'It Depends'publishedOpens by refusing the answer every other post on this gives — "both are complementary, choose based on context" — and then commits to a framework, including the parts usually left out: the staffing bias behind the decision, and what to do about a landscape with thousands of Z-objects. Argument, not tutorial.Configuration
CAP: GraphQL as new protocolpublishedWritten days after @cap-js/graphql@cap-js/graphqlA protocol adapter that generates a GraphQL schema from the model and serves it, so the same services answer GraphQL without a second definition of them.sap official, cap appeared, by somebody who went looking for it — an introduction to GraphQL alongside what the adapter actually does to a CAP service. The first outside account of the capability, and still one of very few.GraphQL
CAP: Unit Testing using Mocha and ChaipublishedUnit tests added to an existing CAP service rather than written alongside a new one, which is the harder and more common case. Mocha and Chai wired up by hand, from a time before
cds.test was the obvious answer.Testingcapire/bookshopadded to the atlasCAP's getting-started bookshop sample
capire/bookstoreadded to the atlasComposite CAP app from separately deployed services
capire/docsadded to the atlasSources of capire, the CAP documentation
capire/incidents-appadded to the atlasIncident Management reference application for CAP
capire/s4added to the atlasPrebuilt SAP S/4HANA integration package for CAP projectsService integration
Case-insensitive filters in Fiori Elements (List report + CAP)publishedA blocker rather than a feature: filters on a List Report are case-sensitive, the business wanted them not to be, and the CAP backend is where it gets fixed. Node and Java both.Fiori annotations
cds deploy to sqlite in-memory databasepublishedTwo pages on what
cds deploy --to sqlite does and what it prints. A reference note rather than an argument, and the shortest entry in this capability.Database connectorscds-numberrange-pluginadded to the atlasFills a CDS element from a database-backed number rangeData modelling
cf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutespublishedA generator from 2020 that goes further than scaffolding — an end-to-end application created and deployed to Cloud Foundry in one run. Predates most of what
cds add now does.GeneratorsComplete Guide: Setting Up CAP Plugin for Advanced Event Mesh with OAuth AuthenticationpublishedWritten because the plugin's own documentation stops short of the prerequisites and the author had to assemble them from three other sources and a help chapter. It joins them: the OIDC application in Identity Authentication, the OAuth profile in Broker Manager, the token checked before anything is wired, and only then the plugin. The author says plainly it came out of trial and error and was going to be a README.Event Mesh
Computed field example in CAPpublishedAn answer to a Community question — how to count the entities on the far side of an association — written up as a short post rather than left in a thread. The answer combines CDS with Node.js service events, which is the seam worth noticing: some of what looks like modelling is expressed in the model and some has to be computed when the request arrives, and the boundary between them is not obvious from either side.Data modelling
Configure an SAP CAP Application to Connect to an SAP HANA Cloud Database in Another Global Account or SubaccountpublishedThe case the tooling does not cover: the database is in a different global account, so there is no HDI container to bind and
cds deploy cannot do its usual job. Written for exactly that, and it says so in the subtitle — without HDI.Database connectorsConnect to Public Cloud API in Node.js via Authorisation CodepublishedThe authorisation code flow rather than client credentials, which is the harder half: a service key, an XSUAA instance bound to the CAP app, and a destination, with the author saying plainly that this was challenging and they hope it saves somebody the same time.Destinations
Connecting On Premise Mail Destination and Sending Email Using SAP Cloud SDK JavaScript Version 3 on SAP CAPpublishedMail from CAP through a company's own SMTP server rather than a hosted one, which is the case the existing answers did not cover — the author names them and says why each failed here: one needed an SMTP provider like Mailtrap, another solved it in Java. What is left is the connectivity: an on-premise mail destination reached from Node, and a hybrid profile to test it against.Notifications
Consume ABAP RFC Function Modules in CAPpublishedCalling an existing RFC function module from CAP instead of asking somebody to build an OData service for it — which is the actual decision, since the alternative is custom development on the ABAP side for a function that already works.RFC connectivity
Consume Remote Services in a Full-Stack CAP ApplicationpublishedExtending the Developer's Guide application with a remote S/4HANA service — connectivity, importing the Business Partner API, and running against it. SAP publishes this as four separate paths: mock server or real S/4HANA Cloud, times Cloud Foundry or Kyma. One entry covers all four, because the difference between them is which backend and which runtime, not what you learn.Destinations
Consume SOAP Web Services in SAP Cloud Application Programming ModelpublishedCalling a SOAP service from CAP — the case the remote-service story does not cover, since CAP's own import path speaks OData and OpenAPI.Destinations
Consuming data from SAP Datasphere in SAP BTP CAP ApplicationspublishedDatasphere as the source a CAP application reads from — the case for it being that Datasphere already unified the SAP and non-SAP data, so the application does not have to. From a real project.Destinations
Consuming SAP Build API's made easy with SAP Cloud SDK in your CAP applicationpublishedReaching into SBPA from CAP the other way round — reading its tasks and workflows rather than starting them. The author starts from the plain Axios version and says what it costs: the connection and the authentication are the work, not the call. Cloud SDK is used to generate a typed client from the OpenAPI document and then to resolve the connection through either a service binding or a destination, shown for client credentials and for user token exchange.Workflow integration
Create a Business Service using CDS, Node.js, SQLite and a OData servicepublishedThe stack at its smallest — CDS, Node, SQLite, an OData service — worked through at length. Nothing cloud in it, which is the point: it is the shape of a CAP service before any of the platform arrives.Database connectors
Create a CAP Application with SAP HANA Cloud from Scratch and Deploy to Cloud FoundrypublishedThe whole lifecycle in one post rather than a series — model, service, HANA binding, build, deploy. Useful as a single reference for the order things have to happen in, which is the part that is easy to get wrong when it is spread over six posts.Database connectors
Create a Simple CAP Application and Explore the DefaultspublishedThe shortest way in: a project from the wizard, then a look at what CAP assumed on your behalf. The defaults are the subject rather than the application — which is the right first lesson in a framework whose whole argument is convention over configuration.Local development
Create an SAP Fiori Elements UI for CAP Node.js applications in SAP Business Application StudiopublishedWritten the week Fiori elements gained OData V4 support, which is what made a generated List Report over a CAP Node.js service possible at all. Short, and dated in the useful sense — it marks when the generator stopped being a V2-only path.Fiori annotations
Create Automated System Tests for SAP Cloud Application Programming Model ProjectspublishedEnd-to-end tests driving the UI with wdi5, run in the pipeline — the layer above cds.test, which stops at the service boundary.Testing
Create CDS Views and expose through OData service in CAPMpublishedViews defined in CDS and then exposed, which is the whole of what a small CAP service is. Written step by step from
cds init onward in Business Application Studio.Data modellingCreate Fiori List Report with object page using CAPM(node.js) ServicepublishedThe short version of the generated-app walkthrough — an existing CAPM Node.js service, and the List Report with Object Page on top of it. Under three thousand characters.Fiori annotations
Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application StudiopublishedHybrid testing is documented for HANA; this is the same profile against a PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. instance on BTP, driven from a BAS dev space rather than a laptop. Proposed under editor support because of where it runs, but the subject is the binding: what
cds bind writes, and what has to be true of the service instance and the tunnel for a local process to reach it.Local developmentCreating a meal generator application with SAP Build, Cloud Application Programming and openAIpublishedIngredients in, meal suggestions out, assembled from BTP services plus OpenAI and Google APIs. A small application built for the pleasure of it, and useful here as the plainest example of CAP holding the middle of a generative flow.LLM integration
Creating new services using the CDS Graphical Modeler for SAP Business Application StudiopublishedThe worked half of the introduction, published the same day: a service defined by drawing rather than by typing, projections included. Assumes the setup from the introduction and does not repeat it, so the two are one piece split in two.Editor support
Creating structured types, enums and named aspects using the CDS Graphical ModelerpublishedThe modelling constructs that are awkward to draw — structured types, enums, named aspects — done in the graphical modeller rather than in CDL.Editor support
Custom Functions in OData V4 – SAP Cloud Application Programming ModelpublishedFunctions rather than actions, and the distinction is where it starts: a function must return data and must never change any, so it is the read-only half of custom operations. Then how to declare and implement one on a CAP service.OData
Custom Handlers for Entities in SAP CAPpublishedWritten from the moment of not knowing: a two-level composition with drafts, the Fiori elements UI working perfectly, and no idea which handlers are actually needed. What comes out is the action lifecycle laid out as a reference — NEW, EDIT, PATCH and the rest — with a matrix saying which handler fires for which, which is the thing the documentation leaves you to assemble.Draft handling
Declarative Programming in CAP: Less Code, More ValuepublishedAn argument for annotations over handlers, made from the case where it is most obvious: repetitive validation logic that could be declared instead of written. Describes what you want rather than how to get it, and lets the runtime decide the how.Configuration
Deep Insert in SAP CAPM Using Composition and Fiori ElementspublishedParent and children created in one transaction, which composition already gives you in the model — the post is about what Fiori elements does with it, and what the payload looks like when the UI sends both at once.Fiori annotations
Deploy a Full-Stack CAP Application in SAP BTPpublishedFive tutorials taking the Developer's Guide application from running locally to running on BTP — preparation, the deployment itself, role assignment, and integration with Build Work Zone. Published twice, once for Cloud Foundry and once for Kyma, with the same shape and different descriptors; indexed once, because the second is the first with the runtime swapped.Deployment
Deploying a CAP Application to SAP Cloud Platform, Kyma runtime & connecting an iOS apppublishedKyma when it was new on the platform, taken from a CAP application through deployment to a native iOS client on the other end. Written by someone working the mobile side, so the parts about what a device needs from the service are more careful than usual.Deployment
Deploying CAP services with the in-memory SQLite databasepublishedIn-memory, deployed to Cloud Foundry — so the data is gone on restart, on purpose. For a service whose datastore does not need to survive anything, which is a narrower case than it sounds and a real one.Database connectors
Deploying first CAP Project in SAP Cloud : A Step-by-Step GuidepublishedThe terminal route rather than the template wizard, from
cds init to a deployed application, with each command written out. For the case where the generated project is the thing you are trying to understand.DeploymentDevelop a Full-Stack CAP Application Following SAP BTP Developer's GuidepublishedThe eight-part path SAP's own Developer's Guide prescribes: a CAP service, Fiori Elements over it, custom logic, authorization, tests, and the preparation deployment needs. It is the closest thing to an official answer to 'what does a whole CAP application look like', which is why it sits under reference applications rather than under any one of the capabilities it touches.Reference apps
Developing a Fiori elements app with CAP and Fiori ToolspublishedA learning write-up from someone new to CAP at the time, and long enough to be thorough. Carries its own update pointing at a newer post on deploying a CAP-based Fiori app to a central launchpad without an approuter.Fiori annotations
Developing CAP applications in SAP Business Application StudiopublishedThe overview written at the point BAS replaced Web IDE, and it is structured as a comparison — each step of building a CAP application, with the difference from the Web IDE experience called out beside it. Useful now mostly for what it records: which parts of CAP development the editor took over, and when.Editor support
Developing CAP java/node.js mixed mono Multitenant SaaS Applications with Shared DatabasepublishedTwo CAP projects, one Java and one Node.js, in one npm workspace sharing a single tenant database. The interesting part is which sidecar wins: both sub-projects get an MTX sidecar, both have
cds.xt.SaasProvisioningService switched off, and a third onboarding project keeps provisioning to itself. Configuration listings rather than prose, and it assumes you already know why you would want this.MultitenancyDeveloping Fiori Element Application (List Report and Object Page) consuming the OData service created using SAP Cloud Application Programming modelpublishedOne of the earliest entries here, from mid-2020: the List Report and Object Page pair generated over a CAP OData service, when that combination was still new enough to need explaining.Fiori annotations
Developing SAP Fiori Element application by using SAP Cloud Application Programming ModelpublishedThe long version, and it starts by naming the floorplans — List Report, Worklist, Object Page, Overview Page, Analytical List Page — which is the decision most walkthroughs skip. Then one of them, built out against a CAP service.Fiori annotations
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message ReportingpublishedAnalytical annotations learned by building something the author wanted — a view over SAP support messages — after a conversation in February 2021 that the post dates precisely. Exploration written up as exploration.Fiori annotations
Display of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming ModelpublishedHierarchies before the framework supported them, and the post now opens with its own update saying that Fiori elements V4 and OData V4 support tree views natively and linking the guide. Read the update first; the rest is the record of what people did in the meantime.Fiori annotations
Distributed Resiliency of SAP CAP applications using SAP HANA Cloud (Multi-Zone Replication)publishedResilience defined the way an operator would — failures happen in a complex landscape and should go unnoticed by the user — and then what multi-zone replication on HANA Cloud means for the CAP application in front of it.Database connectors
Dynamic Criticality in SAP CAP Using Fiori Elements and Node.jspublishedColouring rows by status, which sounds like a UI question and is not: criticality is a value the service has to compute and expose, so the work is a virtual element in CDS and the annotation that points at it. Comes from a real requirement — business users wanting to spot the records that need attention.Fiori annotations
E2E: SAP Cloud Platform Internet of Things to SAP Analytics CloudpublishedDevice data from ingestion to chart, with CAP occupying the middle: a CDS-defined persistence on HANA Cloud, and an OData service published from it for Analytics Cloud to consume live. The interesting choice is that CAP is used for the model rather than for business logic — there is barely any.Analytical queries
Effective Axios Error Logging for Robust SAP IntegrationspublishedTwo logged failures printed side by side, and the point is made by looking at them: one tells you what went wrong and one does not. Axios buries the useful part of an HTTP error, and this is what to unwrap before logging it from a CAP service.Error handling
Elevating Data Privacy in SAP CAP based GenAI Applications with CAP LLM PluginpublishedThe question underneath the enthusiasm: what leaves your landscape when a prompt goes to a model. The plugin's answer is to anonymise the sensitive fields through HANA before the prompt is sent, and this is the post that explains why that is the design rather than an option.LLM integration
Empowering Your Data Analytics with GPT-3 and SAP CAP IntegrationpublishedFree text in, SQL out, answer back in a sentence — the model writes the query, CAP runs it, and the model turns the rows into prose. Written in the GPT-3 window, so the model access has dated, but the three-step shape has not, and it is a different bet from retrieval: nothing is embedded, the schema is the context.LLM integration
Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAPpublishedAuthorization policies defined in Identity Authentication and consumed by a CAP application through AMS — the configuration half of the move away from XSUAA scopes, from the identity service's side rather than the application's.Authorization
Enhancing Enterprise Applications: AI-powered User Experience with SAP CAP AI PluginpublishedStarts from the blank form nobody wants to fill in, and asks what an enterprise application should do about it. The AI is in service of that rather than the subject of it.LLM integration
Enhancing Unit Testing in SAP CAP Java Applications with GitHub CopilotpublishedBuilt on SAP's own CAP Java unit-testing guide, and the question is narrow: how much of that does an assistant actually write for you. The author's own getting-started post is the one to read first.Testing
Establishing connectivity between a local CAP runtime and on-premise systemspublishedReaching S/4HANA, an on-premise HANA or any HTTP service from a CAP process running on your laptop — the case where the connectivity proxy the platform provides is not there and the tunnel has to be arranged.Destinations
Event Driven Architecture with Event Mesh - Part-1publishedContinues the author's own CDS entity-relationship example rather than starting a fresh one, which is the point of it — the same model gains events. Concepts first, then a message client and queue on BTP, then a Postman check that the queue works before any CAP code is written, and finally the emit from a CAP REST service.Event Mesh
Event Driven Architecture with Event Mesh – Part-2publishedPart 1 published a message and stopped there; this closes the loop by giving it somewhere to go. A REST API built in Integration Suite is registered as a webhook on the Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp queue, and the chain is run end to end — CAP to Event Mesh to Integration Suite to Twilio — so the consumer side and the webhook configuration are what this adds.Event Mesh
Event Driven SAP CAP on Kyma with Agentic AI and UI Auto RefreshpublishedA prototype, described as one: a plain CAP application made to react to external events on Kyma, with an agent in the loop and the UI refreshing itself rather than being reloaded. Short — it reports what was built and why, not how to rebuild it.Agent tooling
Event-Driven Multi-Tenant Architecture on SAP BTP with CAP and SAP Event MeshpublishedThe two topics that are usually written about separately, taken together — because a shared broker is where tenant isolation stops being automatic. It starts from why microservices are decoupled at all, places Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp among the four broker services BTP offers, and then works through what changes when the publisher and the consumer are multitenant.Event Mesh
Examine the details of the Model Context Protocol on startuppublishedWhat the MCP adapter actually does when a CAP server boots, watched rather than described — the companion to the tutorial that switches it on.Serve your application over MCP
Execute [OAuth2 client credentials] protected REST request with SAP CAP ApplicationpublishedA recipe, and the author calls it that — package.json, a .cds and a handler — for calling a remote service protected by OAuth2 client credentials from a CAP application. Short, complete, and addressed to CAP developers rather than to BTP administrators.Authentication
Extend SAP Cloud Application Programming Model(CAP) Validations with the CAPVAL PluginpublishedThe complaint first: the built-in annotations are good for data integrity and poor at telling the user what went wrong, and there is no way to reuse a rule. capvalcapvalReplaces the message a failed input validation annotation returns, and adds @validation.handler, which names a class that runs a check of the developer's own.independent, cap, the plugin the post announces, adds
@validation.message alongside the standard annotations rather than replacing them, and @validation.handler for a check written as a class. Published in January 2024, before the 1.2.0 line the README now pairs with @sap/cds 8.0.0 and above; the two annotations it shows are the two the README still documents.Input validationExtend SAP SuccessFactors on SAP BTP with CAP - Deploy to SAP HANA CloudpublishedThe deployment instalment of the author's SuccessFactors extension series — the project already exists and the imported service is already modelled, so this is only the move onto HANA Cloud. Depends on the two posts before it and says so.Database connectors
Extend SAP SuccessFactors on SAP BTP with CAP - Develop the SAP Fiori Elements ApplicationpublishedThe UI instalment of the SuccessFactors extension series — the imported service is already modelled and this is the application over it. Names the three posts it depends on.Fiori annotations
Extend SAP SuccessFactors on SAP BTP with the SAP Cloud Application Programming ModelpublishedTwelve tutorials, about two hours, building a side-by-side extension of SuccessFactors on BTP. The spine is remote services: importing the SuccessFactors OData service definitions into a CAP model, then treating them as entities the extension reads and writes through, rather than as an API called from a handler. Indexed as one entry because the parts only make sense in order.Destinations
Extend Upload Set to Fiori Elements and utilize Document Management ServicepublishedWritten two months before there was an official plugin, and the author has left the record of that in the page: an update dated 2024-04-04 noting the CAP team released @cap-js/attachments@cap-js/attachmentsAn official CAP Node.js plugin for attachment handling, with local database storage and AWS S3, Azure Blob or GCP Object Store integration.sap official, cap, and another dated 2024-05-21 saying they tested it and wrote up the Object Store variant separately. The hand-built version underneath is still the answer when the plugin's storage choices do not fit.Attachments
Extend Upload Set with Table to Fiori Elements and utilize Object StorepublishedThe Object Store variant of the author's earlier Document Management post, written after testing @cap-js/attachments@cap-js/attachmentsAn official CAP Node.js plugin for attachment handling, with local database storage and AWS S3, Azure Blob or GCP Object Store integration.sap official, cap — a sample managing text and file information together, and offered as something for people new to BTP rather than as a pattern.Fiori annotations
Extending SAP Sales and Service Cloud V2 Using CAPpublishedAn extension target that does not run on BTP at all — Sales and Service Cloud V2 sits directly on hyperscalers — so the separation between core and extension is enforced rather than encouraged. That constraint is what makes the post worth reading.Destinations
Extensions for SAP Build Process Automation - Actions from CAP Node.js ServicepublishedThe direction of travel reversed: the CAP service is the thing being called, exposed as an Action so that a no-code process can consume it. Short by design — it is an introduction to a developer tutorial, and it says outright that the goal is to cover every step rather than to model a real use case.Workflow integration
Fiori Elements Analytical Table with CAP: Does it work with V2 and V4?publishedA question in the title and an answer in the post, with the boundary drawn carefully: this is an analytical table inside a List Report, not the Analytical List Page, and the two protocol versions do not behave the same.Fiori annotations
From Concept to action: Hands-On with the CAP Operator and the Partner Reference ApplicationpublishedThe CAP Operator applied to a real application rather than a sample of its own — SAP's Partner Reference Application, taken from plugin integration through containerisation to custom resources. The transition to CRDs is the part that repays attention: it is where the deployment stops being an mta and becomes Kubernetes.Reference apps
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- DeploymentpublishedThe doing half: the steps and the code that got the application from the first post deployed and working. Shorter, and it assumes the argument has already been made.Fiori annotations
From R/3 ABAP to CAP/Fiori Elements on SAP CloudpublishedWritten by an ABAP developer of fourteen years explaining what changed and what did not — the argument being that CAP kept the focus on business logic that ABAP had, where learning UI5 and a framework or two had not. The reasoning half of a pair.Fiori annotations
From REST to Datasphere: A CAP-based Integration ApproachpublishedThe reverse direction and a second attempt: the authors had already written data into Datasphere with a small FastAPI service on the OPEN SQL schema, and this is what changed when they rebuilt it on CAP.Destinations
Full Stack TypeScript App for Cloud Foundry - Sample RepositorypublishedA whole repository rather than a snippet: a CAP Node.js service and a freestyle SAPUI5 application, both in TypeScript, arranged for Cloud Foundry. The build process gets its own section, which is where a TypeScript full-stack project usually goes wrong.TypeScript patterns
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]publishedThe first of six, and it does the thing the later parts depend on: build the Incident Management application against SQLite on a laptop, with no cloud database in sight. The series is called decoupled because the front end and the back end are deployed separately, and this part is entirely the back end.Database connectors
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-2]publishedPart 1 left a working OData service whose Fiori preview showed nothing useful. This is the annotations that fix that — the UI vocabulary added to the CDS model until the generated list report has columns worth reading.Fiori annotations
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-3]publishedThe cloud database appears: a HANA Cloud instance created on BTP and mapped to a Cloud Foundry space. No application code — this is the part where the platform has to be right before the next part can connect to it.Database connectors
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]publishedThe switch from SQLite to HANA and the first deploy of the back end to Cloud Foundry — the point in the series where the persistence stops being a file and the build starts producing HDI artifacts.Database connectors
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-5]publishedThe consequence of decoupling: with the back end live on its own Cloud Foundry route, the front end needs a BTP destination to reach it rather than a relative path. Short, and it is the join the architecture creates.Destinations
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-6]publishedThe last part: the Fiori application built and deployed into the HTML5 Application Repository, separately from the service it talks to. Opens with a checklist of the five parts before it, which is the clearest statement of what the whole series covers.Deployment
Generating PDF on BTP CF using CAP and PuppeteerpublishedA headless browser rendering the PDF, which is the answer people reach for when the document is really a web page. The Cloud Foundry part is the difficulty: Puppeteer needs a browser in the buildpack, and that is what the post is actually about.Document output
Get an introduction to the cds REPLpublished
cds repl as a way to ask the running model questions directly, which is the fastest route from a suspicion about a query to knowing.Local developmentGet familiar with your first CAPM project using CDS graphic modelerpublishedThe modeller as an entry point rather than an aid — a first CAPM project built by drawing it, for the developer who has not yet internalised CDL, annotations and metadata.Editor support
Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and DeliverypublishedWiring a CAP project into SAP's hosted CI/CD service, which is the pipeline you get without assembling one.CI/CD pipelines
Getting Started with Unit Testing in SAP CAP Java ApplicationspublishedThe plain introduction: what the CAP Java framework gives you to test against, and how to start. Prerequisite to the same author's Copilot post.Testing
Getting your head into Cloud Application Programming model multitenancypublishedOpens by telling you it is out of date and pointing at the HANA Academy series instead, which is more honest than most posts manage. What survives the staleness is the discussion and context around multitenancy that the title promises — the reasoning, not the commands.Multitenancy
HANA Cloud’s VECTOR EMBEDDING in CAP and Comparison with OpenAI EmbeddingpublishedTwo ways to produce the same embedding, run side by side: HANA Cloud's own VECTOR_EMBEDDING function against Azure OpenAI through the CAP LLM plugin. The CDS side is short — an element of type
cds.Vector maps to REAL_VECTOR on deploy — so what remains is the comparison, which is the thing you cannot get from either product's documentation alone.Retrieval-augmented generationHANA Database Migration: Handling Incompatible Changes to Existing TablespublishedThe question schema evolution exists for, asked plainly: how do you restructure a table in a production system that already holds live data. Incompatible changes are the ones CAP's own alter path will not make, which is where this starts.Schema evolution
Handling Concurrent Updates in SAP CAP JavapublishedAlice and Bob open the same employee record; Bob saves last and quietly erases Alice's change. The lost-update problem stated concretely and then answered in CAP Java, which is the only entry here on the subject — hence the capability.Concurrency control
Handling CSV Data Deployment in CAP HDI Without Data LosspublishedThe same trap from the HDI side: .hdbtabledata hands the container full ownership of the data, so the next deployment overwrites the table from the file. Two independent posts three months apart on the same sharp edge, which is a fair signal about how sharp it is.Seed data
Hello React & Vue : SAP CAP’s New UI Layer is Here!publishedCAP gaining a UI layer for React and Vue, which changes the default assumption that the front end is UI5. Short, and the significance is larger than the length.Configuration
How I migrated my on-prem xsa cds3+hana solution to cds6+sqlitepublishedThree major CDS versions and a database swap in one move, done to get an old on-premise XSA application running somewhere cheap. The repository is linked, and the interest is in what broke between cds3 and cds6 rather than in the destination.Database connectors
How to Access On-premise OData from the Business Application Studio - CAPM DevelopmentpublishedA destination-naming constraint found the hard way and then corrected in public: the post carries its own update saying that with a CAPM app, a standard destination works through the studio's proxy as long as the name matches [a-z0-9-]. The update credits a comment on the post, so the correction and its source are both in the record.Destinations
How to add OData v2 adapter proxy to your CAP projectpublishedThe problem is stated in one line — a UI5 application that only speaks OData v2 in front of a CAP service that speaks v4 — and the answer is a proxy in the middle rather than a rewrite of either end. Written while v4 support in the UI5 stack was still patchy, which is the whole reason the adapter exists.OData
How to Call a Remote OData API from Your Local CAP Java ProjectpublishedThe Business Accelerator Hub sandbox called from a CAP Java project on a laptop, with a concrete finish line — a localhost URL that returns business partners. Everything needed to get there is listed, Maven and JDK versions included.Destinations
How to create an API to run a HANA Cloud Stored Procedure in Cloud FoundrypublishedReaching past CDS to the database's own machinery — built-in algorithms, SQLScript procedures and functions — and putting an API in front of them. Long, and it is the case where the model is not where the logic belongs.Database connectors
How to fix npm error notarget @sap/hdi-deploy when you create a CAP app in BASpublishedA specific npm failure when creating a CAP app from a template, and the post now opens with its own July 2025 update saying the version has been published so this instance is gone. It stays useful because the cause — a dependency pointing at a version nobody published yet — recurs, and the unblocking steps are general.Local development
How to Generate and Download PDFs on the fly without persisting in CAP ApplicationpublishedStreaming a generated document straight to the client without writing it anywhere first — which sidesteps the retention question a stored file creates, and is the distinction worth having beside the attachments capability.Document output
How to get authenticated user information with CAP in three different ways – Using the XSUAA APIpublishedThe third of three approaches the author sets out, and the one that returns the most: going to the XSUAA API directly rather than reading what CAP already put on the request. Depends on an earlier post for the project setup, so it starts mid-stream on purpose.Authorization
How To Implement Alert Notification Service in Cloud Application ProgrammingpublishedA click-by-click setup of BTP's Alert Notification service against a CAP application. Operational alerting rather than business notification — the audience is whoever is on call, not the user — which is the distinction the Work Zone plugin here does not cover.Notifications
How to implement SAP BTP Audit log service in a CAP ApplicationpublishedThe setup half: binding the BTP Audit Log service to a CAP application and getting the annotated path working, which is the step before anything custom becomes a question.Audit logging
How to Reduce Prompt Token Costs Using Toon = Save MoneypublishedToken spend treated as a running cost rather than a detail, and TOON as the lever. Companion reading to the CAP adapter for the same format that is indexed here.LLM integration
How to Restrict CRUD Operations in SAP CAPM Using @Capabilities, @readonly and Test APIs with .httppublishedEntities are exposed with full CRUD by default, and this is how to take operations away again — @Capabilities for Insert, Update and Delete individually, @readonly for the blunt version. Tested with .http files rather than a UI, which keeps the check on the service.Authorization
How to transfer file from CAP backsidepublishedA PDF arriving from the front end, stored against the record with @Core.MediaType, and then sent on to an external service for parsing. Short, and the second half is the part that is not in the plugin documentation: getting the bytes back out of the model to forward them somewhere else.Attachments
How to use a CAP application to manage DMQ messages on SAP Advanced Event MeshpublishedA CAP application built for the failure path rather than the happy one. Messages that land in a Dead Message Queue are deleted for good when their TTL expires, so this pulls them out first and holds them in quarantine, where a Fiori elements UI lets someone inspect a payload, correct it and reinject it. An operations tool, and a rare write-up of what to do after delivery has already failed.Event Mesh
How to use Cloud SDK for AI in an existing CAP NodeJS Project in CommonJSpublishedA dependency that is ESM-only inside a project that is CommonJS, and the author's judgement that converting the project was too risky. What follows is the esbuild workaround, which is the honest answer when the ecosystem has moved and your codebase has not.LLM integration
HTML5.Timeout for CAP destinations in mta.yaml longer than defaultpublishedA page and a half about one property that has to be raised when a CAP destination is slower than the default allows — and it now opens with its own correction, dated October 2025, that the property is called
timeout rather than HTML5.Timeout, credited to a commenter. The correction is why it is worth keeping.DeploymentImplementation of Observability using OpenTelemetry in SAP BTPpublishedTracing across a landscape rather than inside one service — BTP applications, integrations, workflows and automations that also call non-SAP microservices the customer runs. That span is where correlation stops being a nice-to-have, and it is the half @cap-js/telemetry@cap-js/telemetryAutomatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint.sap official, cap's automatic instrumentation does not reach on its own.Telemetry
Implementing Custom Audit Logging in SAP CAP ApplicationspublishedWhere the annotations stop. CAP logs personal-data operations automatically once a model is annotated; this is about the events that are not that — an unauthorised access attempt, a business action somebody wants a trail for — and what writing those yourself involves.Audit logging
Implementing Event-Driven Architecture in CAP Java using SAP Event MeshpublishedPublish and consume from the Java stack, which most of the Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp writing on the community does not cover. The MTA declaration and the credentials come first, then the emit and the handler, then the two sections that make it worth keeping: error handling with retries, and securing the events with OAuth.Event Mesh
Importing @sap/cds common.cds to your CAP project using the CDS Graphical ModelerpublishedPulling the common aspects and code lists from @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap into a model through the modeller, so the reuse types appear in the diagram rather than only in the file.Editor support
Importing external edmx files to your CAP project using the CDS Graphical ModelerpublishedAn EDMX downloaded from the API hub — API_BUSINESS_PARTNER in the example — imported into the CDS model and its entities exposed as projections, done through the graphical modeller rather than
cds import. Barely a page long.Metadata publishingInsights of Cloud SDK, CAP, XSUAA, SSH and other BTP topics from 2021publishedA year in review, and one section in it is the reason it is here: "CAP isn't the solution for everything" — the author's point being that a pure UI5 or Fiori application does not need a CAP service wrapped around it, and that an approuter or the HTML5 Application Repository may be the better answer. The XSUAA section is a complaint about complexity rather than a guide, which is also worth having on the record.Authorization
Integrate CAP application as outbound channel for SAP Document AIpublishedDocument AI will call you back when extraction finishes, and the callback is where this goes wrong: the CAP application has to accept an unauthenticated POST from outside without dropping CSRF protection for everything else. The answer is a middleware hooked into the CAP bootstrap, and the post spends its length on the token lifecycle rather than on the extraction.Document extraction
Integrating a Custom AI Model into SAP CAP Using AI LaunchpadpublishedYour own model rather than a hosted one: deployed to AI Core, made callable through AI Launchpad, then reached from CAP. The case a lot of companies ask about and few posts cover.LLM integration
Integrating SAP Document Information Extraction (Document AI) with SAP CAP – Step by SteppublishedThe forward direction, in full: a PDF or scan arriving at a CAP service, sent to Document Information Extraction, and the fields coming back into the model. Long, and step-by-step in the literal sense — the service binding and the request shapes are all written out.Document extraction
Integrating SAP S/4HANA Invoicing with KSeF Using SAP Event Mesh and CAPpublishedA concrete regulatory deadline rather than a demo topic: every Polish invoice has to pass through KSeF, the national e-invoice platform, and this proposes the route — S/4HANA business events onto Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp, a CAP application consuming them and talking to KSeF. Short, and offered as an example to argue with.Event Mesh
Integration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming ModelpublishedIntegration rather than unit tests, and from 2020 — the earliest testing entry here, and a reminder of what had to be assembled by hand before the framework had an answer.Testing
Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming ModelpublishedThe other direction: consuming an API described by an OpenAPI document from CAP, rather than publishing one. Worth pairing with the plugin entries here, which all serve the outbound half.OpenAPI
Kyma Evolution: Transforming SAP Kyma into a tailor-made SaaS Platform for sbs extensionspublishedWritten by an extensibility expert building against Cloud ERP under clean core, and it treats Kyma as something to shape rather than to adopt — what has to be added to the runtime before it is a SaaS platform for CAP extensions. The Partner Reference Application post is the hands-on sequel.Deployment
Learn how to define constraints declaratively in your CDS modelpublishedConstraints expressed in the model rather than checked in a handler — the distinction the atlas draws between input validation the framework enforces and validation somebody writes.Input validation
Lets Deep dive into CAPM and HANA Cloud --> HANACappublishedShort, and framed as what the author does day to day on BTP rather than as a tutorial: where CAPM meets HANA Cloud and which pieces have to agree.Database connectors
Lets Talk to the Database - CAP & SQLite Powered by Google Gemini-2.5-PropublishedNatural language against a CAP service on SQLite, with a non-SAP model doing the translation. Written as a learning exercise rather than a pattern, and the choice of Gemini over anything in the AI hub is the interesting part of it.LLM integration
Major updates to the Attachments plugin – multi-cloud support, malware scanning and morepublishedMulti-cloud storage and malware scanning added to the official plugin, framed through CAP's Calesi pattern — the argument being that a service interface is what lets the storage underneath change without the application noticing. The post that a triage bug hid: "attachment" had stopped matching "Attachments".Attachments
Making CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application StudiopublishedThe Storyboard from the other side — someone who came across it while learning the high-productivity tools, rather than someone who shipped it. It follows the whole arc a CAP project takes through the tool: entities, relationships, services, sample data, a UI, roles, and external resources, each as a thing the diagram can add rather than a file you open.Editor support
Media Handling in SAP CAPM – Backend and Frontend ImplementationpublishedFiles against a record with the front end included, which most of the attachments writing here leaves out — the entity that stores the content, the custom logic around it, and then the UI5 side that uploads and retrieves. End to end rather than one half.Attachments
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationspublishedGetting a message out of a CAP service and onto a Fiori elements object page in a draft scenario — errors, warnings and information, each of which the UI treats differently. Co-written with one of the people on the OData side, and it spends its length on the message container rather than on the handler that fills it.OData
Migrating Your CAP Applications from SAP Web IDE to SAP Business Application StudiopublishedA migration checklist, and a reminder of how much of a CAP project used to be editor-specific: Web IDE configuration files to delete, a build to move to the Cloud MTA Build Tool, a CAP Java version to raise. Historical — Web IDE is gone — but it is the clearest list of what the tooling boundary used to include.Editor support
Multitenant application using Cloud Application Programming Model (CAP)publishedA worked multitenant application on the Java SDK with the mtx sidecar beside it — the arrangement where provisioning lives in a separate Node process even when the application is Java. Includes the UI module, so the subscription is visible end to end.Multitenancy
Multitenant Business Applications with CAP | Hands-on Video TutorialspublishedA hands-on video series from the SAP HANA Academy on building multitenant applications with CAP, with the written post as its index. Referenced by other posts here as the more current alternative to their own text.Multitenancy
Multitenant SaaS applications on SAP BTP using CAP - The Reloaded Version!publishedAn announcement rather than a tutorial, and it is the one that changes how the rest of the series should be read: the Cloud Foundry and Kyma code lines and their documentation were merged into a single sample, so the runtime becomes a choice inside one repository instead of a fork in the reading path.Multitenancy
Multitenant SaaS applications on SAP BTP using CAP? SAP BTP, Kyma Runtime!publishedThe Kyma counterpart to the Cloud Foundry Tried-and-True series — the same SaaS application, the same requirements, a Kubernetes runtime underneath. The two code lines were later merged, which the Reloaded post announces.Multitenancy
Multitenant SaaS applications on SAP BTP using CAP? Tried-and-True!publishedThe opening post of the Cloud Foundry series, and the one that states the shape of the whole thing: a sample built out of a partner co-innovation project with BCG, then delivered in three graded versions — Basic, Advanced, Expert Features — against a fictional partner's requirements. Read it for the motivation and the map; the implementation is in the three that follow.Multitenancy
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Advanced VersionpublishedWhat the basic version leaves out and production needs: central user management, and reaching an on-premise S/4HANA from a subscribed tenant. Framed as a step towards production readiness rather than as production itself, which is the honest reading — the Expert Features post is where the rest of that distance is covered.Multitenancy
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Basic VersionpublishedThe version deliberately bounded by what a trial or pay-as-you-go account can hold — the authors point out a PAYG owner can run it for nothing on free-tier services. Scenario first, then the architecture diagram, then a component-by-component walk through what each service in it is for.Multitenancy
Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Expert FeaturespublishedThe last of the four, and the one carrying the features that are optional until they are not. Each is written up as a self-contained tutorial in the sample repository rather than inline, so the post is a guide to which of them applies to your landscape.Multitenancy
My Learnings in SAP-CAP Using MongoDBpublishedCAP against a document database, which the supported list does not include — and the way it gets there is the point. The CDS model and the service definitions stay; the persistence is replaced by handlers calling the mongodbMongoDBA document database. Reached from CAP through an adapter over Mongoose rather than through the SQL database services. driver, with @sap/cds-odata-v2-adapter-proxy in front so a UI5 application can consume it. Learnings rather than a supported path, and the only MongoDB entry here.Database connectors
Natural Language Queries for SAP CAP via MCP: The LLM Translates, CDS ExecutespublishedThe division of labour is the argument, and it is in the subtitle: the model turns English into a CDS query and CDS runs it, so nothing generates SQL and nothing hallucinates a join. Schema annotations do the resolving. Long, with the package, the repository and the MCP registry entry all linked.LLM integration
Part 1: Creating and Deploying a SAP CAP Application with SAP HANA on SAP BTP (Cloud Foundry)publishedOpens with the observation the whole series rests on — CAP is usually demonstrated locally, and the interesting part starts when it is deployed. Part one of the run that continues into PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. and Work Zone.Database connectors
Part 1: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementspublishedThe substantial part of a side-by-side extensibility series: CAP Node.js, Cloud SDK and Fiori elements against S/4HANA Cloud. Eighteen thousand characters, and the one to read if you only read one.Fiori annotations
Part 1: How to create CAPM project in BASpublishedThe claim in the opening is the interesting part — database, service and UI without switching technologies — and then the project that follows from it. Part one, and it stops at a project that runs.Generators
Part 2: Creating and Deploying a CAP Application with PostgreSQL, Hyperscaler OptionpublishedThe middle of a series that runs from database to Work Zone: the CAP application from part one pointed at PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. on the hyperscaler option, and deployed. The service binding and the build are where it spends its time.Database connectors
Part 2: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementspublishedThe second part, continuing the same extension. Opens with a recap of the stack rather than of the steps, which makes it readable on its own.Fiori annotations
Part 2: Runtime Architecture & Cost efficiency gainspublishedThe technical half of the Kyma Evolution series: why a cluster tuned for CAP multitenancy is not just somewhere to run containers, and where the cost efficiency actually comes from.Deployment
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]publishedThe final part, and the one with the most CAP in it — the service consuming the propagated destinations, and what the handler sees. Read the three together; the series is one piece.Destinations
Predictive Asset Insights embedded Live analytics using CAP and SACpublishedCAP as the layer between a line-of-business application's data and a live Analytics Cloud story embedded back into it — master data and operational data both. Structured as ten steps, which keeps it honest about how much of this is configuration rather than modelling.Analytical queries
Prompt-Driven Development: Building Full-Stack SAP CAP Apps from User StoriespublishedA user story in, a scaffolded full-stack CAP application out, through SAP Build Code and Joule. The question it is actually asking is how much of the foundational code is worth generating, and it answers by generating all of it.Generators
Publish events from CAP Node.js applications to Event Mesh of Integration SuitepublishedThe smallest complete example:
cds init, a service with one function, cds.connect.to('messaging') and an emit to a topic. Deliberately scoped — the Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp setup is skipped and the subaccount is assumed to be the same one — so what remains is the handful of lines on the CAP side and the binding that makes them reach the broker.Event MeshQualtrics integration with domain based authorization in CAP project on HANA cloudpublishedSurveys pulled from Qualtrics into a CAP application in real time, with the twist in the title: authorisation decided by the user's domain rather than by a role collection. A pattern that comes up whenever the audience is wider than the tenant.Authorization
Quick Implementation of DI/DI Container on SAP CAP: Node.js Hands-on PartpublishedThe hands-on half of a pair — the theory is in the author's earlier post — built on the official bookshop sample with the directories flattened so the pattern is visible rather than the scaffolding. Assumes CAP and TypeScript already.TypeScript patterns
Quickly Deploy a Sample CAP Application to BTPpublishedPrerequisites first and at length — account, dev environment, CLI tools, MBT — because that is where a first deployment actually fails. The deploy itself is short once they are true.Deployment
RAG with SAP HANA Cloud Vector Engine, GenAI Hub & CAPpublishedThe end-to-end version: a CAP service exposing the vector engine and the AI hub behind a couple of endpoints, answering where a CodeJam is on a given date. It has aged in a way the author has marked in the page itself — the section on the CAP LLM plugin now carries "(Outdated)" in its own heading — so read the embedding preparation and the retrieval shape, and check the plugin part against the package.Retrieval-augmented generation
Random collection of useful code fragments for CAP Fiori Elements and SAPUI5publishedExactly what it says, and the author gives the reason: none of these were easy to find in the documentation or the samples. A collection of fragments rather than an argument, and the kind of page people bookmark.Fiori annotations
Real-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSocketspublishedThe other half of the author's own industrial-data post: mass ingestion is only useful if the screen keeps up, so background jobs push progress to the UI over WebSockets instead of the user reloading. Written from a mission-critical case rather than a demo.WebSocket
Receive Notifications from Amazon Simple Notification Service for SAP S/4HANA BTP Extension ApppublishedEmail notifications from a CAP application through Amazon SNS instead of anything SAP provides — a hyperscaler service used directly from the extension rather than through a BTP intermediary. The argument for it is stated as reach rather than cost: the extension gets the platform's services and the hyperscaler's at the same time.Notifications
Remote Debugging of SAP CAPM App - NodejspublishedDebugging a CAP Node.js application that is not on your machine, built up from
cds init and a custom action so there is something to breakpoint. The part people need is at the end; the beginning is there so the end is reproducible.Local developmentResolving date serialization issues when using an external OData v2 service with CAPpublishedDates coming out of an external OData v2 service in a shape CAP does not expect, and what to do about it. A narrow bug report with a fix, and the kind of thing that costs an afternoon if nobody has written it down.OData
Reusable components for CAP with cds-pluginpublishedThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius BarrionuevoVinícius Barrionuevomaintains 1 entry, wrote 1 post, contributed to 1 entrysap official credits this post as the thing that gave him the idea for sap-cap-sdm-pluginsap-cap-sdm-pluginA CAP Node.js plugin that maps annotated CDS entities to SAP Document Management and exposes CMIS and repository-administration clients, in an early release.independent, cap, and it is hard to read the plugin ecosystem in this graph without it.Plugin authoring
Run and Deploy SAP CAP (Java) with PostgreSQL on SAP BTP Cloud FoundrypublishedSuperseded by its own author: the post now opens with a notice that @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 7.0.0 brought native PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. support and that @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap should be used instead of the packages described below. Kept because that notice is the record of when the community adapter stopped being the answer.Database connectors
Run and Deploy SAP CAP (Node.js or Java) with PostgreSQL on SAP BTP Cloud FoundrypublishedBoth runtimes in one walkthrough, and it stops on schema evolution — which is the reason to read it rather than one of the several other PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. posts here, since that is where the PostgreSQL story diverges from HANA's and the deploy stops being automatic.Database connectors
Running CAP Node Applications in SAP Business Application StudiopublishedThe Run Configurations tool, which is where binding and mocking live in BAS rather than in a terminal. Three things it does: several named configurations per application in a tree, dependencies bound to real service instances, and OData dependencies mocked. The author notes the configurations are standard launch entries underneath, which is the detail that lets you leave the tool behind if you want to.Editor support
SaaS Self-Onboarding and One-Domain Concept in SAP BTP, Kyma Runtime using CAPpublishedTwo requirements that only appear once a SaaS application has customers: subscribing a tenant end-to-end without the provider doing it by hand, and serving every tenant from one domain instead of one host per subscriber. Kyma runtime, and the post is a summary pointing at an Expert Feature tutorial in the sample repository — it says so itself, offering a one-minute read as the entry point.Multitenancy
SAP BTP SDK for iOS & CAP with OData V4 supportpublishedThe iOS SDK gaining OData V4, which until then made connecting a native app to a CAP service awkward — CAP defaults to v4 and the SDK did not speak it. Short, and it marks the date that stopped being a problem.OData
SAP BTP Showcase - Use SAP Cloud Application Programming to do Native Development on HANA CloudpublishedThe fifth of a seven-post showcase, and the one where CAP is used to reach HANA-native artifacts rather than to avoid them. Long, and it sits inside a series whose other parts are about Data Warehouse Cloud and CI/CD.Database connectors
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudpublishedA pipeline for the database half of a CAP application, built with
cds add pipeline — one command that writes a Jenkinsfile and a .pipeline folder — and then the mta module that makes a database change deploy itself.CI/CD pipelinesSAP BTP XSUAA Security Configuration Comparison: Attribute-Based vs. Authority-Based ApproachespublishedTwo shapes of the same xs-security.json set against each other, with the resulting JWT printed for both. The consequence for application code is what makes it worth reading: under the attribute-based configuration a CAP handler reads
req.user.attr.department, and under the authority-based one it does not, because the attribute is not there. Carries a migration guide between the two.AuthorizationSAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js ServicepublishedThe follow-up that carries the identity through. It takes the CAP service from the Actions tutorial and puts the calling user's identity behind it — an XSUAA instance, a trust configuration, an OAuthSAMLBearerAssertion destination, and the service changed to use that instance — so a step runs on behalf of a person rather than as the process.Workflow integration
SAP Business Application Studio – Using SAP HANA Tools with SAP Cloud Application Programming Model projectspublishedNative HDB artifacts inside a CAP project — the case where CDS is not enough and something has to be written as a database object. Most of the work is making the two build outputs agree: an HDB module path, a CDS build output directory, and a package.json for the module, before the artifact is added and deployed. Published under an account that has since been closed, so the byline reads Former Member.Database connectors
SAP CAP (Java) with Amazon Aurora PostgreSQLpublishedPostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL., but the hyperscaler's own managed global database rather than BTP's option — Aurora, from CAP Java. One of a pair published the same day, the other being Azure's equivalent.Database connectors
SAP CAP (Java) with Azure Cosmos DB for PostgreSQLpublishedThe Azure half of the pair: Cosmos DB speaking PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL., used from CAP Java. Same shape as the Aurora post, and reading both is how you see what is actually portable between them.Database connectors
SAP CAP JWT Token Flow in codepublishedOne question, answered precisely: at what point does the JWT exist and how does it end up on
req.headers.authorization in a CAP handler. XSUAA issues it and the approuter carries it, and the post follows it through both.AuthenticationSAP CAP Lessons Learned: Run a CAP app using SQLite on SAP BTP - Cloud FoundrypublishedSQLite past the point it is meant to go — deployed, not local. Written as a lesson learned rather than a recommendation, and it pairs with the author's own note that SQLite is single threaded.Database connectors
SAP CAP Lessons Learned: SQLite is single threaded, HANA is notpublishedA page long, and one of the more useful pages here: the local database serialises what the deployed one runs in parallel, so concurrency bugs are invisible until they are not. Filed by the author as something the tutorials do not make clear.Database connectors
SAP CAP on HANA XSA: Scaling Industrial Data Applications Beyond the CloudpublishedCAP on HANA 2.0 XSA rather than on BTP — on-premise, and chosen for throughput. Mass ingestion through native stored procedures, which is the point at which CDS stops being the right tool and the post says so.Database connectors
SAP CAP Remote Services & SAP Fiori ElementspublishedWhat happens to a generated UI when the data is not local: a CAP service projecting a remote one, with Fiori elements on top. The author explored it to find out where the abstraction holds, which is the useful register for this.Fiori annotations
SAP Cloud Application Programming Model: Deep Insert (4) Consume Remote ServicepublishedFourth in a long series on deep insert, and the one where the target stops being local. Twenty thousand characters, project files linked, and the earlier parts on UUIDs and multi-level structures are prerequisites the author names.Destinations
SAP Cloud Application Programming Model: Deep Insert (5) Consume Remote Service with SAP Cloud SDKpublishedThe same thing again through SAP Cloud SDK, published as a deliberate comparison with the part before it — the author says outright that it does what the previous post did, differently. Reading both is how you see what the SDK is actually doing for you.Destinations
SAP Cloud Logging Serviceでコンテナメトリクスを監視するpublishedIn Japanese. Container metrics for a CAP Node.js application into SAP Cloud Logging Service, and the reason it exists is that the obvious route does not apply: Spring Boot Actuator covers the Java side, and Node has no equivalent, so the author reaches for Telegraf instead. The procedure is deliberately independent of application logic — bind the instance, add a startup script and a config file — so it works against an application you already have.Logging
SAP Data and Analytics Showcase - Develop a Machine Learning Application on SAP BTPpublishedThe overview post of a showcase written by three authors, setting out the dataset, the scenario and the solution map before any of it is built. Its job is to say which piece goes where across the SAP data and analytics portfolio; the CAP application is one station on that map rather than the subject.Analytical queries
SAP Data and Analytics Showcase – Use SAP Cloud Application Programming Model to Develop a Machine Learning Application on SAP BTPpublishedThe instalment where the showcase becomes code: the CAP application built in Business Application Studio, and the sub-scenario it covers implemented step by step. The overview post is the one that says why this piece exists at all.Analytical queries
SAP Fiori Element using CAP Model – List Report ApppublishedThe build half of the same author's pair: the List Report application over the CAP model introduced in the previous post.Fiori annotations
SAP Fiori Elements using CAP Model - IntroductionpublishedThe introduction to a demo project, and it says where the project came from — exploring what the then-new Fiori tools could do. Context rather than code; the List Report post is the one that builds.Fiori annotations
SAP GraphQL in CAPm (node.js)publishedAdding the GraphQL protocol adapter to a CAP project when it was new — an entity, some data, the feature switched on, and a check that it answers. Short, and it is the earliest account here of CAP speaking something other than OData.GraphQL
SAP Incentive Management - Understanding of CSN file & CLI Command to generatepublishedCSN met from the far end: not as CAP's compiled model but as the interchange format a product hands to Analytics Cloud so a story knows the shape of the data. Explains what CSN is, why the format matters here, and the command that produces one.Data modelling
SAP Job Scheduling Service + Cloud Application Programming Model application (CAP) + SAP Authorization and Trust Management Service (XSUAA)publishedCalling an unsecured endpoint on a schedule is trivial; this is the same thing once the endpoint is protected. The interesting part is the caller — the Job Scheduling Service is not a person, so CAP's pseudo-roles are where the post spends its time, and
$XSSERVICENAME has to match the scheduler's own instance name.AuthorizationSecuring CAP Applications with SAP Cloud Identity Services and AMSpublishedIdentity Authentication and AMS together as the current answer for a CAP application — authentication, single sign-on and the identity lifecycle on one side, policies on the other.Authorization
Set up a self-contained development environment for CAP Node.jspublishedA CAP development environment that carries its own dependencies, so the machine it runs on stops being part of the setup.Local development
SFSFとHANA Cloudを使用するCAPのアプリケーション開発publishedIn Japanese. A hands-on taking data between SuccessFactors and HANA Cloud through a CAP application — the connection setup, the data and service models, then read and write logic, and a Cloud Foundry deploy. Long enough to carry its own table of contents.Database connectors
Sharing SAP HANA Cloud instance to multiple subaccounts and creating HDI containerspublishedOne HANA Cloud instance, several subaccounts, an HDI container created from each — the arrangement that keeps a landscape from paying for a database per subaccount. Written against a CAP project, so the container mapping is shown from the side that has to consume it.Database connectors
Simple steps to deploy your CAP project to HANA cloudpublishedWritten from the far side of a failed deploy — the author says these are the troubleshooting steps that ended up working, not a designed procedure. Short, and honest about being a record rather than a recommendation.Database connectors
SQLite as database for a multi-target (/productive) CAP ApplicationpublishedOpens with "Not recommended but possible", and then names the two cases where it is the right call anyway: a showcase, and a landscape with no HANA Cloud available. The caveat is the content.Database connectors
Storyboard for cloud business applications using CAP in SAP Business Application StudiopublishedThe first release of the Storyboard, written by the team shipping it. Where the graphical modeller draws the data model, this draws the application: its logical components and the connections between them, alongside an application explorer enhanced in the same release. Short, and it reads as an announcement — the fuller account of using it is Aryan_Raj_Sinha's post two years later.Editor support
Streaming LLM Output with CAP and WebSocketspublishedTokens arriving from the AI SDK's orchestration module, forwarded to the browser as they come rather than after the model finishes. Covers all four pieces — enabling WebSocket support in CAP, a service with actions and events, the streaming itself, and a frontend on the native WebSocket API — which is what makes it the clearest case for why a CAP service would want a socket at all.WebSocket
Streamlined Kyma deployment for CAP applicationspublishedUnder two thousand characters on getting a CAP application onto Kyma with less ceremony than the long guides require. Short by design.Deployment
Streamlining CAP Development with CDS Graphical Modeler in SAP Business Application StudiopublishedThe case for the graphical modeller stated as a scale problem rather than a preference: a model held only as code gets hard to keep in your head once it is large, and the diagram is a second view of the same file. The most recent write-up of the tool here, and the one that treats it as an everyday working aid rather than as a new feature.Editor support
Surviving and Thriving with the SAP Cloud Application Programming Model: Deployment to SAP BTP, Kyma runtimepublishedAn episode of the author's #CAPTricks series, and it reads like one — long, opinionated, and organised around the things that actually go wrong on the way to a deployed CAP application rather than around the documented happy path.Deployment
Swagger UI | SAP BTP Extension Generators | Hands-on Video TutorialspublishedA blog post wrapped around a video playlist from the SAP HANA Academy — Swagger UI for CDS, added to the BTP extension generator series. The written half is an ingredients list and a table of contents; the substance is in the recordings.OpenAPI
Taking CAP to the next level - with TypeScriptpublishedThe author's own two packages introduced together, and they are two halves of one idea: cds2typescds2typesA command-line tool that generates TypeScript interfaces from a CDS model, written before @cap-js/cds-typer existed.independent, cap generates TypeScript from the CDS model, cds-routing-handlerscds-routing-handlersDecorator-based routing of CAP service handlers in TypeScript, from before the core had an opinion — the framework the CDS-TS-Dispatcher post names as its unmaintained predecessor.independent, cap arranges the handlers that use them. Published in 2020, years before cds-typer, which makes it the earliest answer in the graph to a question the core answered later.TypeScript patterns
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewpublished
cds.test covers the service; this covers what is underneath it, where the artifact is an hdbprocedure or an hdbview that CDS never sees. That means a real HDI container, so most of the post is about where to get one and how to give CAP access to it — the tests are the easy part once that is true.TestingThe CAPstone Project: A Journey from Component to CloudpublishedA React and Vite front end on a CAP backend, written for two readers at once — the React developer curious about SAP, and the CAP developer wondering about modern front ends. Predates CAP's own React and Vue support.Reference apps
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single ProjectpublishedOne CAP service exposing OData V2, OData V4 and REST at the same time, which is unusual enough to be worth the read on its own. Part of an end-to-end series, deployed on Cloud Foundry against HANA Cloud, so the protocol question sits inside a whole application rather than a snippet.OData
The SAP Fiori elements feature showcase with CAP CDS annotationspublishedThe feature showcase, which is the closest thing to a reference for what the annotations can do, presented here with its CAP CDS side. Short, because the value is in what it points at.Fiori annotations
Tips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilitiespublishedFour settings, from somebody who works on the annotation language server. The premise is the interesting part: CAP's annotation syntax is looser than ABAP CDSABAP CDSThe modelling layer of ABAP Cloud — view entities, projections and annotations defined above database tables, delivered with the platform rather than installed.sap official, abap or EDMX — a record can be written with or without an explicit type — so the completion has to guess how verbose you want it, and this is where you tell it. Then filtering the completion list, reading the icons, ordering diagnostics by severity, and turning i18n problems on only when you want them.Editor support
Tree-Table Support in CAP is Now Generally AvailablepublishedThe announcement that closes a gap other posts here worked around for years — hierarchy maintenance for Java in February, recursive support in March, generally available since July. Read it beside the 2022 post that had to build hierarchies by hand.Fiori annotations
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) AppspublishedThe two routes out of a CAP application into a process, side by side: a destination with OAuth2ClientCredentials, the same destination with principal propagation, and Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp with a CloudEvents payload. Written before @cap-js/process@cap-js/processStarts, cancels, suspends and resumes SAP Build Process Automation processes from a CAP service through entity annotations, or through a typed CDS service imported from the process definition.sap official, cap existed, so it is the record of what the plugin now does for you — useful when the plugin does not fit, and useful for reading what it is actually doing underneath.Workflow integration
TypeScript Sheriff: How can I use TypeScript in the SAP ecosystem? (Part 2 of 3)publishedThe middle part of three, and the one about SAP: where TypeScript is supported across a side-by-side extension on BTP, as of July 2023. It says the SAP Cloud SDK already generates OData clients as .ts files and UI5 ships types for its controls and modules, the ground of TypeScript supportTypeScript supportWriting apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other.SAP and community, narrow by design in UI5, while CAP offers standard types and the new @cap-js/cds-typer@cap-js/cds-typerGenerates TypeScript types from a CDS model.sap official, cap generates types for a service, which is typingTypingMaking the model visible to the compiler — generated types for entities and events so a rename breaks the build rather than production.SAP and community, unassessed, with the caveat that running cds-ts commands could overwrite what cds-typer generated.Typing
UI5ers Buzz #56: New full-stack UI5 sample app featuring CAP + OData V4 + draft modepublishedA sample app published as code rather than described — SAPUI5 over a CAP service with OData V4 and draft mode — and the note that it was built on what the team learned from an application written in March 2020 to help the German Foreign Office repatriate citizens. That provenance is unusual and worth keeping.Reference apps
Understanding Projections in CAPM: Select Only What You Need!publishedOne concept, explained by someone who had just learned it and says so — what a projection is, why it matters, and an analogy. The register is unusual here and suits the subject: projections are the first thing that makes CDS feel different from a table.Data modelling
Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.publishedThe long version, from the MTA project outward: what the deployment descriptor has to contain, how the authentication flow actually runs, and then the npm modules doing the work — @sap/xssec@sap/xssecToken validation and security context for XSUAA and IAS.sap official, cap and @sap/xsenv named and explained rather than left as dependencies. Old, and the module names have moved on, but the flow it draws has not.Authorization
Unlocking Efficiency: Leveraging SAP BTP Document Management Service in Fiori Applications # 2publishedDocument Management's own Attachment Reuse UI dropped into a Fiori elements List Report, in two variants — OData V2, and OData V4 in a CAP application. The CAP half is one of the two scenarios rather than the subject; the rest of the series is about custom Fiori apps and a process task UI, with no CAP in them.Attachments
Upload attachments in a Freestyle UI5 and CAP apppublishedAttachments where the UI is freestyle rather than Fiori elements, so none of the generated upload behaviour applies and both ends have to be written.Attachments
Upload data from excel in CAP (Node.js)publishedMass upload from a spreadsheet, both halves shown: an entity marked
@cds.persistence.skip to receive the file, an INSERT built from the parsed rows, and a list report extended with the upload button that starts it.Database connectorsUploading attachment with cap-js/attachment plugins but via External App/PostmanpublishedThe plugin is written for a Fiori elements front end; this is the case where the caller is neither — Postman and a React app. Short, and it exists because the request shape is not obvious from outside the generated UI: what to POST, what to PUT, and in which order.Attachments
Use SAP CAP SAPUI5 Smart Filter to Show Value Help that are not Associated EntititespublishedValue help for a field with no association behind it, which is the case the annotation assumes away. Short, and the workaround is the content.Fiori annotations
Use SAP Document Management Service Plugin In CAP NODEJS Step by Step GuidancepublishedThe official plugin is documented in capire; this is somebody who set it up anyway and wrote down where it went wrong. The author says as much — the point is to spare customers the troubles, so the value is in the order of the steps and the prerequisites, not in the API.Attachments
Use SAP HANA as the Database for a CAP Java ApplicationpublishedMoving a CAP Java application off the development database onto HANA, which is the step where the persistence choice stops being invisible.Database connectors
Use SCP CF Destination service in NodeJs locallypublishedReading a destination from a laptop, where the environment variable the destination service normally provides does not exist. A small gap with a real cost, since the alternative is deploying to test every change to a remote call.Destinations
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one gopublished
cds watch serves the service and the app folder but not the approuter, so anything needing a JWT means a second terminal started by hand. This replaces that with a VS Code task definition — the tasks.json is in the post — so the whole local stack comes up on one command.Local developmentUse the SAP Cloud SDK in the SAP Cloud Application Programming ModelpublishedReaching for the Cloud SDK from inside a CAP service, for the calls CAP's own remote services do not make.Destinations
Use TypeScript with the SAP Cloud Application Programming ModelpublishedWritten from the position of someone who avoided JavaScript for years and then had to cover CAP, which gives it a useful angle: what TypeScript buys a person arriving from a typed language, and where to start rather than how to finish. Ends on a worked example rather than a survey.TypeScript patterns
Using Custom Actions to display PDF from SAP BTP Forms service into a CAP SAPUI5 applicationpublishedA requirement that arrived after the application was finished — render a PDF from the record currently open on an object page — and the join it needed: the Forms service bound to the CAP application, a custom action on the service, and a button on the object page header calling it.Document output
Using HANA Cloud’s "VECTOR_EMBEDDING" Function in CAPpublishedEmbeddings generated inside the database rather than fetched from AI Core or an external model — a Q4 2024 HANA Cloud function, used from CAP. The shift it describes is where the embedding step lives, which changes what has to be deployed and what has to be called.Retrieval-augmented generation
Using Postgresql Database in Cloud Application Programming modelpublishedA straight run through the official PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. guide with the steps spelled out, from initialising the server onward. Says as much itself — it follows the documentation rather than departing from it, which makes it the plainest of the PostgreSQL entries here.Database connectors
vite-plugin-cdsadded to the atlasServes a Vite app through cds watch and imports .cds filesLocal development
What's new in SAP Cloud Application Programming Model – January 2026publishedDecember and January together: the new @assert feature, revised documentation, CDS editor work, and Kyma deployment additions.Configuration
What's new in SAP Cloud Application Programming Model – November 2025publishedThe November edition, led by the Status Transition Flows feature presented at reCAP 2025.Configuration
What's new in SAP Cloud Application Programming Model – September 2025publishedThe monthly release communication for CAP itself, and this edition carries the MCP servers and the Application Frontend Service integration. Kept because a dated list of what shipped when is the only record of that; three editions are indexed here rather than the whole run.Configuration
Why developers should care about credential-types for xsuaa?publishedRotating secrets, argued from a habit rather than a feature: the author names the practice implicit in many beginner tutorials — lifting a secret out of a binding to use it elsewhere — and notes CAP has features that make it unnecessary in development. Then the three credential types side by side, configured on a CAP application's uaa resource in mta.yaml and through a deployment extension.Authorization
Workflow development using SAP Cloud Application Programming Model and SAP Build Process AutomationpublishedAn argument about where logic belongs rather than a wiring guide. The author's case is that pulling mapping, preprocessing and JavaScript into the process model makes it unreadable to the process owner who has to maintain it, so the model should stay thin and CAP should hold the domain model, the authorisation annotations, the events and the API consumption. Each of those is then shown in turn against SBPA — including publishing CAP events into process visibility.Workflow integration
Working with the Attachment plugin - Cloud Application ProgrammingpublishedOne instalment of the author's own series working through the CAP plugins one at a time, and it reads as that: what the plugin does, how it does it, and how to put it in a service. Written from the plugin list in capire rather than from a problem, which makes it the plainest introduction here.Attachments
XSUAA Based Authentication - Using Managed ApprouterpublishedOne half of a pair published the same day, both starting from capire's list of authentication kinds and then going end to end on XSUAA. This is the managed approuter route, where the platform runs the router and the application supplies configuration rather than a module.Authorization
XSUAA Local TestingpublishedAdding XSUAA to a CAP project two ways, and then the part that is usually missing: getting the authorisation to behave on a laptop rather than only after deployment. The default authentication mechanism is the easy half; testing it without a landscape is the reason this exists.Authorization
加速开发和部署的CAP CDS和Fiori一些实用命令publishedIn Chinese. A command reference rather than a walkthrough —
cds import, cds compile, cds deploy --to sqlite, cds add hana, cds add xsuaa — grouped by what they are for. The kind of page that is more useful than a tutorial once you already know what you are doing.GeneratorsMon 7
@cap-handler/generatoradded to the atlasInteractive generator for CAP event handler filesGenerators
@cap-utils/barrieradded to the atlasPlaceholder package under a CAP annotations name, no annotations
@cbs-consulting/cds-eslintadded to the atlasESLint plugin with one consultancy's rules for CDS filesLinting
@cbs-consulting/toolsadded to the atlasShared ESLint configuration for SAPUI5 and CAP projectsLinting
Show 145 more
@expertum/cap-email-pluginadded to the atlasAnnotation-driven mail on CAP entity lifecycle eventsNotifications
@kamlendra/search-vocabadded to the atlasCDS annotation vocabulary for entity search with schema discoverySearch
@khalidmh/capxadded to the atlasInteractive project installer for CAP Node.jsGenerators
@mi8y/cds-langgraph-persistenceadded to the atlasLangGraph checkpointer backed by CDS for CAP agentsAgent tooling
@odatano/coreadded to the atlasCAP plugin serving the Cardano blockchain as OData V4OData
@odatano/core-mcpadded to the atlasMCP server exposing the ODATANO Cardano-to-OData bridge as toolsServe your application over MCP
@odatano/nightgateadded to the atlasCAP plugin indexing the Midnight blockchain, exposed as OData V4OData
@odatano/nightgate-mcpadded to the atlasMCP server exposing the NIGHTGATE Midnight attestation layerServe your application over MCP
@odatano/watchadded to the atlasCAP plugin watching Cardano addresses and emitting eventsAsync processing
@patimweb/pi-cap-bestpracticesadded to the atlasSAP's capire/skills packaged for the pi coding agentAgent guidance
@quadrio/cds-db2added to the atlasDB2 adapter for CDSDatabase connectors
@quadrio/cds-dbmadded to the atlasFork of cds-dbm with deploy, load, diff and drop tasksSchema evolution
@rizing/cds-customer-stepbystep-tooladded to the atlasTool completing a CAP project's deployment configurationDeployment
@sang2x/captoolsadded to the atlasCLI of CAP development tools for Cloud Foundry workflowsLocal development
@sap-cloud-sdk/connectivityadded to the atlasDestination lookup and connectivity proxy for the Cloud SDKDestinations
@sap-cloud-sdk/http-clientadded to the atlasHTTP client carrying a destination's credentialsDestinations
@sap-cloud-sdk/odata-commonadded to the atlasShared machinery under the Cloud SDK's OData and OpenAPI clientsDestinations
@sap-cloud-sdk/openapiadded to the atlasGenerated OpenAPI clients for the Cloud SDKDestinations
@sap-cloud-sdk/resilienceadded to the atlasTimeouts, retries and circuit breaking around remote callsDestinations
@sap-cloud-sdk/utiladded to the atlasGeneral utilities shared across the Cloud SDK packagesDestinations
@sap-ux/eslint-plugin-fiori-toolsadded to the atlasESLint rules for projects the Fiori tools generators produceLinting
@sap-ux/fiori-docs-embeddingsadded to the atlasFiori documentation indexed as embeddingsDocumentation
@sap-ux/fiori-generator-sharedadded to the atlasShared functions and types of the Fiori generatorsGenerators
@sap/cds-common-contentadded to the atlasISO content for CAP's countries, languages, currencies and timezonesData modelling
@sap/eslint-plugin-cdsadded to the atlasSAP's ESLint plugin for CDSLinting
@sap/generator-cap-projectadded to the atlasCAP project generator behind SAP Business Application Studio's wizardGenerators
@sap/generator-cdsadded to the atlasCDS project generator, deprecated in favour of @sap/cds-dkGenerators
@saptools/cf-request-runneradded to the atlasEndpoint discovery for CAP services deployed to Cloud FoundryDebugging
@saptools/hana-lensadded to the atlasWorkspace-wide CSN cache for querying CAP entities and columnsEditor support
@saptools/service-flowadded to the atlasStatic end-to-end tracer of one CAP operation across repositoriesDebugging
@shahid.la/cds-db-nlquery-mcpadded to the atlasMCP server answering plain-English questions against a CDS schemaLLM integration
A 25x faster mta.yaml build for SAP CAP Node.js projectspublishedOne change to the build descriptor, arrived at after discarding the obvious alternatives — the author reports trying shell scripts, npm caching and offline installs, swapping npm for pnpm, and cds build --no-clean, all of which helped and none of which was this. The value is as much in the record of what was ruled out as in the trick itself.Deployment
A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 1/3publishedThe concepts before the code: what the GPT model and its API actually offer, and what the finished chat application looks like — personalities included. Written in the weeks when the ground was moving under it, and the post carries its own change log to prove it: GPT-3.5 added on 1 March, GPT-4 on 15 March, and an admission that a series planned as two posts became three.LLM integration
A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 2/3publishedThe backend: CAP with TypeScript, the entities holding chats and personalities, and the service that talks to the API. This is where the streamed completion and the repositories behind the handler come from, which is the part of the sample still worth lifting even though the model access has since been superseded by AI Core.LLM integration
A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 3/3publishedThe SAPUI5 frontend of the sample, and mostly an argument for writing UI5 in TypeScript: ES imports in place of
sap.ui.define, a class with real private members in place of the underscore convention, and the service types generated from the CDS model copied into the UI package, so one IChats interface types the OData object the controller reads. The second half is structure — a formatter class and a singleton LayoutManager called from the XML view through core:require, a confirmation helper taking a callback, a dialog class resolving a promise, a generic createEntity<T> on a service class — all of it to keep every controller under 100 lines. What it says about arranging a UI5 app holds whatever model sits behind the chat; the tooling around it is of its date, and the post calls UI5's TypeScript support experimental.LLM integrationA Fiori Launchpad Sandbox for all your CAP-based projects - OverviewpublishedWhere cds-launchpad-plugincds-launchpad-pluginIndexes every SAPUI5 application in a workspace into one sandbox launchpad served by the CDS server, so all of them can be opened from a single page while developing.independent, cap came from, told as a learning exercise: the author wanted a real problem to teach himself TypeScript on, and picked the thing he kept redoing in every CAP project — a launchpad to see all the UI applications in one place. The origin post for an entry whose 2023 update is also indexed here.Testing
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setuppublishedThe hands-on half published the same day as the overview: the launchpad module wired into the CAP sample repository, step by step from a global cds-dk install. Same-day pairs like this are worth keeping together — the overview argues, this one is the thing you follow.Testing
a2a-pluginadded to the atlasExposes an annotated CDS service as an Agent-to-Agent agentAgent tooling
Add MCP capabilities to a CAP servicepublishedA fifteen-minute walkthrough of turning a plain CAP service into an MCP server: annotate the service with
@mcp, install @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, and it is served alongside OData at /mcp/<path>. The part worth reading it for is what happens next — cds watch writes the endpoint into the local agent's own configuration file, so OpenCode or Claude Code can call the service without anyone editing JSON by hand. It is built on the tiny-sample facet, so there is nothing to prepare, and it shows the protocol traffic rather than only the result. Written while the adapter was in beta, and it says so.Serve your application over MCPAdding Immutable Blockchain Proofs to SAP With CAP - Cardano and OData V4publishedThe write-up behind ODATANOODATANOmaintains 4 entriesindependent, by its author: how a public blockchain gets reachable from CAP as an ordinary OData V4 service rather than through a bespoke client. The premise it starts from is worth the read on its own — SAP systems are trusted but mutable, which is what an immutable anchor is for — and Cardano is chosen for peer-reviewed research and formal methods rather than for popularity. Written as an experiment with feedback invited, not as a recommendation.OData
assert-targetadded to the atlasWhich CAP paths trigger @assert.target and which do not
attachment-reuse-controls-sampleadded to the atlasFiori Elements page embedding upload controls on @cap-js/attachments
Avoid design time CAP server restarts when maintaining local data filespublishedcds watch restarting on every file change is the feature; this is the case where it is not. Editing a CSV seed file mid-edit restarts the server against half-finished data, and the post is about suppressing that without giving up the watch loop. A small friction most people work around silently rather than fix.Local development
Building Durable AI Agents - Announcing the cds-langgraph-persistence PluginpublishedThe announcement, and the argument behind it. Treating an agent as a software architecture rather than a model with tools makes a list of production requirements — identity, authn and authz, multitenancy, persistence, event-driven flows, scalability, observability, CI/CD — and the author's point is that CAP already answers most of them for BTP, which is what makes LangGraph inside CAP Node.js worth doing. The post then narrows to one of those requirements, durability, and the checkpointer that supplies it. Written from a year of building agents next to real business systems rather than as a framework tour.Agent tooling
CAP Initializr: Generate SAP CAP Projects in SecondspublishedA hosted project generator for CAP in the shape of Spring Initializr — pick the structure, dependencies and configuration in a browser and download the result, rather than running cds init and then wiring the facets by hand. The post is an MVP announcement asking for feedback, and the tool lives at a Cloud Foundry trial URL rather than on npm, so it is a direction being tested in public rather than something to depend on.Generators
CAP is important because it's not importantpublishedAn essay rather than a technique: what CAP actually is, what it gives you, and the case for treating it as foundational precisely because it is not the interesting part of an application. Written in 2019, when that argument still had to be made, and the title is the argument. Also recorded as a Tech Aloud podcast episode and a CodeTalk, both linked from the post.Configuration
CAP JavaでObject Pageの項目の動的な入力制御を実装するpublishedTwo ways to make an object page field editable or not from the value of another field in CAP Java, with the same rule implemented both ways. The first routes the decision through a separate entity holding default values, reached by Side Effects annotations; the second adds a virtual element the Java event handler fills. The piece is about the trade the two make — annotation-only versus a handler that runs — rather than about which is correct, and the running code is the repository it links.Fiori annotations
CAP just got faster: What's new in cds-caching 1.0publishedWhat changed in cds-cachingcds-cachingA caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support.independent, cap at 1.0, announced at reCAP 2025 by the plugin's own maintainer. The substantive change is the read-through API:
cache.rt.run(), send(), exec() and wrap() replace the bare cache.run() and cache.send(), and each returns the cache key and hit-or-miss metadata beside the result rather than the value alone. The second is quieter and easier to miss on an upgrade: user, tenant and locale stopped being folded into request-based cache keys by default and became opt-in through keyManagement, or per operation through a key template. Both of those still describe 3.x. What does not is the second half of the post: the metrics configuration it shows was reshaped at 2.0 and the statistics and dashboard settings were removed at 3.0, so take the monitoring and dashboard sections from the README instead. Read it as the successor to the introduction postBoosting performance in SAP Cloud Application Programming Model (CAP) applications with cds-cachingThe plugin's introduction post: what cds-caching is for, how it is put together and the cases it was written against. The edge holds because the plugin's README still points here as the piece to read first, so this is where a reader arriving at the plugin is sent. It predates version 1.0 and the API has moved since: the read-through calls it shows as cache.run() and cache.send() are the ones the README now lists as deprecated in favour of cache.rt.*, which returns the cache key and hit/miss metadata alongside the result, and 1.0 made user, tenant and locale awareness opt-in under keyManagement rather than folding them into request-based keys by default. Metrics and monitoring, the OData API and full TypeScript definitions arrived with 1.0 and are described in CAP just got faster: What's new in cds-caching 1.0 instead. The reasoning about when a CAP service wants a cache still reads true; the call sites need translating.published 2025-06-25, which still shows the deprecated calls.Cachingcap-alpadded to the atlasAnalytical List Page over a CAP OData V4 service
cap-ams-a2aadded to the atlasApp-to-app setups between CAP Java and CAP Node.js under AMS and IAS
cap-cross-containeradded to the atlasCAP services reading each other's HANA tables across HDI containers
cap-handler-frameworkadded to the atlasConvention-based handler layer for CAP with draft lifecycle hooksTypeScript patterns
cap-java-auth-checkadded to the atlasCAP Java authorization checks tried case by case
cap-java-draft-composition-deleteadded to the atlasCAP Java draft cancel on composition items as a flag update
cap-java-snippetsadded to the atlasTen short CAP Java references, one document per topic
cap-js-geoloc-pluginadded to the atlasAnnotation-driven geocoding, address correction and routing for CAPFiori annotations
cap-mcp-bridgeadded to the atlasMCP server generating tools from a CAP or OData V4 service's metadataAgent access to your systems
cap-mediaadded to the atlasMedia handling in core CDS with a UI5 UploadSet
cap-mock-generatoradded to the atlasFills db/data with relationally consistent CSV from a .cds schemaSeed data
cap-oauth-destinationadded to the atlasOAuth2UserTokenExchange destination declared in mta.yaml
cap-toolkitadded to the atlasUtility bundle for CAP handlers: builder, roles, validation, queriesInput validation
cap-ui5-gpt-chatadded to the atlasChat app on CAP and SAPUI5 against the OpenAI API
cap-utilsadded to the atlasnpx tool adding worked example files to a CAP projectReference apps
cap-vector-hcadded to the atlasVECTOR_EMBEDDING in a CDS entity for FAQ similarity search
CAP, CDS, CDL, CSN and jq - finding associationspublishedHow associations are actually represented once CDL is compiled into CSN, worked out by parsing the machine-readable form with jq. Useful less as a recipe than as a way in: anything that wants to reason about a CDS model without the compiler has to read CSN, and this is what that looks like from the outside.Data modelling
CAP, CORS and custom headerspublishedWhat CAP itself does about CORS, and where it stops. The starting point is a colleague's request and a deliberate constraint: @sap/approuter has full CORS support, but the author wanted to know what the CAP server offers on its own and how to extend it. Ends up covering preflight requests and custom servers, which is the mechanism a frontend hosted outside BTP actually runs into.Frontend boundary
capire/skillsadded to the atlasAgent skills for CAP development, each a SKILL.md with referencesAgent guidance
cds-agentsadded to the atlasToolkit turning a CAP service into tools for agent frameworksAgent tooling
cds-azure-adadded to the atlasAzure AD and Azure AD B2C authentication strategy for CAPAuthentication
cds-common-jwt-supportadded to the atlasJWT authentication for CAP without xsuaa or xssecAuthentication
cds-data-pipelineadded to the atlasScheduled READ, MAP, WRITE pipelines between CAP servicesData federation
cds-error-outboxadded to the atlasCaptures CAP service errors, deduplicates them and mails alertsError handling
cds-feature-softdeleteadded to the atlasCAP Java plugin for soft delete with a softdelete aspectSoft delete
cds-feature-toggleadded to the atlasFeature-toggle pattern for CAP CDSFeature toggles
cds-hyper-app-serviceadded to the atlasTyped class-based service layer over CAP ApplicationServiceTypeScript patterns
cds-internal-tooladded to the atlasReusable internals for authors of CAP extensionsTyping
cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async LaunchpadpublishedThe maintainer on a set of changes rather than on the plugin's original purpose, which is indexing every SAPUI5 project in a workspace into one sandbox launchpad so all of them can be tested together. What moved: it became a CAP plugin, gained UI5 Tooling support, and moved to the async launchpad — each framed as keeping pace with where SAPUI5 itself is going rather than as a feature.Testing
cds-mongodbadded to the atlasMongoDB as a CAP database service through MongooseDatabase connectors
cds-natsadded to the atlasNATS messaging service for the CAP Node.js runtimeAsync processing
cds-rate-limitadded to the atlasRate-limit pattern for CAP Node.js applicationsRate limiting
cds-softdelete-pluginadded to the atlasCAP plugin turning DELETE into a flag on annotated entitiesSoft delete
cds-toon-ai-protocol-adapter: a pragmatic way to cut AI token costs using SAP CAPpublishedNames a cost most CAP-plus-LLM writing ignores: every JSON payload streamed to a model is billed by its verbosity, in latency as well as money. The plugin brings TOON — Token-Oriented Object Notation — to a CAP service so the wire format changes without the service code doing so, in a REST variant and an OData one, with token counts reported on both sides.LLM integration
CDS-TS-Dispatcher: Simplifying SAP CAP TypeScript DevelopmentpublishedThe first of a pair introducing the author's own libraries, and it states what it is reacting to: CAP derives OData services from a CDS model, but the communication between business logic, service and persistence layers is left to you, and the earlier attempt at the service-layer half, cds-routing-handler, appeared unmaintained against newer CAP. The dispatcher is the answer offered for that layer.TypeScript patterns
CDS-TS-Repository: Simplify SAP CAP Entity persistance with BaseRepositorypublishedThe persistence half of the same pair, three days later: a BaseRepository putting entity access behind a typed repository rather than CQN written inline in a handler. Shares its opening argument with the dispatcher post — the layer between business logic and persistence is the part CAP leaves open — and the two are designed to be used together.TypeScript patterns
cds-validateadded to the atlasZod schemas as CAP validation middlewareInput validation
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud ConnectorpublishedAn end-to-end route from a CAP Node.js application on Cloud Foundry to a PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. database that is never made publicly reachable, over BTP Connectivity and the Cloud Connector using a TCP destination and SOCKS5. The part worth having is that it covers the deployer as well as the server: the generated PostgreSQL deployer has to reach the same private database to deploy the CDS model, and a guide that only connects the runtime leaves you with a schema you cannot install.Database connectors
Connecting Two SAP CAP Projects Without Duplicating Your DatapublishedCross-container HDI synonyms, argued from the alternatives rather than presented as a recipe: copying the table, standing up an API, or hard-coding the values are the three things the author reports seeing teams do, and each is named as working but unclean. With synonyms in place the consuming project queries the owner's HANA tables through ordinary SQL and ordinary CAP service code, with no replication and nothing to drift between environments. Covers the same ground as Mio YasutakeMio Yasutakemaintains 47 entries, wrote 10 posts, contributed to 47 entriesindependent's 2021 post from a different angle — that one enumerates four topologies, this one argues for one of them.Native SAP HANA artifacts
Consume SAP Document Management using @cap-js/sdm pluginpublishedStoring attachments in a SAP Document Management repository from a CAP application, using the official plugin. The point the post makes about the plugin is that it brings its own UI: a user attaches any number of documents and one Save writes them all to the repository, so the application does not build an upload surface of its own.Attachments
debug a CAP app with UI5 TypeScript UI component with VS CodepublishedDebugging both runtimes at once — the CAP server and a UI5 component written in TypeScript, the latter stepped through in its own sources rather than in the transpiled output. Written when TypeScript for UI5 had just become possible, and the combination it sets up is the one CAP's app folder invites.Debugging
Develop CAP Project with Lazyvim in DockerpublishedA Docker image running Lazyvim with language server support for CDS, TypeScript and JSON, so a CAP project can be developed with an editing experience comparable to VS Code without leaving the keyboard. Narrow by intent, and the useful general point underneath it is that CAP's editor support reaches anything that speaks LSP.Editor support
Develop SAP CAP apps inside a VS Code Docker ContainerpublishedA VS Code dev container configuration with everything a CAP project needs already in it, published as a repository rather than as instructions. The 2020 half of a pair whose other half, four years later, does the same for Lazyvim — the same author solving the same problem twice as his editor changed.Local development
Dynamic authorisation with user attributes in SAP CAP and AMSpublishedThe same argument as the XSUAA-to-AMS piece, opened from a concrete failure: an acquisition puts 500 users on sales data restricted by division, and role-based access control answers it with Sales_Manager_EMEA, Sales_Manager_APAC and so on until the roles multiply past managing. Attribute-based authorisation replaces the set with one policy carrying a restriction, and the post walks through defining it in AMS against Cloud Identity Services. The clearest statement of role explosion among the three AMS pieces here.Authorization
dynamic-external-cds-joinadded to the atlasCAP plugin joining external entities with internal tables at queryTenant extensibility
eslint-plugin-better-cap-configadded to the atlasESLint rules flagging deprecated CAP configurationLinting
Evaluating SAP’s new MCP servers: UI5, CAP, and Fiori tools in practicepublishedSomeone trying SAP's three new MCP servers rather than repeating the announcement. It sets the official positioning first — MCP as the bridge from coding assistants to SAP tooling across Cursor, Windsurf, Copilot, Cline and Claude Code, with best-practice scaffolds and BTP-aligned guardrails — and then reports what using them is actually like. The rare kind of post that tests a vendor claim.Agent access to your code
Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-tspublishedPart one of two: a bookshop project built in TypeScript from cds init, with cds-typer added as a development dependency and the surrounding tools — cds-ts and node-ts — put in place so the project runs locally. A setup walkthrough rather than an argument about typing, and it stops at the point where the application works on a laptop; deployment is part two.Typing
Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-ts Part - 2publishedPart two takes the TypeScript project from part one to Cloud Foundry: cds add mta, then the parts of the generated descriptor the author singles out as needing attention for a TypeScript build rather than a JavaScript one. The pair together is the whole path — typed model locally, then deployed — which is where a typing walkthrough usually stops short.Typing
Federating, Replicating, and Caching Remote Data in CAP — Part 2publishedThe practical half of the pair. Where Part 1 sets out the terminology, what CAP does out of the box and where the gaps are, this one builds a small application that federates, replicates and caches remote data, one step at a time, with the finished project published as sales-cockpit so a reader can either follow along or start from the end. It began as a twenty-minute reCAP talk, which the author says was only room for the intro.Data federation
fiori-dynamic-feature-controladded to the atlasOne object page field made read-only from another's value, two ways
fiori-inline-editadded to the atlasList report inline edit on a draft-enabled CAP service
fiori-invoke-functionadded to the atlasCalling an unbound CAP Java function from freestyle UI5
fiori-navigation-patternsadded to the atlasOutbound navigation patterns from a Fiori Elements list report
forsap-s4hana-private-simulatoradded to the atlasCAP project simulating S/4HANA Private Edition OData APIs locally
From XSUAA to AMS: Architecting S4HANA CAP Extensions with Policy-Based AuthorizationpublishedWhy scope-based authorization runs out, argued from enterprise extension work rather than from the documentation: XSUAA handles roles well, but real requirements are business-context restrictions — country, company code, organisational unit — and expressing those as scopes does not scale. The migration to policy-based authorization is presented as an architectural move for S/4HANA extensions rather than a configuration change.Authorization
Getting started with CAP on PostgreSQL (Node.js)publishedRunning CAP on PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. locally in 2020, when doing so meant the community packages cds-pgcds-pgA PostgreSQL adapter for SAP CDS, built by the SAP Mentors community, which gave CAP a Postgres persistence option years before @cap-js/postgres shipped.independent, cap and cds-dbm. It now opens with a banner the author added later: @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 7.0.0 has native PostgreSQL support, use @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap instead, with a pointer to a step-by-step guide for it. Worth having for that banner as much as for the content — a post that tells you not to follow it is a dated fact about where the answer moved.Database connectors
Github Copilot VSCode - My Own SAP Development RulespublishedOne developer's rule files for Copilot, split by concern rather than kept as one prompt: CAP backend rules, UI5 frontend rules, Jest testing rules and Bruno collection rules, each with a scope narrow enough that an agent cannot read it two ways. The CAP file covers reusable types, managed data, soft-delete behaviour and service conventions; the UI5 file covers naming, view constraints and where annotations may live. It is the rule-file half of agent guidance rather than the skill half — nothing is packaged or published, and the value on offer is the shape of the split.Agent guidance
How to ensure that users can efficiently enter data in SAP Fiori elements applicationspublishedGuidance for draft-enabled Fiori Elements applications aimed at the user who spends their day in them: entering data quickly and by keyboard, on a slow network, without the round trips a draft-backed form can otherwise impose. Written from the design side rather than the implementation side, which is the half most CAP writing about drafts leaves out.Draft handling
How to share tables across different CAP projectspublishedFour scenarios for reading one CAP project's table from another, worked out as a matrix of what each one needs: the same HDI container and namespace, the same container under a different namespace, a different container, and a different Cloud Foundry space. The mechanics change with each step — @cds.persistence.exists on the reused entity throughout, an .hdbsynonym once namespaces diverge, .hdbrole and .hdbgrants once containers do, and a user-provided service built from the grantor's credentials once spaces do. The author flags the caveat themselves: these are learning scenarios, and consuming the OData service is often the better answer than reaching into another project's database. Dated corrections from twelve days after publication sit inline — synonyms need only the name because the configuration comes from .hdbsynonymconfig, SERVICE_REPLACEMENTS in mta.yaml removes the hard-coded service name, and the reused container need not be bound to the srv module.Native SAP HANA artifacts
Implementing Dynamic Subaccount-Based Routing in SAP CAP with SAP BTP DestinationspublishedWhy environment variables are the wrong place for backend endpoints in a CAP application, and what replaces them: cockpit destinations resolved at runtime, with the subaccount or instance identified as the request is handled. The argument is about redeployment — an endpoint kept in the environment means a deploy every time it moves — and the shape it produces is one codebase serving several landscapes without a build per landscape.Destinations
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configurationpublishedThe author's own announcement, and precise about scope: today it catches deprecated key/value entries in CAP's JSON configuration, and the ambition is that it grows into best practices, suggestions and autofixes the way any ESLint plugin does. The implementation detail worth knowing is that it uses modern ESLint's JSON language support rather than a generic parser, which is what makes linting a configuration file rather than source code work at all.Linting
ISO content for common CAP typespublishedThe npm package that supplies ISO-standard content — countries, languages, currencies, timezones — for CAP's common types, and how it works underneath. The author flags the length and the reason for it up front, having followed the mechanism further than the question required, which is what makes it worth reading rather than a package announcement.Seed data
New and improved: Change Tracking pluginpublishedThe 2.0 announcement, and unusually candid about why there is a 2.0 at all: the plugin already existed and was, in the author's words, plagued by many issues. What it records is every insert, update and delete with the user and the timestamp, aimed at root-cause analysis and at detecting changes nobody authorised. Generally available as of this post, having been hinted at as beta in the April release notes.Change tracking
Performance Boost and Caching Strategy for Faster Data Access using "cds-caching" in SAP CAPpublishedSomebody else's account of using the plugin, which is the useful counterpart to its documentation. The case is specific: a master-data entity of more than a million rows, rarely written and constantly read, where the read-heavy shape is what makes caching worth the complexity rather than a general performance wish. Walks through integrating cds-cachingcds-cachingA caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support.independent, cap into that application and what it changed.Caching
PostgreSQL persistence adapter for CAP (Node.js)publishedThe contradiction the adapter was built to resolve, stated plainly in 2020: CAP's core is open, non-intrusive and platform-agnostic, which is what would let it run outside SAP's world — except that HANA was the only officially supported production persistence and HANA exists only inside BTP. cds-pgcds-pgA PostgreSQL adapter for SAP CDS, built by the SAP Mentors community, which gave CAP a Postgres persistence option years before @cap-js/postgres shipped.independent, cap is the answer to that, and this is the post that argues for it. Read now as the front end of a story whose other end is the 2023 post recording cds-pg's deprecation in favour of @cap-js/postgres.Database connectors
Presenting sap-cap-sdm-plugin: Effortless Integration Between CAP (Node.js) and DMSpublishedThe author's introduction of the plugin, and unusually clear about its lineage: the idea came from a post about cds.plugins whose example did nothing more than append an emoji to annotated properties, and the groundwork was an earlier library, sap-cloud-cmis-client, that this builds on. Worth reading for how a plugin gets conceived as much as for what it does with Document Management Service.Attachments
Quick tip: event/task scheduling in CAP Node.js (in alpha state)publishedA note on something spotted in capire's May 2025 release notes rather than a technique: CAP Node.js is to support scheduling events — actions and functions included — with callbacks, currently alpha and explicitly subject to change. Useful as a dated marker of the core moving into ground the community has been covering, and the alpha caveat is the point rather than a footnote.Async processing
repository-templateadded to the atlasRepository template with LICENSE, REUSE and compliance files
Run and Deploy CAP with PostgreSQL on SAP BTP Cloud Foundry (Node.js)publishedThe deployment half of the pair, two weeks after the local one, and superseded the same way: it carries the same banner directing readers to @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap and the official documentation. The two together are the community PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. path as it stood before the core absorbed it.Database connectors
Run and Deploy SAP CAP (Java) with PostgreSQL using Official Database Adapter @cap-js/postgrespublishedThe post that records a handover. The author's earlier writing relied on the community projects cds-pgcds-pgA PostgreSQL adapter for SAP CDS, built by the SAP Mentors community, which gave CAP a Postgres persistence option years before @cap-js/postgres shipped.independent, cap and cds-dbmcds-dbmA delta deployment and migration tool for CAP on PostgreSQL that diffs the live schema against a reference schema with Liquibase and applies the change, never dropping tables by default.independent, cap; this one states that both were deprecated in favour of the official PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. support arriving with @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap 7, and rewrites the path around @cap-js/postgres. For CAP Java it takes a different route to the initial schema.sql than the Node.js case, and it is candid that automatic schema deployment is convenient but not always what you want. Dated evidence for why two artifacts here went quiet.Database connectors
SAP CAP - Optimize your build MTA projects with several ui appspublishedWhat the Business Application Studio wizard writes into mta.yaml stops scaling somewhere past a couple of dozen UI applications, because every one of them gets its own build step. The post is about the build phase specifically, and reads as a report from a project large enough to have hit the wall rather than as a general optimisation.Deployment
SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)publishedA working editor setup for CAP with TypeScript, listed extension by extension across the Node.js and UI5 halves. The kind of post that ages by attrition rather than by being wrong — the reasoning about what an editor needs to know about a CDS project outlives any particular extension in the list.Editor support
SAP CAP: Controller - Service - Repository architecturepublishedThe pattern the author's two libraries exist to support, set out as a whole rather than one package at a time: a controller layer receiving the request, a service layer holding business logic, and a repository layer owning persistence — the separation CAP leaves to the developer once a model has produced an OData service. Read after the dispatcher and repository posts, or before them as the argument for both.TypeScript patterns
SAP Cloud Application Programming Model (CAP) - start herepublishedThe orientation post for CAP, published in 2018 and revised in 2020 and again in 2021 with help credited to Iwona HahnIwona Hahncontributed to 7 entries — which is the unusual part: a starting-point index that was maintained rather than left to rot, and says so at the top. Read as the shape of what a newcomer was pointed at, and as a marker of how much of that changed inside three years.Configuration
SAP Fiori Tools Update – First Release of the SAP Fiori MCP Server for Agentic AIpublishedThe release announcement for the Fiori MCP server, placed as the step after the Project Accelerator: an assistant can create and edit Fiori applications directly rather than describing what a developer should do. The vendor's own framing, so read it beside the independent evaluation of the same servers rather than instead of it.Agent access to your code
SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAPpublishedGetting UI5 Tooling and the CAP server onto one port under one command, using cds-plugin-ui5cds-plugin-ui5A CDS plugin that runs the UI5 CLI express middlewares inside the CDS server, so a UI5 CLI project is served from the same port as the services, mounted under a path from its ui5.yaml.community org, cap — which the post presents as the thing that removes the proxy and destination configuration a full-stack dev setup otherwise needs. Part one of a journey that goes on to put the approuter in front at development time.Integrated frontend dev server
sap-cap-debuggeradded to the atlasAttaches a debugger to a CAP app running on Cloud FoundryDebugging
sapbrunoadded to the atlasTerminal UI running Bruno collections against a CAP serviceTesting
Securing a CAP Node.js App with SAP AMS on BTP Cloud FoundrypublishedThe end-to-end version: a CAP Node.js project from cds init, role-based access through the Authorization Management Service and Identity Authentication Service, and an MTA deployment to Cloud Foundry. The prerequisite list is the useful part to read first — HANA Cloud, an IAS tenant and an AMS entitlement — because it says plainly what this path costs before you are three steps into it.Authorization
Set up VS Code on Chrome OS for local Application Programming Model developmentpublishedA CAP development environment on a Chromebook, written from preference rather than constraint — the author sets out why Chrome OS is his primary machine before showing the setup. Carries its own updates section noting what has changed since, which for a 2018 post about an operating system is most of it. The interest now is that local CAP development was portable this early.Local development
Speed up deployment for CAP using TurborepopublishedImpatience as a method: minutes of waiting on MBT and cf deploy sent the author looking for alternatives. It is fair to MBT first — a wrapper doing the whole deployment in one go, creating services and applications along the way — before showing what Turborepo changes about the build half. The trade it makes is explicit rather than assumed.Deployment
Teaching AI Agents Best Practices: A Skills Workspace for CAP DevelopmentpublishedStates the gap this capability exists for more precisely than most: an agent already knows CAP well enough to generate models, handlers and deployments, but knowing a framework and following its current practice reliably are different things, because a model defaults to whatever it saw most of during training — which may be outdated, subtly wrong, or simply not how a given team works. Skills are offered as the closing mechanism, and the post describes a workspace pattern rather than a single file, with the architecture claimed to be framework-agnostic.Agent guidance
The Complete Guide to Calling Actions in UI5 with Custom CodepublishedWritten because the documentation is thin and the samples sparse, and openly as a note to the author's future self — hand-coding an action call has become a rare task for anyone mostly working in Fiori elements, which is exactly why it is hard to look up when it comes round. Comes with a CAP sample project, so the service half is there too.OData
The Easiest Way to Expose a CAP Node.js Project as an MCP ServerpublishedFrom cds init to a running MCP server in a handful of steps, ending at the MCP Inspector so the result is something you can see rather than something you have to trust. The claim it makes for the plugin is the absence of work: no REST wiring by hand, the CAP application exposed as a server because the package is installed. A walkthrough rather than an argument — the reasoning about what should be exposed lives elsewhere.Serve your application over MCP
The fastest way to a deployable CAP app on SAP BTP Cloud FoundrypublishedThe gap between an application that runs locally and one that runs deployed — binding, bundling, the database connection, authorization — treated as the problem rather than as setup. Since updated for cds up, which is the shortest answer the core now offers, and the post carries that update inline rather than leaving the original standing.Deployment
The Full Picture: Federating, Replicating, and Caching Remote Data in CAP — Part 1publishedPart one of two, and the concepts half: terminology, what CAP already does, and what a project still has to write. It fixes a vocabulary — federation is the umbrella for making remote data part of your model, delegation forwards each request to the remote at query time, replication is a scheduled copy into the local database, and caching is an option on either rather than a third strategy — which collides with CAP's own, since what this series calls replication is what the CAP-level Data Federation guide calls federation. From the ground the Service Integration guide covers, it lists what is left to hand-write: cross-service $expand, navigation filters across the boundary, write forwarding, timeouts and retries, then scheduling, delta detection, backoff, a guard for two app instances sharing one schedule, idempotent writes, and knowing whether the last run succeeded. That list is why the edge to cds-data-federationcds-data-federationA data federation plugin for SAP CAP applications that declares delegation, caching and replication on a consumption view through CDS annotations, instead of hand-written handlers.independent, cap holds: the second half maps it onto @federation.delegate and @federation.replicate and says which package carries which part — annotations in cds-data-federationcds-data-federationA data federation plugin for SAP CAP applications that declares delegation, caching and replication on a consumption view through CDS annotations, instead of hand-written handlers.independent, cap, the scheduled engine in cds-data-pipelinecds-data-pipelineDeclarative scheduled pipelines between CAP services — each one a linear READ, MAP, WRITE from a single source to a single target, with tracking, retry, delta support and a management API.independent, cap, response caching through cds-cachingcds-cachingA caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support.independent, cap — so it is the design rationale for the annotations, not the API reference. The gap list and the plugins answering it come from the same person who maintains them; cap-replication-democap-replication-demoReplication between systems with CAP.independent, cap and SAP's xtravels sample are cited as the hand-written form of the same work. Part 2 is announced as a walkthrough of a demo application and is not covered here.Data federation
The Future of Continuous Delivery for SAP Cloud SDK and SAP Cloud Application Programming ModelpublishedA direction note on the Continuous Delivery Pipeline that Cloud SDK and CAP projects were expected to start from, written by someone on the inside as its future was being decided. Dated 2020, so read it for what was being weighed rather than for what to run — and as one of the few places the reasoning behind a tooling direction was written down at all.Deployment
Tips for running CAP nodejs in SAP BTPpublishedDeliberately not a summary of capire: the author says up front that nothing here repeats the documented best practices, and the subject is configuration for running cloud-natively rather than correctly. Examples target Cloud Foundry, with the claim that they hold for Kyma too.Deployment
Trigger an SAP Build Process Automation Workflow from CAP Using the @cap-js/process PluginpublishedA step-by-step setup for starting a Build Process Automation workflow from CAP through the plugin rather than through direct REST calls, which is how it had to be done before. Covers both ends: deploying the process in the SBPA designer and finding the workflow instance id it produces, then wiring the CAP side to it. Written against the first beta, released 26 April 2026, so the shape is settled but the surface may not be.Workflow integration
UI5 AI Features library is now an npm PackagepublishedThe release note for a demo turning into a dependency, and it is explicit about why that matters: the earlier version worked, but using it meant cloning the repo and copying both halves, which stops working the moment one of them changes. The post walks through what shipping the CAP plugin and the be.wl.ai control library in one npm version buys — a client and server contract that cannot drift — then lists the eleven controls by group, shows the two-line configuration that activates each half, and notes that this version is actually deployed on BTP behind both a standalone approuter and Work Zone. It closes on the demo repository, written with no library source in it as the test that the package stands alone.LLM integration
ui5-ai-features-demoadded to the atlasProduct-review screen consuming ui5-cap-ai-features on CAP
ui5-cap-ai-featuresadded to the atlasCDS plugin and UI5 controls for AI text features via SAP AI CoreLLM integration
urp-vocabadded to the atlasCDS vocabulary for User-Rendered Patterns display annotationsFiori annotations
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2publishedThe theory half of a pair introducing cds-kafkacds-kafkaA Kafka adapter for CAP that registers Kafka topics as a CDS messaging service over KafkaJS, so emit and on work unchanged, with per-message keys, partitions and topics set through headers.independent, cap: what the plugin is for and what it can do, with event-driven architecture set up as the reason rather than assumed. Nothing is deployed here — the running application is part two — so this is the post to read if the question is whether Kafka belongs in the picture at all rather than how to wire it.Event Mesh
Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2publishedThe practical half: concrete use cases for cds-kafkacds-kafkaA Kafka adapter for CAP that registers Kafka topics as a CDS messaging service over KafkaJS, so emit and on work unchanged, with per-message keys, partitions and topics set through headers.independent, cap, running locally and on BTP. It opens by placing the plugin among SAP's own event-driven offerings rather than beside them, which is the part that decides whether you reach for this or for Event MeshEvent MeshManaged queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to.sap official, btp — a comparison a plugin's own README rarely makes about itself.Event Mesh
Visualizing Your SAP Bill of Materials Using CAP, Fiori elements, and the UI5 Network GraphpublishedA parent-child structure rendered as a network graph inside a Fiori Elements application, with the CAP service modelling the bill of materials behind it. Useful as one of the few worked examples of putting a non-standard visualisation into an annotation-driven floorplan rather than building a freestyle app around it.Fiori annotations
Sun 6
Boosting performance in SAP Cloud Application Programming Model (CAP) applications with cds-cachingpublishedThe plugin's introduction post: what cds-cachingcds-cachingA caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support.independent, cap is for, how it is put together and the cases it was written against. The edge holds because the plugin's README still points here as the piece to read first, so this is where a reader arriving at the plugin is sent. It predates version 1.0 and the API has moved since: the read-through calls it shows as cache.run() and cache.send() are the ones the README now lists as deprecated in favour of cache.rt.*, which returns the cache key and hit/miss metadata alongside the result, and 1.0 made user, tenant and locale awareness opt-in under keyManagement rather than folding them into request-based keys by default. Metrics and monitoring, the OData API and full TypeScript definitions arrived with 1.0 and are described in CAP just got faster: What's new in cds-caching 1.0 instead. The reasoning about when a CAP service wants a cache still reads true; the call sites need translating.Caching
cds-mysqladded to the atlasMySQL and MariaDB database adapter for CAPDatabase connectors
DevOps with SAP BTPpublishedHow SAP frames a delivery pipeline for applications on BTP Cloud Foundry: continuous integration through the SAP Continuous Integration and Delivery service and its pipeline templates for CAP and Fiori, transport and change management across environments, and a section on reasonable alternatives for teams with existing CI infrastructure. Culture first, tools second, and explicit that the setup differs on other BTP environments.Deployment
Generative AI on SAP BTPpublishedThe reference shape for a generative AI application on BTP: a CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap backend, SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp holding data and embeddings for similarity search through its vector engine, and the Generative AI Hub in SAP AI Core as the single access point to foundation models. It shows retrieval-augmented generation on that stack and names the CAP plugins and SDKs that connect the pieces, for both Cloud Foundry and Kyma.LLM integration
Show 1 more
Multitenant SaaS Application using CAPpublishedSAP's reference architecture for a multitenant SaaS application on BTP built with CAP@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, cap: one deployment serving many tenants with logically separated data, the subscription and onboarding flow, and the BTP services the design leans on. Written for partners and line-of-business teams building on BTP, and it is SAP's own side of the shape multitenancyMultitenancyServing many tenants from one deployment — onboarding, tenant-isolated data, per-tenant schema deployment and the operational tooling around it. It is decided once, before anything is built, and narrows the artifacts in almost every capability downstream: most sharply in caching and anything else holding state in process.SAP and community, narrow by design takes on BTP.Multitenancy
Sat 5
Building Custom Authentication in SAP CAPpublishedAuthentication
Wed 2
@dxfrontier/cds-ts-dispatcheradded to the atlasDecorator-driven handler registration for CAP in TypeScriptTypeScript patterns
@dxfrontier/cds-ts-repositoryadded to the atlasTyped BaseRepository over CAP entitiesTypeScript patterns
@jerome-benoit/sap-ai-provideradded to the atlasVercel AI SDK provider for SAP AI CoreLLM integration
@sap-ai-sdk/ai-apiadded to the atlasAI Core control plane API surface of SAP's AI SDKLLM integration
Show 15 more
@sap-ai-sdk/coreadded to the atlasShared internals of SAP's AI SDKLLM integration
@sap-ai-sdk/foundation-modelsadded to the atlasClient for foundation models via SAP AI Core and Generative AI HubLLM integration
@sap-ai-sdk/orchestrationadded to the atlasOrchestration Service client for templating, grounding and maskingLLM integration
@sap-ai-sdk/prompt-registryadded to the atlasClient for prompts kept in SAP's prompt registryLLM integration
@sap-ux/cds-annotation-parseradded to the atlasParser for annotations in CDS sourceFiori annotations
@sap-ux/cds-odata-annotation-converteradded to the atlasConverter from CDS annotations to their OData formFiori annotations
@sap-ux/fiori-annotation-apiadded to the atlasProgrammatic API for reading and writing project annotationsFiori annotations
@sap/cds-oysteradded to the atlasWebAssembly sandbox for tenant-specific extension code in CAPMultitenancy
@sap/generator-fioriadded to the atlasEntry point for generating a Fiori application from a templateFiori annotations
@saptarishi/cds-plugin-vector-hanaadded to the atlasVector storage and similarity search on SAP HANA from CAPRetrieval-augmented generation
cap-llm-pluginadded to the atlasGenerative AI in CAP with fields anonymised through SAP HANALLM integration
cds-incidents-sampleadded to the atlascds add plugin adding the incidents-app model to a projectReference apps
cds-plugin-typescriptadded to the atlasCDS build task compiling TypeScript sources during cds buildTypeScript patterns
cds-routing-handlersadded to the atlasDecorator-based routing of CAP service handlers in TypeScriptTypeScript patterns
cds2typesadded to the atlasCLI generating TypeScript interfaces from a CDS modelTypeScript patterns
Tue 1
CAP Guardianadded to the atlasCAP review skill for coding agents with gates and prohibitionsAgent guidance
Mon 31
@cap-js-community/business-metricsadded to the atlasBusiness-level metrics from CDS annotations via @cap-js/telemetryTelemetry
@cap-js-community/commonadded to the atlasSix CAP features in one package, from replication cache to rate limitsCaching
@cap-js-community/event-queueadded to the atlasTransactional processing of asynchronous and periodic CAP eventsAsync processing
@cap-js-community/feature-toggle-libraryadded to the atlasLive-updatable feature toggles for CAP, backed by RedisFeature toggles
Show 63 more
@cap-js-community/mtx-tooladded to the atlasCLI for operating tenants of multitenant CAP applicationsMultitenancy
@cap-js-community/odata-v2-adapteradded to the atlasExposes a CAP service as OData V2OData
@cap-js-community/sap-afc-sdkadded to the atlasSDK for SAP Advanced Financial Closing scheduling providers on CDSAsync processing
@cap-js/advanced-event-meshadded to the atlasCAP integration with SAP Integration Suite advanced event meshEvent Mesh
@cap-js/aiadded to the atlasValue-help recommendations and SAP AI Core as a CAP serviceLLM integration
@cap-js/asyncapiadded to the atlasExports AsyncAPI documents for a CAP service's eventsMetadata publishing
@cap-js/cap-operator-pluginadded to the atlasGenerates Helm charts for the CAP Operator on KubernetesDeployment
@cap-js/cds-typeradded to the atlasGenerates TypeScript types from a CDS modelTyping
@cap-js/cds-typesadded to the atlasType definitions for the CAP Node.js SDKTyping
@cap-js/change-trackingadded to the atlasChange history for annotated CAP entitiesChange tracking
@cap-js/consoleadded to the atlasConnects a running CAP application to the CAP consoleDebugging
@cap-js/data-inspectoradded to the atlasInspects database entities and contents at CAP service levelDebugging
@cap-js/event-brokeradded to the atlasConsumes events from SAP Cloud Application Event Hub in CAPEvent Mesh
@cap-js/n8nadded to the atlasTriggers n8n workflows from a CAP applicationWorkflow integration
@cap-js/ordadded to the atlasGenerates Open Resource Discovery documents from a CAP modelMetadata publishing
@cap-js/printadded to the atlasPrints documents held in CAP entities through SAP Print serviceDocument output
@cap-js/telemetryadded to the atlasOpenTelemetry instrumentation for CAP servicesTelemetry
@salvatorela/cap-plugin-adobe-formsadded to the atlasCAP plugin wrapping the SAP Forms service by Adobe on BTPDocument output
@sap/appfront-cliadded to the atlasCLI for the SAP BTP Application Frontend serviceFrontend boundary
@sap/cdsadded to the atlasCAP Node.js runtimeConfiguration
@sap/cds-compileradded to the atlasCompiler from CDS models to CSN, EDMX and database schemasData modelling
@sap/cds-dkadded to the atlasCommand line client and development toolkit for CAPGenerators
@sap/cds-fioriadded to the atlasFiori draft handling and UI-facing behaviour for CAP servicesDraft handling
@sap/cds-lspadded to the atlasLanguage server for CDSEditor support
@sap/cds-mtxsadded to the atlasMultitenancy, tenant provisioning and extensibility for CAPMultitenancy
@sap/cds-rfcadded to the atlasCalls to ABAP function modules over RFC from a CAP serviceRFC connectivity
@sap/vscode-cdsadded to the atlasCDS language support for VS Code and Business Application StudioEditor support
@sap/xssecadded to the atlasToken validation and security context for XSUAA and IASAuthentication
bookshop-amsadded to the atlasCAP bookshop wired to the Authorization Management Service
bookshop-demoadded to the atlasSimple CDS bookshop model used across CAP explanations
btpvulnerabilityreportadded to the atlasCAP and Fiori app showing BTP Application Vulnerability Report data
cap-agent-ui5-webui-sampleadded to the atlasWorked example of the cap-agent-ui5-webui plugin
cap-azure-ad-b2cadded to the atlasAuthenticating a CAP service against Azure AD B2C
cap-collaborative-draftadded to the atlasCollaborative draft support for CAP Node.js servicesDraft handling
cap-mcp-pluginadded to the atlasMCP server generated from a CDS model, forked from @gavdi/cap-mcpServe your application over MCP
cap-n8nadded to the atlasIntegration of CAP with n8n workflows and triggersWorkflow integration
cap-replication-demoadded to the atlasReplication between systems with CAP
cap-rfcadded to the atlasCalling ABAP function modules over RFC from a CAP service
cap-sflight-hierarchyadded to the atlassflight example extended with hierarchy support
cap-snowflakeadded to the atlasCAP database adapter for Snowflake with OData V4 supportDatabase connectors
cap-typescriptadded to the atlasMinimal CAP project in TypeScript
cap-ui-telemetryadded to the atlasUI5 frontend performance and error capture for CAPTelemetry
cap-websocketsadded to the atlasWebSocket push from a CAP service
cds-cachingadded to the atlasCAP caching plugin for query results and remote service responsesCaching
cds-dbmadded to the atlasDelta deployment and migrations for CAP database adaptersSchema evolution
cds-eclipse-pluginadded to the atlasEclipse plugin for the CDS languageEditor support
cds-entra-idadded to the atlasMaps Microsoft Entra ID groups and app roles onto cds.User rolesAuthorization
cds-intellijadded to the atlasSAP CDS language support for IntelliJ IDEAEditor support
cds-kafkaadded to the atlasKafka adapter exposing topics as a CDS messaging serviceEvent Mesh
cds-pgadded to the atlasPostgreSQL adapter for SAP CDS from the SAP Mentors communityDatabase connectors
cds-plugin-handlersadded to the atlasOne handler file per entity in CAP servicesTypeScript patterns
cds-plugin-ui5added to the atlasUI5 CLI middlewares running inside the CDS serverIntegrated frontend dev server
cds-textmate-grammaradded to the atlasTextMate grammar for the CDS languageEditor support
cf-setupadded to the atlasGitHub Action setting up the Cloud Foundry CLICI/CD pipelines
mtxs-reviewsadded to the atlasMultitenant CAP application using cds-mtxs
open-rfcadded to the atlasSDK-free TypeScript client for SAP synchronous RFC on Node.jsRFC connectivity
pg-beershopadded to the atlasCAP beershop on PostgreSQL, predating an official adapter
sap-cds-erdadded to the atlasAWK script sketching an ER diagram from .cds filesModel visualisation
SAP-NPM-API-collectionadded to the atlasAPI documentation extracted from SAP-published npm packages
ui5-cap-serverside-rendering-pluginadded to the atlasCAP plugin rendering UI5 views with entity data on the serverServer-side rendering
zed-cds-extensionadded to the atlasCDS language support for the Zed editorEditor support
cap-js-communityfirst recorded in the atlas
Mike Zaschkafirst recorded in the atlas
Sun 30
@cap-js-community/websocketadded to the atlasWebSocket and Socket.IO adapter for CDS servicesWebSocket
@cap-js/agentsadded to the atlasCDS plugin for building agents inside a CAP serviceAgent tooling
@cap-js/attachmentsadded to the atlasCAP Node.js attachments with database, S3, Azure or GCP storageAttachments
@cap-js/audit-loggingadded to the atlasCAP integration with the SAP Audit Log serviceLogging
Show 28 more
@cap-js/cds-dbsadded to the atlasMonorepo of CAP's SQL database services
@cap-js/data-privacyadded to the atlasCAP integration with SAP Data Privacy IntegrationData privacy
@cap-js/db-serviceadded to the atlasBase service shared by CAP's SQLite, PostgreSQL and HANA servicesDatabase connectors
@cap-js/graphqladded to the atlasGraphQL protocol adapter generated from the CDS modelGraphQL
@cap-js/hanaadded to the atlasSAP HANA database service for CAPDatabase connectors
@cap-js/mcpadded to the atlasExposes CAP services as MCP servers for AI agentsServe your application over MCP
@cap-js/notificationsadded to the atlasBusiness notifications from CAP to SAP Build WorkZoneNotifications
@cap-js/openapiadded to the atlasGenerates OpenAPI documents from a CDS serviceOpenAPI
@cap-js/postgresadded to the atlasPostgreSQL database service for CAPDatabase connectors
@cap-js/sdmadded to the atlasCAP attachments stored in an SAP Document Management repositoryAttachments
@cap-js/sqliteadded to the atlasSQLite database service for CAP, in memory during developmentDatabase connectors
@cap-rp/notificationsadded to the atlasRenamed copy of @cap-js/notifications under another scopeNotifications
@cds-pgroll/postgresadded to the atlasCLI for DROP and RENAME schema changes beside @cap-js/postgresDatabase connectors
@gavdi/cap-mcpadded to the atlasGenerates an MCP server from annotated CDS entities and actionsServe your application over MCP
@sap-ux/fe-mockserver-plugin-cdsadded to the atlasFiori Elements mock server plugin taking a CDS file as metadataTesting
@sap-ux/fiori-mcp-serveradded to the atlasMCP server for creating and editing Fiori applicationsAgent access to your code
@tklein1801/cap-js-attachmentsadded to the atlasCAP Node.js attachments plugin with Object Store and malware scanningAttachments
cap-agent-ui5-webuiadded to the atlasUI5 web interface for an agent built in a CAP serviceAgent tooling
cap-attachments-plusadded to the atlasCAP Node.js attachments plugin with database or cloud storageAttachments
cap-js-mockdataadded to the atlasCSV seed data generated from @Mockdata annotations with FakerSeed data
cap-postgres-btp-connectivityadded to the atlasTunnels CAP Node.js to a private PostgreSQL via Cloud ConnectorDatabase connectors
capforgeadded to the atlasMCP server scaffolding CAP and CDS checked by cds compileAgent access to your code
cds-cucumberadded to the atlasGherkin scenarios driving a running CAP serviceTesting
cds-data-federationadded to the atlasData federation for CAP via delegation, caching and replicationData federation
cds-federation-synonymsadded to the atlasCAP-to-CAP data federation over SAP HANA synonymsData federation
cds-launchpad-pluginadded to the atlasSandbox launchpad for all SAPUI5 apps in a CAP workspaceTesting
cds-swagger-ui-expressadded to the atlasSwagger UI for a CAP service's OpenAPI definitionOpenAPI
sap-cap-sdm-pluginadded to the atlasCAP Node.js plugin mapping CDS entities to SAP Document ManagementAttachments
Tue 25
cap-companionadded to the atlasPlayback-only SAP Companion (Help4) workarea served from CAPIn-app guidance