Everything in CAP / Node.js
349 of 904
Domain
Signals
Content: 3
Node.js: Answers in Node.js
More
Group by: Capability
EntryBySignalsLast activity
Error handlingSAP and community
Beginners Guide to Advanced Event MeshBeginners Guide to Advanced Event MeshA scenario-by-scenario walkthrough of Advanced Event Mesh, run through Cloud Integration iFlows: publishing and consuming queue messages, dead message queue setup with retry counts and acknowledgment modes, direct messages, durable topic endpoints and selectors, time-to-live, REST Delivery Points, replay by replication group message ID, parallel consumers with partition keys, and the request-reply pattern. Each scenario is built and verified step by step against a Solace trial account standing in for AEM.PriyankaChak, published 2025-07-24
Effective Axios Error Logging for Robust SAP IntegrationsEffective Axios Error Logging for Robust SAP IntegrationsTwo 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.Sahil2508, published 2025-08-31
GraphQLSAP only
September 15th: What's New on developers.sap.comSeptember 15th: What's New on developers.sap.comThomas Jung walks through a week of changes aimed at agentic consumption of developers.sap.com itself: the hosted MCP server gains a published .well-known/mcp.json manifest, curated tools (search_tutorials, get_tutorial_step with a Markdown format option, search_channels), and a listing in the ORD catalog beside its OData, REST and GraphQL APIs. It also documents the site's existing A2A endpoint for the first time and ships a way to turn a tutorial into an installable, cryptographically signed AI Skill with a generated verification script, both concrete instances of agent tooling; separately, five broken GraphQL example queries were fixed and the full SDL is now served, and new sitemap.md, llms.txt fixes and ORD entries round out the site's own metadata publishing.published 2026-09-15
Metadata publishingSAP and community
How to rename an OData V4 service?How to rename an OData V4 service?Renaming an OData V4 service binding changes its Service Alias and the resulting service URL, breaking any app already deployed against the old one — shown on a /DMO/TRAVEL-based example in the SAP BTP ABAP environment by unpublishing, renaming and republishing the binding, then reading the new URL back from the OData V4 service catalog's ServiceGroups entry. It weighs that against two alternatives: adding a second service definition and publishing it as a new service version under the same binding, or creating an entirely new service definition and binding, which keeps the original URL live during the cutover.published 2026-07-04
SAP ORD Made Simple: What It Does and Why It’s Crucial in your SAP Landscape + Purpose and ValueSAP ORD Made Simple: What It Does and Why It’s Crucial in your SAP Landscape + Purpose and ValueExplains Open Resource Discovery (ORD), the metadata protocol SAP services use to self-describe their APIs, events and entity types for discovery across SAP Integration Suite, SAP Business Data Cloud and SAP Datasphere. Points to SAP's @cap-js/ord as the reference implementation that lets CAP applications publish ORD-compliant metadata, the piece metadata publishing marks as beyond the EDMX and CSN the core emits on its own. Shows how to confirm ORD support for a published API by checking its ORD ID on the SAP Business Accelerator Hub.Yogananda, published 2026-03-01
September 15th: What's New on developers.sap.comSeptember 15th: What's New on developers.sap.comThomas Jung walks through a week of changes aimed at agentic consumption of developers.sap.com itself: the hosted MCP server gains a published .well-known/mcp.json manifest, curated tools (search_tutorials, get_tutorial_step with a Markdown format option, search_channels), and a listing in the ORD catalog beside its OData, REST and GraphQL APIs. It also documents the site's existing A2A endpoint for the first time and ships a way to turn a tutorial into an installable, cryptographically signed AI Skill with a generated verification script, both concrete instances of agent tooling; separately, five broken GraphQL example queries were fixed and the full SDL is now served, and new sitemap.md, llms.txt fixes and ORD entries round out the site's own metadata publishing.published 2026-09-15
Where ORD Is Used in SAP Datasphere, SAP Business Data Cloud & SAP DatabricksWhere ORD Is Used in SAP Datasphere, SAP Business Data Cloud & SAP DatabricksOpen Resource Discovery (ORD) is the metadata standard SAP's Business Accelerator Hub attaches to APIs, and the one SAP Business Data Cloud requires of any data product — including ones Databricks publishes — before SAP Datasphere can discover it. Data products moving from Databricks into Business Data Cloud carry both ORD and CSN metadata side by side.Yogananda, published 2026-03-01
ODataSAP and community
Adding Immutable Blockchain Proofs to SAP With CAP - Cardano and OData V4Adding Immutable Blockchain Proofs to SAP With CAP - Cardano and OData V4The write-up behind ODATANO, by its author: how a public blockchain gets reachable from CAP as an ordinary OData V4 service rather than through a bespoke client. The premise it starts from is worth the read on its own — SAP systems are trusted but mutable, which is what an immutable anchor is for — and Cardano is chosen for peer-reviewed research and formal methods rather than for popularity. Written as an experiment with feedback invited, not as a recommendation.maxalexweber, published 2026-05-15
AI-assisted full stack development using model context protocol serversAI-assisted full stack development using model context protocol serversMCP servers in Visual Studio Code used to configure, query and change a full-stack application built with CAP, CDS and OData: the agent access to your code concern, a coding assistant reading and changing the project it works in. The abstract names no server, so neither @cap-js/mcp-server nor any other is attached, and it does not say which changes are made. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Sergio Guerrero, written here from SAP's abstract; the recording is not yet published.
Consume Remote Services in a Full-Stack CAP ApplicationConsume Remote Services in a Full-Stack CAP ApplicationExtending 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.SAP
Create CDS Views and expose through OData service in CAPMCreate CDS Views and expose through OData service in CAPMViews 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.VenkateshMundru, published 2025-08-11
Extend SAP SuccessFactors on SAP BTP with the SAP Cloud Application Programming ModelExtend SAP SuccessFactors on SAP BTP with the SAP Cloud Application Programming ModelTwelve 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.SAP
How to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata PollHow to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata PollWalks through building a Cloud Integration flow that polls the S/4HANA Business Partner OData API on a timer, splits the response into individual records, and publishes each as an event to Advanced Event Mesh through its adapter, with the topic set dynamically from a grouping property. Selects fields and expands associations with $select/$expand against an EDMX from the API Business Hub, and works around the OData V2 adapter's lack of JSON support by falling back to the HTTP adapter with an XML-to-JSON converter. Flags the trade-off: the pattern needs no backend change beyond activating the API, but the polled payload has to stay aligned with whatever event format the ERP pushes on change.AlexPfeil, published 2025-04-04
The Complete Guide to Calling Actions in UI5 with Custom CodeThe Complete Guide to Calling Actions in UI5 with Custom CodeWritten 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.published 2025-07-21
UI for the BTP Application Vulnerability ReportUI for the BTP Application Vulnerability ReportAn open-source SAPUI5 front end for SAP's Application Vulnerability Report API, backed by a CAP Node.js service that projects the external findings as an OData V4 entity and forwards each query with api.run(req.query). The CAP service reaches that API through a Destination service instance configured with OAuth2ClientCredentials authentication from a service key, so the address and credentials stay out of the application code.published 2026-02-10
OpenAPISAP and community
SAP Job Scheduling Service: 🔧 Generate Your Own Client Library from OpenAPI SpecSAP Job Scheduling Service: 🔧 Generate Your Own Client Library from OpenAPI SpecA tutorial on generating a type-safe client library for the SAP Job Scheduling service's REST API from its OpenAPI specification, using the OpenAPI Generator CLI to target Node.js, TypeScript, Java, Python, Go or C#. It walks through OAuth 2.0 client-credentials authentication and the generated client's Jobs API, listing, creating and reading jobs with their cron schedules, and lists what the service's error statuses (400, 401, 404, 409, 429, 503) mean to a caller. It states that the official @sap/jobs-client will be deprecated and tells readers to use a generated client for now.DenisDuev, published 2026-05-04
Serve your application over MCPSAP and community
Add MCP capabilities to a CAP serviceAdd MCP capabilities to a CAP serviceA fifteen-minute walkthrough of turning a plain CAP service into an MCP server: annotate the service with @mcp, install @cap-js/mcp, and it is served alongside OData at /mcp/<path>. The part worth reading it for is what happens next — cds watch writes the endpoint into the local agent's own configuration file, so OpenCode or Claude Code can call the service without anyone editing JSON by hand. It is built on the tiny-sample facet, so there is nothing to prepare, and it shows the protocol traffic rather than only the result. Written while the adapter was in beta, and it says so.published 2026-08-13
Agentic AI on BTP: a Multi‑Agent App with Pydantic AIAgentic AI on BTP: a Multi‑Agent App with Pydantic AISplits a single CAP/TypeScript agent that had grown to juggle five BTP MCP servers behind one bloated tool list into btp-multiagent-app, a Python and Pydantic AI rewrite where the Cloud Foundry and BTP Core MCP servers each get a dedicated specialist agent, with an audit log specialist scaffolded but left disabled, behind an orchestrator whose only tools are delegation calls to those specialists, which is the agent-tooling pattern the piece works through. Each specialist authenticates to its MCP server over Streamable HTTP with OAuth 2.1, and a shared module centralises the SAP AI Core GenAI Hub model setup behind two credential layouts, one for local runs and one for the Cloud Foundry service binding, the LLM integration side of the rewrite. Tool lists per agent drop from well over a hundred to a dozen or two, and routing failures become separable from tool-misuse failures by reading the trace.published 2026-05-03
Agentic AI on BTP: a Single Agent with LangGraphAgentic AI on BTP: a Single Agent with LangGraphA CAP TypeScript agent puts a LangGraph StateGraph in front of AzureOpenAiChatClient from @sap-ai-sdk/langchain, reaching SAP AI Core's Generative AI Hub, and lets its tool-calling loop draw on five deployed MCP servers — OData MCP Proxy, CI MCP Server, AI Core MCP Server, BTP MCP Server and BTP CF MCP Server — through @langchain/mcp-adapters' MultiServerMCPClient. Because agent, servers and APIs share one XSUAA tenant, the chat service forwards the signed-in user's own JWT instead of a service account, so each downstream server enforces that user's own authorizations. Past roughly a hundred combined tools the single prompt slows down and stops separating concerns, which is why the author's next post splits it into one specialist agent per MCP server behind an orchestrator.published 2026-05-03
Agentic CAP: Build MCP servers and enterprise AI agentsAgentic CAP: Build MCP servers and enterprise AI agentsCAP applications become AI agents over the Model Context Protocol and the Agent2Agent protocol, which is the serve your application over MCP concern, and SAP AI Core is the LLM integration through which AI is embedded in a CAP app, with recommendations from the SAP-RPT-1 model as the abstract's example. The abstract names the two protocols and the one model and does not say which packages carry them. A two-hour TechEd 2026 session in a hands-on room (Tuesday 27 October, Berlin), presented by Daniel Hutzel, Daniel Schlachter, Marc Huber and Sami Lechner, written here from SAP's abstract; the recording is not yet published.
AI-native North Star architecture — Platform LayerAI-native North Star architecture — Platform LayerThe platform layer of SAP's North Star architecture, the chapter that says where agents run and what a developer builds them with. It names an AI Golden Path built on the SAP Cloud Application Programming Model, the ABAP Cloud development model with RAP and the SAP Fiori design system, and a managed agent runtime on SAP BTP that is designed to provide software development kits for building agents in any framework, an agent sandbox, container-hosted execution, a skills registry and continuous evaluations, which is the ground agent tooling covers. Agents are extended without changing their code through four patterns, the first of them tool extensibility through the Model Context Protocol, the concern MCP servers is named for; the process-layer chapter adds that a pro-code path with a standardised agent SDK and a prompt-driven path through the Joule Studio solution produce the same code artifact on the same runtime. It describes a design SAP intends rather than products that exist, and the SDK and the registry it names have no entry here yet.published 2026-05-13
AI-native North Star architecture — Platform Layer
Agent tooling changed in @cap-js/agents 0.9.1, 2026-08-14. Affects A reference.
API Composition: Seamless Enterprise Data Access for Developers and AI AgentsAPI Composition: Seamless Enterprise Data Access for Developers and AI AgentsAPI Composition (formerly Graph, a capability of API Management) curates business data graphs from existing SAP and non-SAP API providers, so a query can navigate and expand relationships across systems through one composed API rather than hand-written integration code. Palak walks through combining SAP S/4HANA warehouse-stock data with Everstream Analytics risk data into one API, then exposing that composed API as an MCP server so an AI agent calls it with the same semantic context — the scenario behind API Management's MCP servers coverage.published 2026-07-27
BTP Audit Log MCP Server: Security Monitoring with AI AssistantsBTP Audit Log MCP Server: Security Monitoring with AI AssistantsWouter Lemaire builds an MCP server over SAP BTP's Audit Log Retrieval API using odata-mcp-proxy, with a single entity set and zero custom code, so an AI assistant can answer natural-language questions like "Were there any configuration changes yesterday?" by calling AuditLogRecords_list against a BTP destination authenticated with the Audit Log service's service key. It covers the destination setup, the entity-set configuration that maps the PascalCase entity name to a lowercase auditlogrecords path, and handling the API's 500-record pagination limit.published 2026-03-13
CAP in the age of AICAP in the age of AISeven live episodes of Hands-on SAP Dev in which DJ Adams works through CAP's AI features with the people who build them, each one a screen-share against a sample project. The first three are @cap-js/mcp: the @mcp annotation on a service, the describe, query and call tools, CQL as the query format, and what authorisation takes out of the tool list. From episode three the run moves to A2A and @cap-js/agents — human approval of an action, agents.md and skills, session persistence, telemetry and sub-agents — and the last two episodes are vector embeddings in CDS, local on SQLite and native on SAP HANA Cloud.published 2026-08-07
CAP in the age of AI #1 - the MCP adapterCAP in the age of AI #1 - the MCP adapterThe episode that opens the series and the first pass over @cap-js/mcp, with four of the people building it on the call. Two of the adapter's tools are worked through: describe, the one an MCP client reaches for first to get the overview of what it may do, and query, which the panel establishes as read-only. It also writes the server entry into a local agent's own configuration file, which episode three comes back to as auto-wiring.published 2026-08-07
CAP in the age of AI #2 - more on the MCP adapterCAP in the age of AI #2 - more on the MCP adapterWhat the query tool costs in tokens, and the third tool @cap-js/mcp registers. Counted against a model running locally under llama.cpp, the same query is 26 tokens as CQL and 173 as CQN, and the tool definition sent with every system prompt drops from around 5,500 tokens to around 600 — the reason CQL became the default format. The call tool then exposes a service's unbound actions and functions, as one generic tool or, behind a flag, one tool per action with its own description and input schema; a question from the chat about extension points gets the answer that the adapter does the tools, which the panel calls a small subset of the protocol.published 2026-08-14
CAP in the age of AI #3 - from MCP to A2ACAP in the age of AI #3 - from MCP to A2AThe episode that finishes @cap-js/mcp with authorisation and then crosses to agents. @requires and @restrict are the same annotations CAP already has, and the plugin reads them to filter the tool list and the describe output per user and per request, so a model is not told about entities the caller cannot reach — where the OData metadata of the same service lists every exposed entity regardless. The second half annotates a service with @agent from @cap-js/agents, which serves it over A2A with an agent card and a chat preview, runs first against a mocked response and then against SAP AI Core bound with cds bind and a hybrid profile, and reuses the MCP adapter's tools rather than defining new ones.published 2026-08-21
CAP in the age of AI #7 - vector embeddings wrap-upCAP in the age of AI #7 - vector embeddings wrap-upThe same embeddings model taken from SQLite to SAP HANA Cloud, then handed to an agent. Locally it is @cap-js/ai that adds the vector functions SQLite lacks and downloads an all-MiniLM L6v2 ONNX model on first start; on HANA natural language processing has to be switched on, the model name is a mandatory argument, the vectors it returns are 768 dimensions, and dimensions must match on both sides of a comparison. HANA itself can be given SAP AI Core as a remote source for other embedding models, which a CDS.ql expression has to inject because the postfix notation only takes what the CDS model holds, and the hour ends with a search function over cosine similarity exposed over @cap-js/mcp, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.published 2026-10-16
CAP Node.js Expert Session #6 - The MCP AdapterCAP Node.js Expert Session #6 - The MCP AdapterDaniel Schlachter and DJ Adams add @cap-js/mcp to a bookshop service, inspect its describe, query and action tools, and query the catalogue through an AI agent. The session distinguishes this runtime adapter from the development-time MCP server and demonstrates automatic registration of the running service with a local agent. The recording describes the adapter as beta in July 2026, with read-only queries and writes through unbound actions.
CAP: The Road Ahead - Simplicity in an AI EraCAP: The Road Ahead - Simplicity in an AI EraDevtoberfest 2026 session CAP10, from the head of SAP's Cloud Application Programming Model: forty minutes of live building rather than slides, on the argument that the cheapest code in an AI project is code nobody has to generate. Claude Code builds an invoice-matching workspace from cds init onwards, and each step is one the framework answers rather than the agent: a 42-line domain model that @sap/cds serves as OData and Fiori elements with a status flow, data privacy and change-tracking annotations that produce audit log entries in the console and would reach the SAP Audit Log service once deployed, an imported S/4HANA supplier data product, and semantic matching from a local embedding model after @cap-js/ai is added. The last three steps are annotations: @mcp beside @odata turns the service into an MCP server that a second Claude session queries through @cap-js/mcp, an agent annotation adds the A2A protocol with an agent card and an audit log entry for the agent task, and a skill file gives the agent the matching policy.SAP Developers, published 2026-09-25
Examine the details of the Model Context Protocol on startupExamine the details of the Model Context Protocol on startupWhat the MCP adapter actually does when a CAP server boots, watched rather than described — the companion to the tutorial that switches it on.
Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.jsExpose S/4HANA Cloud OData API as an MCP Server via CAP Node.jsA step-by-step walkthrough that wraps SAP S/4HANA Cloud's Outbound Delivery OData v2 API in a CAP Node.js service and exposes it through @cap-js/mcp, so an MCP client can list the generated tools, query the delivery entities and call a custom createDelivery action over JSON-RPC. The remote S/4HANA connection is configured two ways in package.json: direct Basic Authentication credentials for local hybrid testing, and a named BTP destination for the app once deployed to Cloud Foundry.Jacky_Liu1, published 2026-07-29
Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.jsExpose S/4HANA Cloud OData API as an MCP Server via CAP Node.jsA CAP Node.js service imports the S/4HANA Cloud Outbound Delivery OData v2 API's EDMX metadata with cds import, proxies its reads and a custom createDelivery action against it, and annotates the service @protocol: ['odata-v4', 'mcp'] with @cap-js/mcp's per_action_tool setting on, so the custom action gets its own MCP tool rather than one generic call_action. It tests the result with raw JSON-RPC tools/list and tools/call requests before deploying to SAP BTP, Cloud Foundry Runtime.Jacky Liu, published 2026-07-29
From Dashboard to Conversational AI in Minutes: Adding MCP to an Existing CAP ApplicationFrom Dashboard to Conversational AI in Minutes: Adding MCP to an Existing CAP ApplicationA walkthrough of adding @cap-js/mcp to an existing CAP service behind the SuccessFactors Localization Dashboard: two annotations (@odata, @mcp) expose the service over MCP beside its existing OData endpoint, and doc comments added to the 18 entities and their fields are surfaced through the describe tool so a querying model gets business context instead of bare field names. During local development cds watch auto-registers the endpoint in ~/.claude.json, and the author connects the same endpoint to Joule Work Desktop as an MCP connector so users can ask coverage questions in natural language.i533678, published 2026-08-24
From SAP Sales and Service Cloud V2 APIs to AI: Building an MCP Server with CAP Node.jsFrom SAP Sales and Service Cloud V2 APIs to AI: Building an MCP Server with CAP Node.jsA step-by-step CAP Node.js walkthrough that wraps the SAP Sales Cloud V2 Case API as a remote service, then exposes the resulting service over both OData V4 and MCP through a single @protocol: ['odata-v4', 'mcp'] annotation together with @cap-js/mcp's per_action_tool setting. Each CDS action — listCases, getCaseById, createCase, patchCase — becomes its own MCP tool served at /mcp/caseservices, discoverable through tools/list and invoked from a natural-language request.pvsbprasad, published 2026-08-31
MCP Servers are the New Z-TablesMCP Servers are the New Z-TablesA single CAP service exposed as three overlapping MCP servers tools, queried by the same prompt nineteen times, returned the same tool every time — evidence, the author argues, that tool selection rests on the resemblance between a prompt and a tool's description rather than on any binding a where-used list could enumerate before retiring it. It contrasts that setup with @cap-js/mcp, which exposes a whole service as three generic tools instead of one per operation, and quotes the adapter's own beta documentation admitting no rate limiting, audit logging, input validation or approval workflow, and no use as a gateway to SAP Application APIs. From there it names four small Tool governance practices it has adopted: an owner recorded in the tool's own metadata, logging every invocation, deprecating inside the description, and exposing fewer tools.published 2026-08-21
Model Context Protocol Adapter — CAP guideModel Context Protocol Adapter — CAP guideDocuments @cap-js/mcp and com.sap.cds:cds-adapter-mcp, service annotations, generated describe/query/call tools and local client setup. The guide records Java doc-comment configuration, unbound-action-based data changes, incomplete XSUAA PKCE support and the adapter’s governance boundaries.
Natural Language Queries for SAP CAP via MCP: The LLM Translates, CDS ExecutesNatural Language Queries for SAP CAP via MCP: The LLM Translates, CDS ExecutesThe 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.Shahid, published 2026-06-25
SAP Meets the Agentic Web: CAP MCP - UI5 WebMCPSAP Meets the Agentic Web: CAP MCP - UI5 WebMCPA Devtoberfest 2026 session (CAP-42) that puts MCP and WebMCP side by side: MCP exposes a backend to an agent, WebMCP exposes the tools of a web page to whatever agent arrives at it, and only Chrome behind a flag and Cloudflare's Kite browser support the second one today. The CAP half starts with two agents scraping a Fiori elements app with Playwright and browser dev tools, then annotates the catalogue service with the MCP protocol through @cap-js/mcp, after which the agent calls the generated describe tool instead of parsing pages. The UI5 half registers a search-authors tool on the browser's model context API inside the same app, with the cross-origin isolation header the API requires, and lists it through the WebMCP Chrome extension — the agent run against it ends on an exhausted Gemini key rather than a result.published 2026-10-16
The Easiest Way to Expose a CAP Node.js Project as an MCP ServerThe Easiest Way to Expose a CAP Node.js Project as an MCP ServerFrom 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.Jacky Liu, published 2026-07-03
Third-Party MCP Server Access to SAP Solutions on BTPThird-Party MCP Server Access to SAP Solutions on BTPDescribes external MCP servers and custom servers on BTP, assigning their operators responsibility for authentication, scoped identity, API limits, logging and lifecycle. The permitted use remains conditional on the SAP API Policy, while SAP Integration Suite and Joule Studio are described as SAP-provided paths. Hosting a server on BTP does not automatically supply its governance controls.Dhawal Joshi, Harut Ter-Minasyan, Mirko Günther
UI5 MCP Server Got Extended for UI Integration Cards GenerationUI5 MCP Server Got Extended for UI Integration Cards GenerationVersion 0.2.1 of the UI5 MCP Server adds three tools for UI Integration Cards: get_integration_cards_guidelines feeds an agent current best practices and API versions, create_integration_card scaffolds a new card project, and run_manifest_validation checks the generated manifest against the schema. The post frames these as closing the same gaps as the server's existing tools — an LLM's outdated or wrong card API knowledge — this time for scaffolding and validating a card rather than a full app.daniel_vladinov, published 2026-01-22
What's in Daniel Hutzel's brain?What's in Daniel Hutzel's brain?A Devtoberfest 2026 session in the building-apps track, in which Daniel Hutzel and DJ Adams work through what the CAP team is building for agents. A bookshop gets an MCP endpoint beside its OData one from a single annotation, with the plugin writing the coding agent's configuration itself; in the xt-travels sample five services that know nothing about each other are served over MCP and an agent does the orchestration the hand-built UI and its value helps used to do. Hutzel then annotates a service as an agent so the ReAct loop and the choice of model move into the CAP service, and finally drops MCP for a skill that teaches the agent CQL instead, which is where the edges to Serve your application over MCP, Agent tooling and Agent guidance come from. The mechanism under all of it, a plugin file in the package root and event handlers that can be added to any CAP service, is the edge to Plugin authoring.published 2026-10-02
WebSocketCommunity only
A Practical Real-Time CTI Widget for SAP Sales Cloud V2A Practical Real-Time CTI Widget for SAP Sales Cloud V2A 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.gizemsoylutr, published 2025-11-28
Communicate from a Java Application to ABAP via WebSocket RFC using JCo - Migration GuideCommunicate from a Java Application to ABAP via WebSocket RFC using JCo - Migration GuideWalks a JCo setup from classic CPIC-based RFC to WebSocket RFC: swap the application- or message-server logon properties for jco.client.wshost and jco.client.wsport, and implement DestinationDataProvider's getSSLContext (and, for mTLS, getClientCertificate) since the new connection runs over TLS. It covers building the PKI trust on both sides — a local PKCS12 keystore for the Java side, STRUST's SSL-Server Standard certificate exported and imported for mutual trust on the ABAP side — and notes that on BTP, JCo paired with the Destination service already implements this via the Connectivity service, so the custom SSLContext work can be skipped there.simon_luser, published 2025-01-21
From Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPFrom Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPA Devtoberfest 2026 session walking live through a sales workbench that turns an incoming customer e-mail into a quotation in S/4HANA, built as a React UI on CAP. It shows the filterable request inbox, the extracted configuration properties with a confidence indicator per characteristic, the variant configurator rendered in React from a JSON schema the configuration service returns, and the link from a derived value back to the place in the e-mail it was read from; the stated reason for the stack is that CAP keeps authentication, destinations and deployment the same in every project, which is where frontend boundary holds. The inbox grows while a user works because a CAP WebSocket plugin pushes new requests into the list — WebSocket.SAP Developers, published 2026-10-09
Reading Between the Lines: Under-Documented Fiori Elements Capabilities in SAPUI5 1.149Reading Between the Lines: Under-Documented Fiori Elements Capabilities in SAPUI5 1.149Reads SAPUI5 1.149's framework source, not its release notes, to show Fiori Elements shifting side-effect refresh, AI field placeholders and multi-user drafting from controller extensions into what the backing service annotates. Event-driven SideEffects push over a WebSocket channel through @cap-js-community/websocket, while Draft handling gains ABAP RAP's live field locking on CAP Node.js through Sören Leibach's own cap-collaborative-draft plugin. Both rest on Fiori annotations such as Common.SideEffects and CollaborativeDraft.enabled, which the frontend reads rather than requiring a manifest flag.published 2026-07-09
Real-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSocketsReal-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSocketsThe 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.rgadirov, published 2026-03-12
Real-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSockets
Async processing changed in @sap/cds 10.0, 2026-07-02. Affects A recipe.
Streaming LLM Output with CAP and WebSocketsStreaming LLM Output with CAP and WebSocketsTokens 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.RobinP, published 2025-11-18
Streaming LLM Output with CAP and WebSockets
LLM integration changed in @cap-js/ai 1.0.0, 2026-04-28. Affects A recipe, Runnable code.
AttachmentsSAP and community
Building an Attachment Upload and Download Solution Using UploadSetwithTable ControlBuilding an Attachment Upload and Download Solution Using UploadSetwithTable ControlThe 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.published 2025-03-13
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination service, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Shahid, published 2026-08-20
Major updates to the Attachments plugin – multi-cloud support, malware scanning and moreMajor updates to the Attachments plugin – multi-cloud support, malware scanning and moreMulti-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".published 2025-12-02
Major updates to the Attachments plugin – multi-cloud support, malware scanning and more
@cap-js/attachments 3.4.0, now 4.0.0, com.sap.cds:cds-feature-attachments 1.2.2. Affects A recipe, Runnable code.
Media Handling in SAP CAPM – Backend and Frontend ImplementationMedia Handling in SAP CAPM – Backend and Frontend ImplementationFiles 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.published 2026-03-02
Uploading attachment with cap-js/attachment plugins but via External App/PostmanUploading attachment with cap-js/attachment plugins but via External App/PostmanThe 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.published 2025-07-24
Use SAP Document Management Service Plugin In CAP NODEJS Step by Step GuidanceUse SAP Document Management Service Plugin In CAP NODEJS Step by Step GuidanceThe 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.Jacky_Liu1, published 2025-03-06
CachingSAP and community
Boosting performance in SAP Cloud Application Programming Model (CAP) applications with cds-cachingBoosting 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
Boosting performance in SAP Cloud Application Programming Model (CAP) applications with cds-caching
cds 9, maintenance until 2027-06, cds-caching 0.x, now 3.1.1. Affects A recipe.
CAP just got faster: What's new in cds-caching 1.0CAP just got faster: What's new in cds-caching 1.0What changed in cds-caching at 1.0, announced at reCAP 2025 by the plugin's own maintainer. The substantive change is the read-through API: cache.rt.run(), send(), exec() and wrap() replace the bare cache.run() and cache.send(), and each returns the cache key and hit-or-miss metadata beside the result rather than the value alone. The second is quieter and easier to miss on an upgrade: user, tenant and locale stopped being folded into request-based cache keys by default and became opt-in through keyManagement, or per operation through a key template. Both of those still describe 3.x. What does not is the second half of the post: the metrics configuration it shows was reshaped at 2.0 and the statistics and dashboard settings were removed at 3.0, so take the monitoring and dashboard sections from the README instead. Read it as the successor to the introduction post, which still shows the deprecated calls.published 2025-07-15
CAP just got faster: What's new in cds-caching 1.0
cds-caching 1.0, now 3.1.1, cds 9, maintenance until 2027-06. Affects A reference.
Performance Boost and Caching Strategy for Faster Data Access using "cds-caching" in SAP CAPPerformance Boost and Caching Strategy for Faster Data Access using "cds-caching" in SAP CAPSomebody else's account of using the plugin, which is the useful counterpart to its documentation. The case is specific: a master-data entity of more than a million rows, rarely written and constantly read, where the read-heavy shape is what makes caching worth the complexity rather than a general performance wish. Walks through integrating cds-caching into that application and what it changed.NaveenChandar, published 2025-03-04
Performance Boost and Caching Strategy for Faster Data Access using "cds-caching" in SAP CAP
cds-caching has been through 4 major lines since this was published, most recently 1 (2025-07), 2 (2026-07), 3 (2026-08). Affects A recipe, Runnable code.
Concurrency controlSAP and community
Handling Concurrent Updates in SAP CAP JavaHandling Concurrent Updates in SAP CAP JavaAlice 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.Anjali_Pathak, published 2026-05-26
Data federationSAP and community
CAP-level Data FederationCAP-level Data FederationA Devtoberfest 2026 session (CAP-31) on letting one CAP application read another's data as if it were local. The modelling half is the same for both answers, which is why the two technical edges hold: the provider defines an API service and exports it with CDS export as an npm package carrying the model, mock data and translated texts, the consumer imports it and puts consumption views on top, and only then is it wired either as service-level replication that copies the rows into local tables each time the server starts, or over the SAP HANA synonyms that cds-federation-synonyms generates, with HDI grants on the provider side and a service replacement that redirects each synonym from its mock table to the provider's container. It is worked through on xflights and xtravels, including the local run where CDS watch mocks the imported service from the CSV files inside the package.SAP Developers, published 2026-10-02
Federating, Replicating, and Caching Remote Data in CAP — Part 2Federating, Replicating, and Caching Remote Data in CAP — Part 2The 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.published 2026-07-17
The Full Picture: Federating, Replicating, and Caching Remote Data in CAP — Part 1The Full Picture: Federating, Replicating, and Caching Remote Data in CAP — Part 1Part one of two, and the concepts half: terminology, what CAP already does, and what a project still has to write. It fixes a vocabulary — federation is the umbrella for making remote data part of your model, delegation forwards each request to the remote at query time, replication is a scheduled copy into the local database, and caching is an option on either rather than a third strategy — which collides with CAP's own, since what this series calls replication is what the CAP-level Data Federation guide calls federation. From the ground the Service Integration guide covers, it lists what is left to hand-write: cross-service $expand, navigation filters across the boundary, write forwarding, timeouts and retries, then scheduling, delta detection, backoff, a guard for two app instances sharing one schedule, idempotent writes, and knowing whether the last run succeeded. That list is why the edge to cds-data-federation holds: the second half maps it onto @federation.delegate and @federation.replicate and says which package carries which part — annotations in cds-data-federation, the scheduled engine in cds-data-pipeline, response caching through cds-caching — so it is the design rationale for the annotations, not the API reference. The gap list and the plugins answering it come from the same person who maintains them; cap-replication-demo and SAP's xtravels sample are cited as the hand-written form of the same work. Part 2 is announced as a walkthrough of a demo application and is not covered here.
Data modellingSAP and community
A CAP Plugin for Flexible Number Range Management: cds-numberrange-pluginA CAP Plugin for Flexible Number Range Management: cds-numberrange-pluginThe 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.abdulbasit, published 2025-06-17
Analyze and optimize ABAP Cloud model apps built on core data servicesAnalyze and optimize ABAP Cloud model apps built on core data servicesPerformance anti-patterns in data models built with ABAP CDS under ABAP Cloud applications, and the tools that find them: the abstract names ABAP cross trace, the SQL analyzer (PlanViz) in Visual Studio Code and the SAP HANA database explorer as what the session uses to follow a bottleneck from the application to the database. The anti-patterns are taken from real business applications, which is where the data modelling edge holds; which ones are shown is not in the abstract. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Ingo Braeuninger, Robert Werlich, Steffen Siegmund and Thomas Fiedler, written here from SAP's abstract; the recording is not yet published.
Building an Enterprise Application Using Fiori Elements and CAP - Part 1Building an Enterprise Application Using Fiori Elements and CAP - Part 1Part 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.Farooq, published 2025-12-10
Create CDS Views and expose through OData service in CAPMCreate CDS Views and expose through OData service in CAPMViews 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.VenkateshMundru, published 2025-08-11
Deep Insert in SAP CAPM Using Composition and Fiori ElementsDeep Insert in SAP CAPM Using Composition and Fiori ElementsParent 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.published 2026-05-22
Learn how to define constraints declaratively in your CDS modelLearn how to define constraints declaratively in your CDS modelConstraints 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.SAP
Understanding Projections in CAPM: Select Only What You Need!Understanding Projections in CAPM: Select Only What You Need!One 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.Avisek_, published 2025-06-10
Database connectorsSAP and community
Accelerating Your Analytics with Delta Table Replication into SAP HANA CloudAccelerating Your Analytics with Delta Table Replication into SAP HANA CloudStarting with QRC 04/2025, SAP HANA Cloud can replicate a Delta Lake table from an external Delta Sharing source directly into a native HANA table, rather than only querying it live through a virtual table. The post walks through creating a remote subscription, running a chunk-based initial load, and setting up change data capture on a schedule or on demand, each with the SQL statements and monitoring views involved, plus the simpler virtual-table-toggling and HANA Cloud Central UI alternatives.SeungjoonLee, published 2025-12-22
Agentic memory: Knowledge graph engine and recall in SAP HANA CloudAgentic memory: Knowledge graph engine and recall in SAP HANA CloudThe knowledge graph engine in SAP HANA Cloud as an agent's memory: what the engine, the graph side of graph, spatial and document data, does in an agentic workflow, how an agent keeps what it learns there, the state agent tooling holds between turns, and the SAP AI Core integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA263 on Wednesday 28 October is a two-hour hands-on on the same engine with a different cast. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Markus Fath and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.
Analyze and optimize ABAP Cloud model apps built on core data servicesAnalyze and optimize ABAP Cloud model apps built on core data servicesPerformance anti-patterns in data models built with ABAP CDS under ABAP Cloud applications, and the tools that find them: the abstract names ABAP cross trace, the SQL analyzer (PlanViz) in Visual Studio Code and the SAP HANA database explorer as what the session uses to follow a bottleneck from the application to the database. The anti-patterns are taken from real business applications, which is where the data modelling edge holds; which ones are shown is not in the abstract. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Ingo Braeuninger, Robert Werlich, Steffen Siegmund and Thomas Fiedler, written here from SAP's abstract; the recording is not yet published.
Automate Recurring Data Updates in SAP HANA CloudAutomate Recurring Data Updates in SAP HANA CloudA walkthrough for marking inventory rows stale after 30 days using SAP HANA Cloud's own scheduler: a SQLScript procedure, a CREATE SCHEDULER JOB statement with its 7-field cron pattern, the M_SCHEDULER_JOBS monitoring view, and the matching DROP statements to remove both. It then names where that approach stops and lists the alternatives for scheduling outside the database: SAP Integration Suite's Timer Event, the SAP Job Scheduling service, SAP Automation Pilot for infrastructure commands, and a custom approach for triggering scheduled REST calls from an application.Joni, published 2026-06-11
Bridging Python and SAP HANA: Inside the sqlalchemy-hana Open-Source DialectBridging Python and SAP HANA: Inside the sqlalchemy-hana Open-Source DialectA Devtoberfest 2026 data-track session (DAT-21) in which one of the maintainers of sqlalchemy-hana, the open-source SQLAlchemy dialect published in SAP's GitHub organisation, opens up what sits between Python and SAP HANA. It walks the five dialect classes that render statements, types, DDL, identifiers and sequences, and the HANA specifics they absorb: the FROM DUMMY a bare SELECT needs, a limit injected when only an offset is given, string compiled to NVARCHAR, and quoted case-sensitive identifiers against Python's lowercase. The rest covers schema migrations with Alembic on HANA's transactional DDL, the recently added async support and vector types, and that HANA Cloud and HANA 2 are supported while HANA 1 is not.SAP Developers, published 2026-09-29
Bring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentsBring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding AgentsDevtoberfest 2026 session FA-11: a tour of the rebuilt developers.sap.com by the team that runs it, from the administration screens behind the home page to the agent interfaces in front of it. The site is a CAP application on SAP HANA Cloud and SAP BTP, open-sourced in full, and the half of the session that places it here is how its content reaches an agent: every tutorial is also served as markdown, a coding agent is detected and given that version instead of the HTML, a well-known agent card advertises what the site offers, and SAP Developers MCP answers questions about tutorials, news and a reader's own completion history in Claude Code and Joule Desktop, over OAuth or a personal access token. Behind the answers sit two things working together: a knowledge graph in the HANA database over 1400 tutorials and 11,000 concepts, and SAP AI Core for the Joule interactions and the embeddings, with the agent harness written for the site rather than taken off a shelf. Where neither MCP nor A2A is available, the same content is published as skills.SAP Developers, published 2026-09-25
Build AI agents and applications natively on SAP HANA CloudBuild AI agents and applications natively on SAP HANA CloudSAP HANA Cloud as the base for agentic applications on SAP Business AI Platform: the session goes through CAP, the SAP HANA Cloud vector engine and SAP AI Core, with architecture patterns and lessons learned from building AI-supported applications. SAP's abstract names the three parts of that stack and the vector engine as the database's feature in it, and describes none of the patterns. A TechEd 2026 session (Wednesday 28 October, Berlin; also DA113V, virtual), presented by Christoph Morgen and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published.
Build your custom knowledge layer with SAP HANA CloudBuild your custom knowledge layer with SAP HANA CloudSAP HANA Cloud's multi-model engines, the knowledge graph engine among them, as the base for a custom knowledge layer over the enterprise's data, with SAP Business Data Cloud as the product that includes the database. Graph, spatial and document data put to an AI use; the abstract names the graph engine and not the query language or the vector side. A TechEd 2026 session (Wednesday 28 October, Berlin; also ST108V, virtual), presented by Niklas Siemer and Sebastian Schmidt, written here from SAP's abstract; the recording is not yet published.
Building a CAP App with Fiori Integration – Part 1: Environment & HANA Cloud SetupBuilding a CAP App with Fiori Integration – Part 1: Environment & HANA Cloud SetupA 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.SuryaRamesh, published 2026-04-08
Building agentic applications with SAP HANA CloudBuilding agentic applications with SAP HANA CloudA CAP application extended with semantic search and agent features on top of SAP HANA Cloud's vector engine and SAP AI Core, built in a hands-on workshop. The abstract names the parts, CAP, the vector engine and AI Core, and the two additions: semantic search, the retrieval half of retrieval-augmented generation, and LLM-supported agent capabilities inside the application, which is agent tooling. Which embedding model, which CAP runtime and how the agent calls its tools are not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hui Li, Ritty Joseph, Shraddha Shetty and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published.
Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANABuilding an SAP BTP Agent Architecture from Scratch: Python + CAP + HANAA first-person build log of a Flask orchestrator on Cloud Foundry that reduces a question to keywords, searches a Node.js service's Documents entity, and passes what it finds to Claude for a grounded answer. Getting there means learning that HANA's fuzzy .search() matches one word but not a full sentence, fixed by splitting the query into terms and merging the per-term hits, and that provisioning SAP HANA Cloud hits a database-level free-tier quota rather than an HDI-container one, with a stopped instance needing to be resumed first. It also covers @sap/cds-dk needing to sit in dependencies rather than devDependencies, since Cloud Foundry's buildpack skips the latter, before cds deploy --to hana can run as part of the push.neilaspin, published 2026-07-28
Building your knowledge graph on SAP HANA CloudBuilding your knowledge graph on SAP HANA CloudDevtoberfest 2026 session DAT-11, in which two enterprise architects explain what a knowledge graph is and then build one on SAP HANA Cloud. The first half sets the join across three relational tables against an ontology of classes and predicates, the subject-predicate-object triple written as a turtle file, and a SPARQL query over it, and argues that the chain of relationships is what makes a recommendation traceable back to its reasons. The demo, taken from a Discovery Center mission, curates the ontology and the RDF files for an accounts receivable scenario in VS Code, ingests the triples into HANA Cloud with SQL and walks the resulting graph outward from a customer; that is the graph, spatial and document data edge. It closes by separating three things that share the name: the HANA Cloud knowledge graph engine, SAP Knowledge Graph as the data, and the knowledge graph in SAP Business Data Cloud.SAP Developers, published 2026-09-22
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination service, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Shahid, published 2026-08-20
CAP in the age of AI #6 - vector embeddingsCAP in the age of AI #6 - vector embeddingsVector embeddings put to work in the incident management sample, answering whether this problem has been seen before. An embedding element of type Vector is calculated and stored from the vector_embedding function, so the database refreshes it whenever the text behind it changes, and cosine_similarity compares it with a freshly embedded string; because a title says little, a scheduled action first summarises each incident's conversation through a model on SAP AI Core and the embedding is taken from that summary. The similar-incidents list is a view joining incidents to themselves, with order and limit set in a before handler on the expanded query, and the vector element excluded from the service, since OData knows nothing about vectors — on SAP HANA Cloud the function is native, while SQLite needs packages added to the project.published 2026-10-09
CAP in the age of AI #7 - vector embeddings wrap-upCAP in the age of AI #7 - vector embeddings wrap-upThe same embeddings model taken from SQLite to SAP HANA Cloud, then handed to an agent. Locally it is @cap-js/ai that adds the vector functions SQLite lacks and downloads an all-MiniLM L6v2 ONNX model on first start; on HANA natural language processing has to be switched on, the model name is a mandatory argument, the vectors it returns are 768 dimensions, and dimensions must match on both sides of a comparison. HANA itself can be given SAP AI Core as a remote source for other embedding models, which a CDS.ql expression has to inject because the postfix notation only takes what the CDS model holds, and the hour ends with a search function over cosine similarity exposed over @cap-js/mcp, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.published 2026-10-16
Combining AI Agents with the power of SAP HANA embedded ML (part 1)Combining AI Agents with the power of SAP HANA embedded ML (part 1)Devtoberfest 2026 session DAT-12, the first of two parts, in which Vitaliy Rudnytskiy does a data scientist's work against the embedded machine learning of SAP HANA Cloud by talking to an agent. The session first takes an agent apart into its LLM, its tools, its memory and the loop between them, then stacks the Predictive Analysis Library under the hana-ml Python wrapper and that under the HANA AI toolkit, whose tools an agent calls from plain English in a notebook to preview a sales refunds table, split it into train and predict tables, run a time-series check and train an AutoML forecast, keeping what it decided in Markdown memory files. That is the agent tooling edge; the same toolkit is then started as an MCP server over stdio and over streamable HTTP and reached from a coding agent and from Joule Work's desktop, which is where the live demo partly fails and the failure is shown.published 2026-09-22
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud ConnectorConnect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud ConnectorAn end-to-end route from a CAP Node.js application on Cloud Foundry to a PostgreSQL database that is never made publicly reachable, over BTP Connectivity and the Cloud Connector using a TCP destination and SOCKS5. The part worth having is that it covers the deployer as well as the server: the generated PostgreSQL deployer has to reach the same private database to deploy the CDS model, and a guide that only connects the runtime leaves you with a schema you cannot install.Kalaikovan, published 2026-08-07
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud Connector
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe.
Create a CAP Application with SAP HANA Cloud from Scratch and Deploy to Cloud FoundryCreate a CAP Application with SAP HANA Cloud from Scratch and Deploy to Cloud FoundryThe 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.MaheshSirsat1708, published 2025-11-19
Create a CAP Application with SAP HANA Cloud from Scratch and Deploy to Cloud Foundry
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe.
Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application StudioCreating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application StudioHybrid testing is documented for HANA; this is the same profile against a PostgreSQL instance on BTP, driven from a BAS dev space rather than a laptop. Proposed under editor support because of where it runs, but the subject is the binding: what cds bind writes, and what has to be true of the service instance and the tunnel for a local process to reach it.valentincadart, published 2025-10-02
Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application Studio
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
Flexible analytics at speed: Calculation views in SAP Business Data CloudFlexible analytics at speed: Calculation views in SAP Business Data CloudCalculation views in SAP HANA Cloud, the reusable analytic modelling blocks built in its graphical modelling environment, with three newer parts the abstract names: AI-assisted modelling, refactoring, and advanced materialisation, and the way the views sit inside SAP Business Data Cloud. What a materialisation is chosen on, and what the AI assistance generates, is not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hansika Colomboge Dona, Jan Zwickel, Niklas Siemer and Thomas Hammer, written here from SAP's abstract; the recording is not yet published.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]The 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.sanjucs, published 2026-05-06
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-3]Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-3]The 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.sanjucs, published 2026-05-08
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]The 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.sanjucs, published 2026-05-12
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe.
Get hands on with tabular AI and forecasting models in SAP HANA CloudGet hands on with tabular AI and forecasting models in SAP HANA CloudPrediction and forecasting as predictive models inside SAP HANA Cloud, worked through hands-on: tabular AI models such as SAP-RPT-1 for on-the-fly predictions, time series foundation models for ad hoc forecasts, and the AutoML in the predictive analysis library. The abstract names the model kinds and the library and does not say how a model is called from SQL or from an application. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Markus Fath, Ritty Joseph and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published.
Knowledge graph and agent memory: Build an agent that remembersKnowledge graph and agent memory: Build an agent that remembersThe knowledge graph engine in SAP HANA Cloud as an agent's memory: what the engine, the graph side of graph, spatial and document data, does in an agentic workflow, how an agent keeps what it learns there, the state agent tooling holds between turns, and the SAP AI Core integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA205 on Tuesday 27 October is the 45-minute talk on the same engine, with a near-identical abstract and a different cast. A two-hour hands-on TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Jan Zwickel, Markus Fath and Thomas Hammer, written here from SAP's abstract; the recording is not yet published.
Lets Talk to the Database - CAP & SQLite Powered by Google Gemini-2.5-ProLets Talk to the Database - CAP & SQLite Powered by Google Gemini-2.5-ProNatural 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.ShivamShuklaSAP, published 2025-04-16
Medallion Reference Architecture for Big Data Processing in SAP HANA CloudMedallion Reference Architecture for Big Data Processing in SAP HANA CloudSAP's medallion layout for SAP HANA Cloud: structured, semi-structured and unstructured data lands raw in HANA Cloud, data lake files as the bronze layer, is cleansed into a common structure in silver, held in data lake files or the HANA database, and is curated and read-optimised in gold, from where it can also be exposed as a Delta Share. The staged path from raw to consumable is the ground loading a warehouse covers, with Spark jobs and SAP Datasphere data flows named as ways to move data between layers and SAP Analytics Cloud among the consumers of gold. It leaves the ingestion method open, to be chosen by source, freshness and performance, and names no pipeline or schedule beyond that.published 2025-04-03
Modernize your database landscape with SAP HANA CloudModernize your database landscape with SAP HANA CloudWhy to move a database estate to SAP HANA Cloud, and the migration tools and services for doing so, which is the platform migration concern. SAP's abstract is one sentence and names none of the tools. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Niklas Siemer and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.
Part 1: Creating and Deploying a SAP CAP Application with SAP HANA on SAP BTP (Cloud Foundry)Part 1: Creating and Deploying a SAP CAP Application with SAP HANA on SAP BTP (Cloud Foundry)Opens with the observation the whole series rests on — CAP is usually demonstrated locally, and the interesting part starts when it is deployed. Part one of the run that continues into PostgreSQL and Work Zone.yashbhosle789, published 2026-02-25
Part 1: Creating and Deploying a SAP CAP Application with SAP HANA on SAP BTP (Cloud Foundry)
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe.
Part 2: Creating and Deploying a CAP Application with PostgreSQL, Hyperscaler OptionPart 2: Creating and Deploying a CAP Application with PostgreSQL, Hyperscaler OptionThe middle of a series that runs from database to Work Zone: the CAP application from part one pointed at PostgreSQL on the hyperscaler option, and deployed. The service binding and the build are where it spends its time.yashbhosle789, published 2026-03-04
Part 2: Creating and Deploying a CAP Application with PostgreSQL, Hyperscaler Option
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe.
Road map for SAP HANA Cloud: What’s next for the AI databaseRoad map for SAP HANA Cloud: What’s next for the AI databaseSAP's road map for SAP HANA Cloud, which the abstract places as a core component of SAP Business AI Platform within SAP Business Data Cloud. The abstract promises a firsthand look at what is next for the database and names no feature, release or date, so the two edges rest on the products it names and nothing more. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Niklas Siemer and Thomas Hammer, written here from SAP's abstract; the recording is not yet published.
SAP BDC in Business AI Platform: Contextualize and ReasonSAP BDC in Business AI Platform: Contextualize and ReasonA Devtoberfest 2026 session (DAT-31) that places SAP Business Data Cloud as the contextualise-and-reason pillar of the SAP Business AI Platform, between the build pillar of Joule Studio and Integration Suite and the govern pillar of AI Agent Hub. It covers data products described with open resource discovery and core schema notation metadata, a data product creation agent that assembles a derived data product for overdue billing documents from the billing document and customer products and shows its lineage and fields; the data products a line-of-business application brings being readable by Joule without a BDC subscription; and the SAP-managed knowledge graph that maps business entities and their relationships for agents, held as graph data in the SAP HANA Cloud knowledge graph engine as RDF triples queried with SPARQL. The closing demo has SAP Joule answer head-count and purchase-order questions, with the generated SQL passed through a data product query that adds the restriction policy defined for that user in cloud identity services, which is why the session stands for cataloguing and lineage as much as for the products it names.SAP Developers, published 2026-10-06
SAP CAP Lessons Learned: SQLite is single threaded, HANA is notSAP CAP Lessons Learned: SQLite is single threaded, HANA is notA 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.LucasMagriniRigo, published 2025-01-22
SAP CAP on HANA XSA: Scaling Industrial Data Applications Beyond the CloudSAP CAP on HANA XSA: Scaling Industrial Data Applications Beyond the CloudCAP 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.rgadirov, published 2026-03-09
SAP CAP on HANA XSA: Scaling Industrial Data Applications Beyond the Cloud
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
SAP CAP With Prostgres Serice in BTPSAP CAP With Prostgres Serice in BTPA step-by-step walkthrough of a CAP bookshop project on @cap-js/postgres, provisioning PostgreSQL on SAP BTP, hyperscaler option's trial plan through mta.yaml, building the MTA archive and deploying it to Cloud Foundry by hand, then inspecting the deployed database with pgAdmin over an SSH tunnel. It updates an earlier post by Mike Zaschka on the same topic to the package CAP now ships by default, though the manual build-and-deploy sequence it shows predates cds up folding those steps into one command by a day.satya-dev, published 2025-03-30
SAP HANA Cloud advisors and automationSAP HANA Cloud advisors and automationSAP HANA Cloud's advisors and the tasks they hand off: the elastic compute node, the partition, index and native storage extension advisors that produce recommendations for performance and efficiency, and SAP Automation Pilot as the service that runs the resulting tasks, which is operations automation on the database. The abstract lists the features and stops there, so what each advisor recommends and how a recommendation becomes an Automation Pilot command is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Hansika Colomboge Dona, Hui Li, Javier Martin and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.
SAP HANA Cloud as a self-managed database: Advisors and automationSAP HANA Cloud as a self-managed database: Advisors and automationSAP HANA Cloud advisors generate recommendations for database administration, aimed at system performance and efficiency, and SAP Automation Pilot runs the manual and administrative tasks around the database as automated processes, which is the operations automation concern on the database side. SAP's abstract names the two services and claims reduced operational overhead; which advisors exist and which tasks the automation covers are not said. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Javier Martin and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published.
SAP HANA Cloud as an Esri GeodatabaseSAP HANA Cloud as an Esri GeodatabaseSAP's design for running an Esri ArcGIS Enterprise geodatabase inside SAP HANA Cloud, so that geometries and SAP business data sit in one database and are joined in a HANA calculation view, which is the spatial part of graph, spatial and document data. It traces three personas: an analyst in ArcGIS Pro building query layers over that view, a developer whose CAP application models spatial types such as ST_Point in CDS, and an analyst using a Fiori app on top of such an application. The deployment advice stops at placement: ArcGIS Server and HANA Cloud go in the same region and availability zone, because Esri's certified architectures allow under 5 milliseconds of network latency between them.published 2025-03-25
SAP HANA Cloud as the AI database for SAP Business Data CloudSAP HANA Cloud as the AI database for SAP Business Data CloudSAP HANA Cloud as the AI database at the centre of SAP Business Data Cloud: the strategy behind its AI-first direction, and a Carl Zeiss speaker on how it runs in production today. The abstract names the two products and the customer and no feature, workload or figure, so the edges rest on the products as its subject. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Kush Kashyap and Thomas Hammer, written here from SAP's abstract; the recording is not yet published.
SAP HANA Cloud: The data foundation for contextualizing and reasoningSAP HANA Cloud: The data foundation for contextualizing and reasoningWhere SAP is taking SAP HANA Cloud, described in the abstract as the anchor of SAP's data strategy and a unified layer to store, contextualise and reason across a business, and what that means for a data platform decision. The abstract is a direction statement and names no feature, release or date, so the one edge rests on the product itself. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST106V, virtual), presented by Matthew Zenus and Stefan Baeuerle, written here from SAP's abstract; the recording is not yet published.
SAP HANA Data Lake Files (HDLF) Basic FunctionalitiesSAP HANA Data Lake Files (HDLF) Basic FunctionalitiesA Devtoberfest 2026 data-track session on SAP HANA data lake files, the managed object store inside SAP HANA Cloud that is provisioned from HANA Cloud Central, priced per API call and per stored gigabyte, and reached with the same REST API whichever hyperscaler it runs on. Two product managers set up an instance with its IP allow list, client certificates and trusts, then upload, list, read and delete files over the WebHDFS REST API and the HDLFS command-line utility — the Object storage half — and cover file versions with snapshots, access policies per file, and chunked upload with a server-side merge. They then link the instance to a HANA database and query a CSV file as a virtual table: SQL on files now runs through a file adapter in the database, while the older path through the data lake relational engine is deprecated.SAP Developers
Stop guessing, start counting: How generative AI fixed an inventory messStop guessing, start counting: How generative AI fixed an inventory messAn inventory-counting application a business built on SAP Business AI Platform with SAP HANA Cloud and generative AI, to replace recount lists kept by gut feel across SAP ERP Central Component, SAP S/4HANA and Microsoft Excel; the talk promises the app, its architecture and what went wrong. The generative AI part is LLM integration from application code; the abstract names HANA Cloud and generative AI as the two building blocks and says nothing about how either is used. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Ranjeet Kumar, written here from SAP's abstract; the recording is not yet published.
Talking to your database: The new data exploration tools in SAP HANA CloudTalking to your database: The new data exploration tools in SAP HANA CloudSAP HANA Cloud's new data exploration tools take a business question in plain language, find the right database objects and run the query, with no data model and no SQL written beforehand, shown live on a standard business data set. SAP's abstract says the session covers how the tools work, what they need and where they hit their limits, and states none of the three. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Anna Hartmann, written here from SAP's abstract; the recording is not yet published.
Unlock predictive and generative AI with your data in SAP HANA CloudUnlock predictive and generative AI with your data in SAP HANA CloudThe AI features SAP lists for SAP HANA Cloud: the function libraries for tabular prediction and forecasting, where predictive models run inside the database, the vector engine, the knowledge graph engine, which is graph, spatial and document data put to generative use, and SQL to LLM calls. The abstract names the engines and the use cases they are meant for and gives no detail of any one of them. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA204V, virtual), presented by Christoph Morgen and Javier Martin, written here from SAP's abstract; the recording is not yet published.
Use SAP HANA as the Database for a CAP Java ApplicationUse SAP HANA as the Database for a CAP Java ApplicationMoving a CAP Java application off the development database onto HANA, which is the step where the persistence choice stops being invisible.SAP
Using HANA Cloud’s "VECTOR_EMBEDDING" Function in CAPUsing HANA Cloud’s "VECTOR_EMBEDDING" Function in CAPEmbeddings 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.published 2025-03-02
Native SAP HANA artifactsSAP only
Connecting Two SAP CAP Projects Without Duplicating Your DataConnecting Two SAP CAP Projects Without Duplicating Your DataCross-container HDI synonyms, argued from the alternatives rather than presented as a recipe: copying the table, standing up an API, or hard-coding the values are the three things the author reports seeing teams do, and each is named as working but unclean. With synonyms in place the consuming project queries the owner's HANA tables through ordinary SQL and ordinary CAP service code, with no replication and nothing to drift between environments. Covers the same ground as Mio Yasutake's 2021 post from a different angle — that one enumerates four topologies, this one argues for one of them.Inderpreet, published 2026-07-08
Schema evolutionSAP and community
HANA Database Migration: Handling Incompatible Changes to Existing TablesHANA Database Migration: Handling Incompatible Changes to Existing TablesThe 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.Sekar Somasundaram, published 2025-04-16
SAP Developer New, July 3rd 2026SAP Developer New, July 3rd 2026A "Did You Know" segment in this SAP Developer News video walks through schema evolution: CAP's ability to add a new field to an entity, or make a compatible change to an existing one, then redeploy the model with no data loss or manual migration. The rest of the July 2026 episode covers that month's Developer Challenge, a SAP HANA Cloud Q2 release announcement and a UI5 survey call, none explained in substance here.published 2026-07-02
SearchSAP and community
Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANABuilding an SAP BTP Agent Architecture from Scratch: Python + CAP + HANAA first-person build log of a Flask orchestrator on Cloud Foundry that reduces a question to keywords, searches a Node.js service's Documents entity, and passes what it finds to Claude for a grounded answer. Getting there means learning that HANA's fuzzy .search() matches one word but not a full sentence, fixed by splitting the query into terms and merging the per-term hits, and that provisioning SAP HANA Cloud hits a database-level free-tier quota rather than an HDI-container one, with a stopped instance needing to be resumed first. It also covers @sap/cds-dk needing to sit in dependencies rather than devDependencies, since Cloud Foundry's buildpack skips the latter, before cds deploy --to hana can run as part of the push.neilaspin, published 2026-07-28
Understanding Fuzzy Search in SAP Fiori ApplicationsUnderstanding Fuzzy Search in SAP Fiori ApplicationsExplains SAP HANA Enterprise Search's fuzzy, relevance-ranked matching behind Fiori's global search bar, its exact-match Search Query Syntax operators, and how a CAP CDS project on @sap/cds tunes the gap between them with @cds.search and @Search.fuzzinessThreshold, shown on a Contracts entity's contractNumber field. Raising the threshold to 0.95 narrows that field to near-exact matches for structured identifiers such as contract numbers, while an unset field keeps HANA's default (~80%) fuzziness for broader free-text discovery.Ruchi5, published 2026-07-27
Async processingSAP and community
Automate BTP Custom Domain certificates using Let's EncryptAutomate BTP Custom Domain certificates using Let's EncryptCertificate 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.Ben, published 2026-03-19
Quick tip: event/task scheduling in CAP Node.js (in alpha state)Quick tip: event/task scheduling in CAP Node.js (in alpha state)A 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.published 2025-10-30
Real-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSocketsReal-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSocketsThe 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.rgadirov, published 2026-03-12
Real-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSockets
Async processing changed in @sap/cds 10.0, 2026-07-02. Affects A recipe.
DestinationsSAP and community
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination service, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Shahid, published 2026-08-20
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud ConnectorConnect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud ConnectorAn end-to-end route from a CAP Node.js application on Cloud Foundry to a PostgreSQL database that is never made publicly reachable, over BTP Connectivity and the Cloud Connector using a TCP destination and SOCKS5. The part worth having is that it covers the deployer as well as the server: the generated PostgreSQL deployer has to reach the same private database to deploy the CDS model, and a guide that only connects the runtime leaves you with a schema you cannot install.Kalaikovan, published 2026-08-07
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud Connector
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe.
Connect to Public Cloud API in Node.js via Authorisation CodeConnect to Public Cloud API in Node.js via Authorisation CodeThe 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.Egan, published 2025-07-22
Consume Remote Services in a Full-Stack CAP ApplicationConsume Remote Services in a Full-Stack CAP ApplicationExtending 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.SAP
Consume SOAP Web Services in SAP Cloud Application Programming ModelConsume SOAP Web Services in SAP Cloud Application Programming ModelCalling a SOAP service from CAP — the case the remote-service story does not cover, since CAP's own import path speaks OData and OpenAPI.SAP
Consuming data from SAP Datasphere in SAP BTP CAP ApplicationsConsuming data from SAP Datasphere in SAP BTP CAP ApplicationsDatasphere 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.sudheer-tammana, published 2025-06-03
Establishing connectivity between a local CAP runtime and on-premise systemsEstablishing connectivity between a local CAP runtime and on-premise systemsReaching 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.vLeonkev, published 2025-10-15
Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.jsExpose S/4HANA Cloud OData API as an MCP Server via CAP Node.jsA step-by-step walkthrough that wraps SAP S/4HANA Cloud's Outbound Delivery OData v2 API in a CAP Node.js service and exposes it through @cap-js/mcp, so an MCP client can list the generated tools, query the delivery entities and call a custom createDelivery action over JSON-RPC. The remote S/4HANA connection is configured two ways in package.json: direct Basic Authentication credentials for local hybrid testing, and a named BTP destination for the app once deployed to Cloud Foundry.Jacky_Liu1, published 2026-07-29
Extend SAP SuccessFactors on SAP BTP with the SAP Cloud Application Programming ModelExtend SAP SuccessFactors on SAP BTP with the SAP Cloud Application Programming ModelTwelve 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.SAP
Extending SAP Sales and Service Cloud V2 Using CAPExtending SAP Sales and Service Cloud V2 Using CAPAn 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.Quablab, published 2025-07-09
From REST to Datasphere: A CAP-based Integration ApproachFrom REST to Datasphere: A CAP-based Integration ApproachThe 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.christian_willi, published 2025-09-30
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-5]Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-5]The 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.sanjucs, published 2026-05-18
How to Call a Remote OData API from Your Local CAP Java ProjectHow to Call a Remote OData API from Your Local CAP Java ProjectThe 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.Umezuki, published 2025-08-11
Implementing Dynamic Subaccount-Based Routing in SAP CAP with SAP BTP DestinationsImplementing Dynamic Subaccount-Based Routing in SAP CAP with SAP BTP DestinationsWhy 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.Dnyaneshwar Salve, published 2026-03-18
Secure Service Consumption Across HyperscalersSecure Service Consumption Across HyperscalersSAP's design for a workload on SAP BTP that calls Amazon Web Services or Google Cloud services with short-lived credentials instead of stored keys, which is the outbound side of authentication: the BTP application proving who it is to another cloud. On AWS it draws two paths, an ID token from Identity Authentication in Cloud Identity Services exchanged through AWS STS for an IAM role, or an X.509 certificate kept in SAP Destination service and presented to IAM Roles Anywhere; on Google Cloud only the token path, through Workload Identity Federation and an impersonated service account. It is drawn for those two hyperscalers only, and Microsoft Azure has no page in it.published 2025-05-14
Sending Emails from SAP CAP Applications with Any SMTP ProviderSending Emails from SAP CAP Applications with Any SMTP ProviderWalks through sending mail from a CAP application with no dedicated mail service: create an SMTP destination for a Gmail account in the SAP BTP cockpit, bind it to the Cloud Foundry app, and call the sap-cf-mailer npm package from a CAP service handler naming that destination. The SAP Destination service holds the SMTP host, port and app password so the handler code names only the destination, and the same handler sends plain text, an HTML body, or a message with a base64-encoded attachment.MaheshSirsat1708, published 2025-08-19
The ECC-to-CAP Starter KitThe ECC-to-CAP Starter KitA Devtoberfest 2026 session that builds a CAP service and a Fiori elements list report over an SAP ECC gateway service, on the argument that the CAP project, its contract and its UI survive a later move to SAP S/4HANA while the APIs behind them change. The service integration edge is the body of the demo: the metadata of the ECC flight service is saved as an EDMX file, imported with cds import so the model holds the structure and none of the data, projected read-only into a flight service, and one line of handler code forwards each read to ECC, with filtering, sorting and paging translated down to the older OData version the system speaks. The SAP Destination service edge covers the on-premise destination and the additional properties the walkthrough insists on, and the SAP Business Application Studio edge covers the full-stack dev space, the CAP project wizard, the service center plugin for picking up another OData service, and cds watch run under the profile that uses those credentials.published 2026-10-09
UI for the BTP Application Vulnerability ReportUI for the BTP Application Vulnerability ReportAn open-source SAPUI5 front end for SAP's Application Vulnerability Report API, backed by a CAP Node.js service that projects the external findings as an OData V4 entity and forwards each query with api.run(req.query). The CAP service reaches that API through a Destination service instance configured with OAuth2ClientCredentials authentication from a service key, so the address and credentials stay out of the application code.published 2026-02-10
Use the SAP Cloud SDK in the SAP Cloud Application Programming ModelUse the SAP Cloud SDK in the SAP Cloud Application Programming ModelReaching for the Cloud SDK from inside a CAP service, for the calls CAP's own remote services do not make.SAP