BrowseAll ecosystems
Everything in the atlas
143 of 2341
Domain: 3
Signals
Content: The reasoning
More
Group by: Capability
Domain Security & ComplianceDomain Learning & ReferenceDomain Developer ExperienceOffers The reasoningClear all
EntryBySignalsLast activity
How to implement SAP BTP Audit log service in a CAP ApplicationHow to implement SAP BTP Audit log service in a CAP ApplicationThe setup half: binding the BTP Audit Log service to a CAP application and getting the annotated path working, which is the step before anything custom becomes a question.KrishnaSharma7, published 2025-01-01
How to implement SAP BTP Audit log service in a CAP Application
@cap-js/audit-logging has been through 2 major lines since this was published: 0.9 (2025-06), 1 (2025-07). Affects A recipe.
Implementing Custom Audit Logging in SAP CAP ApplicationsImplementing Custom Audit Logging in SAP CAP ApplicationsWhere the annotations stop. CAP logs personal-data operations automatically once a model is annotated; this is about the events that are not that — an unauthorised access attempt, a business action somebody wants a trail for — and what writing those yourself involves.gopalanand, published 2025-10-09
Agentic AI & AI AgentsAgentic AI & AI AgentsSAP's target picture for AI agents: Joule as the engagement layer — Joule Work, Joule Assistants, Joule Agents — with custom agents from customers, partners and SAP teams connecting through A2A for agent-to-agent collaboration and MCP for tool connectivity, on the SAP Business AI Platform. It says up front that parts are not generally available yet, in particular bidirectional communication with third-party agents through the Agent Gateway, so it reads as direction with the building blocks named rather than a design to copy today.published 2026-08-27
Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]The opening of a three-part series on reaching more than one S/4HANA system from one CAP application with the user's identity carried through. This part sets up the business problem; the propagation itself is in the parts that follow.mohit_bansal3, published 2022-11-25
Building Custom Authentication in SAP CAPBuilding Custom Authentication in SAP CAPpublished 2025-10-25
Building Custom Authentication in SAP CAP
cds 9, maintenance until 2027-06. 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
Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAPEnabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAPAuthorization policies defined in Identity Authentication and consumed by a CAP application through AMS — the configuration half of the move away from XSUAA scopes, from the identity service's side rather than the application's.Yogananda, published 2024-12-27
Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAP
Authorization changed in CAP Java 3.7.1, 2025-01-30. Affects A recipe.
Evolving the identity lifecycle for an AI-first futureEvolving the identity lifecycle for an AI-first futureCloud Identity Services as the foundation for authentication, identity lifecycle management and access across SAP landscapes, and the agent identity concepts and SAP-managed identity and access management scenarios SAP says reduce operational effort. The edges are to the service and to the two concerns the abstract names it for, Authentication and Identity provisioning; the abstract names the agent identity concepts and does not say what they are. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Sonia Petrescu and Swetta Singh, written here from SAP's abstract; the recording is not yet published.
Execute [OAuth2 client credentials] protected REST request with SAP CAP ApplicationExecute [OAuth2 client credentials] protected REST request with SAP CAP ApplicationA recipe, and the author calls it that — package.json, a .cds and a handler — for calling a remote service protected by OAuth2 client credentials from a CAP application. Short, complete, and addressed to CAP developers rather than to BTP administrators.Lachmish, published 2022-04-27
Execute [OAuth2 client credentials] protected REST request with SAP CAP Application
Authentication changed in CAP Java 3.0.1, 2024-07-26. Affects A recipe.
How SAP secures enterprise AI agents with identity propagationHow SAP secures enterprise AI agents with identity propagationCloud Identity Services as the identity layer for AI agents as well as people: the abstract states that both are managed in one directory, that user context is propagated by token exchange, and that authorisation is enforced at every hop, so no agent holds back-end credentials. Agents from Microsoft, Google and partners take the same flow through the agent gateway. Token exchange across a hop is the authentication side and the per-hop check the authorisation side; what the agent gateway is, and whether it is a product, the abstract does not say. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Gunnar Kosche and Sebastian Ries, written here from SAP's abstract; the recording is not yet published.
Identity lifecycle and governance with SAP services and Microsoft EntraIdentity lifecycle and governance with SAP services and Microsoft EntraCloud Identity Services beside SAP Cloud Identity Access Governance and Microsoft Entra for one user lifecycle across SAP and third-party applications: the abstract states that SAP business roles can be included in Entra access packages, so that provisioning and governance run from Entra in a hybrid environment, which is the identity provisioning concern. Which SAP systems' roles, and over which protocol, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Martin Raepple of Microsoft, Plamen Pavlov, Regine Schimmer and Swetta Singh, written here from SAP's abstract; the recording is not yet published.
Integrating and Extending JouleIntegrating and Extending JouleSAP's reference architecture for SAP Joule across SAP cloud applications: a request is checked against a Scenario Catalog of the applications' skills and a Knowledge Catalog answered by retrieval-augmented generation, combined with the user's roles and history, sent to an LLM available through the generative AI hub, and, where a Joule function is needed, turned into a call to the backend. Its identity page is the authentication path: each user sits in the Identity Directory of Cloud Identity Services with a Global User ID, Identity Provisioning synchronises role assignments into SAP Build Work Zone, whose navigation service decides which functions a user may call, and the Destination service exchanges the user's token to call a function in the user's name. Its extension page covers Joule Studio in SAP Build, where Joule skills automate rule-based tasks over APIs and AI agents plan and reason with models and document grounding from SAP AI Core, the ground agent tooling covers; a later Joule Studio page describes a managed Joule Studio Runtime on the SAP Business AI Platform, which has no entry here.published 2026-03-16
Mobile First - Making the SAP IAS-based Proof Key for Code Exchange (PKCE) great again! 🎉Mobile First - Making the SAP IAS-based Proof Key for Code Exchange (PKCE) great again! 🎉Proof Key for Code Exchange against Identity Authentication, revisited by the author after an earlier post on the same subject — the flow that lets a mobile or single-page client authenticate without a secret it cannot keep. Sample repository under SAP-samples.martinfrick, published 2023-09-21
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]The final part, and the one with the most CAP in it — the service consuming the propagated destinations, and what the handler sees. Read the three together; the series is one piece.mohit_bansal3, published 2022-11-25
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects A recipe.
Part2: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]Part2: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]The middle part: the destinations and the trust that make principal propagation work against several backends rather than one, which is where the configuration stops being a copy of the tutorial.mohit_bansal3, published 2022-11-25
Road map: SAP Business AI Platform security and SAP Cloud Identity ServicesRoad map: SAP Business AI Platform security and SAP Cloud Identity ServicesThe road map for SAP Business AI Platform's security and compliance services, Cloud Identity Services and SAP Key Management Service among them, and the upcoming changes SAP files under security, governance and compliance. The edge is to Cloud Identity Services, the one named service with an entry here; SAP Key Management Service has none, and the abstract names no item of the road map. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Michael Friedrich and Sascha Vierlinger, written here from SAP's abstract; the recording is not yet published.
SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js ServiceSAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js ServiceThe follow-up that carries the identity through. It takes the CAP service from the Actions tutorial and puts the calling user's identity behind it — an XSUAA instance, a trust configuration, an OAuthSAMLBearerAssertion destination, and the service changed to use that instance — so a step runs on behalf of a person rather than as the process.TJe, published 2023-06-22
SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js Service
Workflow integration has changed twice since this was published, most recently in @cap-js/n8n 0.0.1, 2026-08-27. Affects A recipe.
SAP CAP JWT Token Flow in codeSAP CAP JWT Token Flow in codeOne question, answered precisely: at what point does the JWT exist and how does it end up on req.headers.authorization in a CAP handler. XSUAA issues it and the approuter carries it, and the post follows it through both.sandeepmalhotra, published 2023-04-03
SAP CAP JWT Token Flow in code
Authentication changed in CAP Java 3.0.1, 2024-07-26. Affects Runnable code.
SAP IAM integration with SAP Cloud Identity ServicesSAP IAM integration with SAP Cloud Identity ServicesIdentity and access management for SAP SaaS in a landscape where SAP is one vendor among several: SAP Cloud Identity Services as the designated interface, single sign-on over SAML 2 and OIDC, identity lifecycle through SCIM 2 replication of users and groups, and authorization designed per domain — an S/4HANA role and a BTP role collection are different objects that both have to reach the user. Drawn from customer projects, and the source of what authentication here says about Cloud Identity Services.published 2025-05-13
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
Securing CAP Applications with SAP Cloud Identity Services and AMSSecuring CAP Applications with SAP Cloud Identity Services and AMSIdentity Authentication and AMS together as the current answer for a CAP application — authentication, single sign-on and the identity lifecycle on one side, policies on the other.gopalanand, published 2025-12-04
Simplifying SAP BTP Authentication in Pipelines with SAP Passport and PlaywrightSimplifying SAP BTP Authentication in Pipelines with SAP Passport and PlaywrightClient-certificate login to BTP works locally and has historically not worked in automated pipelines. The post uses Playwright's then-new client certificate support to close that, which is a sideways use of a browser automation library and the reason it is worth recording — the constraint it removes is a CI constraint, not a testing one.published 2024-11-08
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
Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.The long version, from the MTA project outward: what the deployment descriptor has to contain, how the authentication flow actually runs, and then the npm modules doing the work — @sap/xssec and @sap/xsenv named and explained rather than left as dependencies. Old, and the module names have moved on, but the flow it draws has not.balbinosoares, published 2020-03-16
Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects A recipe, Runnable code.
Use mocking to embrace auth in your domain model from the outsetUse mocking to embrace auth in your domain model from the outsetMock users locally so authorization is modelled from the first commit instead of retrofitted — the argument being that auth added late reshapes a domain model rather than sitting on top of it.SAP
What’s next for the core platform capabilities of SAP Business AI PlatformWhat’s next for the core platform capabilities of SAP Business AI PlatformA preview of the operations layer beneath SAP Business AI Platform: selected road map highlights across Joule Studio runtime, Cloud Identity Services and SAP Cloud Logging, on how enterprise AI is governed and run. The edges are to the two named services and to SAP Joule, whose agents the Joule Studio runtime runs; the abstract names the three areas and no highlight. A TechEd 2026 session (Tuesday 27 October, Berlin; also XP825V, virtual), presented by Andre Lamego and Jens Huesken, written here from SAP's abstract; the recording is not yet published.
XSUAA Based Authentication - Using Managed ApprouterXSUAA Based Authentication - Using Managed ApprouterOne half of a pair published the same day, both starting from capire's list of authentication kinds and then going end to end on XSUAA. This is the managed approuter route, where the platform runs the router and the application supplies configuration rather than a module.rahul_rajagopal, published 2023-09-25
XSUAA Based Authentication - Using Managed Approuter
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects A recipe.
XSUAA Based Authentication - Using Standalone ApprouterXSUAA Based Authentication - Using Standalone ApprouterThe other half: the same end-to-end XSUAA setup with an approuter you deploy and own. Published alongside the managed version, and the two are worth reading together because the difference between them is the whole decision.rahul_rajagopal, published 2023-09-25
An approach to secure multiple integrated SAP CAP java applications with a common XSUAA service instanceAn approach to secure multiple integrated SAP CAP java applications with a common XSUAA service instanceOne XSUAA instance across several CAP Java applications that call each other, rather than one per application. Short, and written from inside SAP Labs as something the author tried — the value is the shape of the arrangement, not a walkthrough.sreanik_dhanyakumar2, published 2022-09-14
Authorization Management Service in SAP Cloud Identity ServiceAuthorization Management Service in SAP Cloud Identity ServiceStates the direction of travel plainly — BTP moving authorization management from XSUAA to AMS inside SAP Cloud Identity Service — and then explains what a policy is, which is the unit that replaces a scope. Split between authorization for Cloud Identity itself and for custom business applications, and it is the concept post the CAP Java write-up refers back to.kevin_li, published 2024-10-17
Building trusted applications on SAP Business AI Platform by designBuilding trusted applications on SAP Business AI Platform by designBuilding cloud applications on SAP Business AI Platform with security and compliance built in: the identity, connectivity, governance and security services SAP groups under the platform, secure-by-design development, and authorisation and access controls for AI agents. The edges are to Authorization and to Tool governance, the concern of what an agent may call with which authorisations; the abstract names the service categories and no service by name. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christian Cohrs and Regine Schimmer, written here from SAP's abstract; the recording is not yet published.
Dynamic authorisation with user attributes in SAP CAP and AMSDynamic authorisation with user attributes in SAP CAP and AMSThe same argument as the XSUAA-to-AMS piece, opened from a concrete failure: an acquisition puts 500 users on sales data restricted by division, and role-based access control answers it with Sales_Manager_EMEA, Sales_Manager_APAC and so on until the roles multiply past managing. Attribute-based authorisation replaces the set with one policy carrying a restriction, and the post walks through defining it in AMS against Cloud Identity Services. The clearest statement of role explosion among the three AMS pieces here.pedro_iranzo, published 2026-05-04
Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAPEnabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAPAuthorization policies defined in Identity Authentication and consumed by a CAP application through AMS — the configuration half of the move away from XSUAA scopes, from the identity service's side rather than the application's.Yogananda, published 2024-12-27
Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAP
Authorization changed in CAP Java 3.7.1, 2025-01-30. Affects A recipe.
From XSUAA to AMS: Architecting S4HANA CAP Extensions with Policy-Based AuthorizationFrom XSUAA to AMS: Architecting S4HANA CAP Extensions with Policy-Based AuthorizationWhy scope-based authorization runs out, argued from enterprise extension work rather than from the documentation: XSUAA handles roles well, but real requirements are business-context restrictions — country, company code, organisational unit — and expressing those as scopes does not scale. The migration to policy-based authorization is presented as an architectural move for S/4HANA extensions rather than a configuration change.Avinash Vaidya, published 2026-05-27
How SAP secures enterprise AI agents with identity propagationHow SAP secures enterprise AI agents with identity propagationCloud Identity Services as the identity layer for AI agents as well as people: the abstract states that both are managed in one directory, that user context is propagated by token exchange, and that authorisation is enforced at every hop, so no agent holds back-end credentials. Agents from Microsoft, Google and partners take the same flow through the agent gateway. Token exchange across a hop is the authentication side and the per-hop check the authorisation side; what the agent gateway is, and whether it is a product, the abstract does not say. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Gunnar Kosche and Sebastian Ries, written here from SAP's abstract; the recording is not yet published.
How to Control the Visibility of CRUD and Custom Actions in Fiori Elements Based on AuthorizationHow to Control the Visibility of CRUD and Custom Actions in Fiori Elements Based on AuthorizationHiding Create, Edit and custom action buttons according to what the user may actually do — the join between the authorisation model and the annotations, which is where the two usually fail to agree and the UI offers something the service will refuse.published 2025-05-14
How to get authenticated user information with CAP in three different ways – Using the XSUAA APIHow to get authenticated user information with CAP in three different ways – Using the XSUAA APIThe third of three approaches the author sets out, and the one that returns the most: going to the XSUAA API directly rather than reading what CAP already put on the request. Depends on an earlier post for the project setup, so it starts mid-stream on purpose.ale_biagi, published 2022-07-18
How to Restrict CRUD Operations in SAP CAPM Using @Capabilities, @readonly and Test APIs with .httpHow to Restrict CRUD Operations in SAP CAPM Using @Capabilities, @readonly and Test APIs with .httpEntities are exposed with full CRUD by default, and this is how to take operations away again — @Capabilities for Insert, Update and Delete individually, @readonly for the blunt version. Tested with .http files rather than a UI, which keeps the check on the service.DeepaRagho, published 2026-05-22
Insights of Cloud SDK, CAP, XSUAA, SSH and other BTP topics from 2021Insights of Cloud SDK, CAP, XSUAA, SSH and other BTP topics from 2021A year in review, and one section in it is the reason it is here: "CAP isn't the solution for everything" — the author's point being that a pure UI5 or Fiori application does not need a CAP service wrapped around it, and that an approuter or the HTML5 Application Repository may be the better answer. The XSUAA section is a complaint about complexity rather than a guide, which is also worth having on the record.dr_vup, published 2021-12-30
Qualtrics integration with domain based authorization in CAP project on HANA cloudQualtrics integration with domain based authorization in CAP project on HANA cloudSurveys pulled from Qualtrics into a CAP application in real time, with the twist in the title: authorisation decided by the user's domain rather than by a role collection. A pattern that comes up whenever the audience is wider than the tenant.former_member69893, published 2022-09-30
Qualtrics integration with domain based authorization in CAP project on HANA cloud
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects Runnable code.
SAP BTP XSUAA Security Configuration Comparison: Attribute-Based vs. Authority-Based ApproachesSAP BTP XSUAA Security Configuration Comparison: Attribute-Based vs. Authority-Based ApproachesTwo shapes of the same xs-security.json set against each other, with the resulting JWT printed for both. The consequence for application code is what makes it worth reading: under the attribute-based configuration a CAP handler reads req.user.attr.department, and under the authority-based one it does not, because the attribute is not there. Carries a migration guide between the two.rajeshkputumbaka, published 2026-02-18
SAP IAM integration with SAP Cloud Identity ServicesSAP IAM integration with SAP Cloud Identity ServicesIdentity and access management for SAP SaaS in a landscape where SAP is one vendor among several: SAP Cloud Identity Services as the designated interface, single sign-on over SAML 2 and OIDC, identity lifecycle through SCIM 2 replication of users and groups, and authorization designed per domain — an S/4HANA role and a BTP role collection are different objects that both have to reach the user. Drawn from customer projects, and the source of what authentication here says about Cloud Identity Services.published 2025-05-13
SAP Job Scheduling Service + Cloud Application Programming Model application (CAP) + SAP Authorization and Trust Management Service (XSUAA)SAP Job Scheduling Service + Cloud Application Programming Model application (CAP) + SAP Authorization and Trust Management Service (XSUAA)Calling an unsecured endpoint on a schedule is trivial; this is the same thing once the endpoint is protected. The interesting part is the caller — the Job Scheduling Service is not a person, so CAP's pseudo-roles are where the post spends its time, and $XSSERVICENAME has to match the scheduler's own instance name.former_member412792, published 2022-12-12
Securing a CAP Node.js App with SAP AMS on BTP Cloud FoundrySecuring a CAP Node.js App with SAP AMS on BTP Cloud FoundryThe end-to-end version: a CAP Node.js project from cds init, role-based access through the Authorization Management Service and Identity Authentication Service, and an MTA deployment to Cloud Foundry. The prerequisite list is the useful part to read first — HANA Cloud, an IAS tenant and an AMS entitlement — because it says plainly what this path costs before you are three steps into it.Jacky Liu, published 2026-07-17
Securing CAP Applications with SAP Cloud Identity Services and AMSSecuring CAP Applications with SAP Cloud Identity Services and AMSIdentity Authentication and AMS together as the current answer for a CAP application — authentication, single sign-on and the identity lifecycle on one side, policies on the other.gopalanand, published 2025-12-04
Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.The long version, from the MTA project outward: what the deployment descriptor has to contain, how the authentication flow actually runs, and then the npm modules doing the work — @sap/xssec and @sap/xsenv named and explained rather than left as dependencies. Old, and the module names have moved on, but the flow it draws has not.balbinosoares, published 2020-03-16
Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects A recipe, Runnable code.
Using Postman for API Testing with XSUAAUsing Postman for API Testing with XSUAAA way to get a JWT without routing traffic through the approuter and picking the token out of it. The author walks the alternatives first — redirect through the router, intercept the token — and says what is wrong with each, before requesting the token from the service directly.mariusobert, published 2020-03-02
Why developers should care about credential-types for xsuaa?Why developers should care about credential-types for xsuaa?Rotating secrets, argued from a habit rather than a feature: the author names the practice implicit in many beginner tutorials — lifting a secret out of a binding to use it elsewhere — and notes CAP has features that make it unnecessary in development. Then the three credential types side by side, configured on a CAP application's uaa resource in mta.yaml and through a deployment extension.former_member2839, published 2022-07-05
Why developers should care about credential-types for xsuaa?
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects A recipe, Runnable code.
XSUAA Based Authentication - Using Managed ApprouterXSUAA Based Authentication - Using Managed ApprouterOne half of a pair published the same day, both starting from capire's list of authentication kinds and then going end to end on XSUAA. This is the managed approuter route, where the platform runs the router and the application supplies configuration rather than a module.rahul_rajagopal, published 2023-09-25
XSUAA Based Authentication - Using Managed Approuter
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects A recipe.
XSUAA Based Authentication - Using Standalone ApprouterXSUAA Based Authentication - Using Standalone ApprouterThe other half: the same end-to-end XSUAA setup with an approuter you deploy and own. Published alongside the managed version, and the two are worth reading together because the difference between them is the whole decision.rahul_rajagopal, published 2023-09-25
XSUAA Local TestingXSUAA Local TestingAdding XSUAA to a CAP project two ways, and then the part that is usually missing: getting the authorisation to behave on a laptop rather than only after deployment. The default authentication mechanism is the easy half; testing it without a landscape is the reason this exists.ManasaManu, published 2024-10-17
XSUAA Local Testing
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects A recipe, Runnable code.
New and improved: Change Tracking pluginNew and improved: Change Tracking pluginThe 2.0 announcement, and unusually candid about why there is a 2.0 at all: the plugin already existed and was, in the author's words, plagued by many issues. What it records is every insert, update and delete with the user and the timestamp, aimed at root-cause analysis and at detecting changes nobody authorised. Generally available as of this post, having been hinted at as beta in the April release notes.published 2026-06-12
New and improved: Change Tracking plugin
cds 2, line ended. Affects A recipe, Runnable code.
Elevating Data Privacy in SAP CAP based GenAI Applications with CAP LLM PluginElevating Data Privacy in SAP CAP based GenAI Applications with CAP LLM PluginThe question underneath the enthusiasm: what leaves your landscape when a prompt goes to a model. The plugin's answer is to anonymise the sensitive fields through HANA before the prompt is sent, and this is the post that explains why that is the design rather than an option.AkashAmarendra, published 2024-02-02
Evolving the identity lifecycle for an AI-first futureEvolving the identity lifecycle for an AI-first futureCloud Identity Services as the foundation for authentication, identity lifecycle management and access across SAP landscapes, and the agent identity concepts and SAP-managed identity and access management scenarios SAP says reduce operational effort. The edges are to the service and to the two concerns the abstract names it for, Authentication and Identity provisioning; the abstract names the agent identity concepts and does not say what they are. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Sonia Petrescu and Swetta Singh, written here from SAP's abstract; the recording is not yet published.
Future-ready access governance from SAP: Strategy and innovationFuture-ready access governance from SAP: Strategy and innovationStrategy and road map for SAP Access Control and SAP Cloud Identity Access Governance: AI-enabled governance, hybrid deployment options and identity services for securing SAP landscapes and compliance. Neither product has an entry here; the edge is to Identity provisioning, the nearest concern, since access governance decides which users hold which roles in which systems, and the abstract names no identity service by name. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Sonia Petrescu and Swetta Singh, written here from SAP's abstract; the recording is not yet published.
Identity lifecycle and governance with SAP services and Microsoft EntraIdentity lifecycle and governance with SAP services and Microsoft EntraCloud Identity Services beside SAP Cloud Identity Access Governance and Microsoft Entra for one user lifecycle across SAP and third-party applications: the abstract states that SAP business roles can be included in Entra access packages, so that provisioning and governance run from Entra in a hybrid environment, which is the identity provisioning concern. Which SAP systems' roles, and over which protocol, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Martin Raepple of Microsoft, Plamen Pavlov, Regine Schimmer and Swetta Singh, written here from SAP's abstract; the recording is not yet published.
Transforming Enterprise Data Strategy with SAP Business Data CloudTransforming Enterprise Data Strategy with SAP Business Data CloudSAP's layered picture of SAP Business Data Cloud, from lake storage and compute up to a knowledge core and agents, with eight sub-pages that each work one part through. The data products page is the cataloguing and lineage part: datasets described by Open Resource Discovery metadata, listed in the BDC catalog and shared over Delta Sharing to SAP Databricks and SAP HANA Cloud, with SAP Datasphere as a consumer on the intelligent content page; other pages install intelligent content, bring SAP BW data in through the Data Product Generator, provision groups by SCIM from Cloud Identity Services into SAP Databricks, which is identity provisioning, and train predictive models in SAP Databricks that SAP AI Core then serves for batch and real-time scoring. The main page states direction more than mechanism, and the BW page marks SQL Share for derived and OData for analytical data products as to be available.published 2026-05-12
#CAP-TechBytes Input Validation#CAP-TechBytes Input ValidationThe annotations one at a time — @mandatory, @assert.unique, @assert.range including the enum form, @assert.format — each with what it produces. Ends on error handling, which is the part that decides whether any of it is usable from a UI.Thajunniza, published 2023-07-07
Declarative Programming in CAP: Less Code, More ValueDeclarative Programming in CAP: Less Code, More ValueAn argument for annotations over handlers, made from the case where it is most obvious: repetitive validation logic that could be declared instead of written. Describes what you want rather than how to get it, and lets the runtime decide the how.published 2026-02-05
Extend SAP Cloud Application Programming Model(CAP) Validations with the CAPVAL PluginExtend SAP Cloud Application Programming Model(CAP) Validations with the CAPVAL PluginThe complaint first: the built-in annotations are good for data integrity and poor at telling the user what went wrong, and there is no way to reuse a rule. capval, the plugin the post announces, adds @validation.message alongside the standard annotations rather than replacing them, and @validation.handler for a check written as a class. Published in January 2024, before the 1.2.0 line the README now pairs with @sap/cds 8.0.0 and above; the two annotations it shows are the two the README still documents.published 2024-01-09
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
Modern integration at TÜV Rheinland: APIs, events and cloud transformationModern integration at TÜV Rheinland: APIs, events and cloud transformationTÜV Rheinland's migration from SAP Process Orchestration to SAP Integration Suite with API-led connectivity and event-driven architecture, told through business cases. The abstract names what was used: the SAP Integration Suite, Event Mesh capability, API Management, generative AI for faster development and SAP Cloud ALM for monitoring. It states nothing about how any of them was used, so the edges rest on the names and on the Platform migration the story starts from. A TechEd 2026 session (Wednesday 28 October, Berlin), written here from SAP's abstract; the recording is not yet published.
Road map for SAP Integration Suite: What ships next across all capabilitiesRoad map for SAP Integration Suite: What ships next across all capabilitiesSAP's road map for SAP Integration Suite across its capability areas: API Management, event-driven integration, business process and trading partner integration, and hybrid runtimes for SAP and third-party systems. The abstract promises recent deliveries and the planned innovations that make the platform agent-ready within SAP Business AI Platform; it names the areas and no shipping item, so the edges rest on the product and the one area it names by a product name. A TechEd 2026 session (Thursday 29 October, Berlin; also IN804V, virtual), written here from SAP's abstract; the recording is not yet published.
How to consume UI5 custom libraries in BAS or VS CodeHow to consume UI5 custom libraries in BAS or VS CodeConsuming a custom UI5 library from a UI5 application locally, using yarn workspaces to resolve the dependency instead of adjusting the project before every deploy. The post is honest about its own history: the author had asked the question on SAP Community, found a workaround that needed a pre-deploy edit, and only later learned the workspace approach that removes it. Generator-based setup throughout, and 2021-vintage — yarn workspaces, generator-ui5-library and generator-easy-ui5.published 2021-04-06
UI Composition with Application Frontend ServiceUI Composition with Application Frontend ServiceWhy shared UI code is hard, and what Application Frontend changes about it. The piece first lays out the three usual answers and what each costs — copying files at development time and repatching every consumer, publishing an npm package and rebuilding every consumer, or hosting the code separately and paying for it in CORS and session handling, or in an extra network hop through a server-side proxy. It then shows a fourth that only this service can do: runtime server-side composition without the hop, configured through routes in the consuming application's xs-app.json, across three cases — a reusable application embedded in a consumer, and two further composition shapes. Read alongside the generator, which scaffolds the mta.yaml, xs-app.json and zipper configuration this model needs.Vadim Tomnikov, published 2026-05-18
DevOps with SAP BTPDevOps with SAP BTPHow SAP frames a delivery pipeline for applications on BTP Cloud Foundry: continuous integration through the SAP Continuous Integration and Delivery service and its pipeline templates for CAP and Fiori, transport and change management across environments, and a section on reasonable alternatives for teams with existing CI infrastructure. Culture first, tools second, and explicit that the setup differs on other BTP environments.published 2025-06-06
Explore version control and automation with GitHub in Cloud IntegrationExplore version control and automation with GitHub in Cloud IntegrationGitHub access set up in Cloud Integration: integration flows committed and versioned from Cloud Integration's own tools, several people working on the same artifacts, and a commit that triggers a CI/CD pipeline. The abstract states what the GitHub connection does and stops before the branch model, the pipeline's steps or which pipeline service runs them. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Marco Ertel, Morten Wittrock, Patrick Kelleher, Shivani Borkar and Tobin Sydneysmith, written here from SAP's abstract; the recording is not yet published.
Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and DeliveryGet Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and DeliveryWiring a CAP project into SAP's hosted CI/CD service, which is the pipeline you get without assembling one.SAP
Rethinking security for modern SAP solution landscapesRethinking security for modern SAP solution landscapesWhere risk goes when clean core moves custom logic out of SAP S/4HANA: into integration flows, CAP extensions, ABAP Cloud code and platform configuration, told through real attack stories, then scanning code, modelling attack paths, adding security gates to CI/CD pipelines and automating safely with Terraform. The scanning edge is to static analysis, the atlas's concern for security findings in ABAP code; the abstract lists the four surfaces and the four practices and describes none of them. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Tsovinar Chugaszyan, written here from SAP's abstract; the recording is not yet published.
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudSAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA CloudA pipeline for the database half of a CAP application, built with cds add pipeline — one command that writes a Jenkinsfile and a .pipeline folder — and then the mta module that makes a database change deploy itself.gcalixtos, published 2021-01-27
SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA Cloud
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects Runnable code.
ABAP Development Automation with ARC-1 and GitHub WorkflowsABAP Development Automation with ARC-1 and GitHub WorkflowsA sample repository puts an ABAP package into GitHub with abapGit and connects GitHub Actions to ARC-1 on BTP through an API key with no write tools, so abaplint on the diff, ABAP Unit and ATC through SAPDiagnose, label-triggered Copilot and Claude reviews, and ST22 dump triage all run as checks on a pull request. The review case is PR #14, where a SAPRead of the activated method let Claude state that a direct SELECT from MARA was new in the PR and not yet active in SAP, which a diff-only review cannot know. The test gate reads activated objects, so a team that pushes before activation needs a sandbox or a pull-and-activate step, and pulling a merged change back into SAP is named as the next step, not built.published 2026-05-12
Patterns for using LLMs in ABAP developmentPatterns for using LLMs in ABAP developmentLars Hvam compares eight ABAP development setups: assistance in SE80 or Eclipse, virtual files and MCP over ADT, a centrally managed MCP service, sandboxes, local Git, Git with read-only system context, and temporary ABAP systems for development and CI. The overview describes where source changes, review and system access happen, including abapGit synchronization and abaplint checks. It is dated March 2026; its risk, cost and autonomy ratings are the writer’s assessments.
Get an introduction to the cds REPLGet an introduction to the cds REPLcds repl as a way to ask the running model questions directly, which is the fastest route from a suspicion about a query to knowing.SAP
Add useful Extensions to Dev spaces in SAP Business Application StudioAdd useful Extensions to Dev spaces in SAP Business Application StudioStarts from the point capire makes — that CAP is editor-agnostic and BAS is the preconfigured option — and then does the thing that undoes preconfiguration: adds two extensions to a dev space for initialising data in a CAP application, with the uninstall procedure as well as the install. The uninstall half is what makes it worth keeping.showkath_naseem, published 2022-11-13
AI-enabled administration: Automating log analysis with generative AI hubAI-enabled administration: Automating log analysis with generative AI hubA log analysis tool for incident work, built in SAP Business Application Studio with the generative AI hub feature, which SAP AI Core ships as its LLM integration by its own documentation: it automates root-cause analysis over system errors and masks sensitive data. SAP's abstract states the tool's jobs and not how the hub is called, what the masking covers or which model answers. A TechEd 2026 session (Wednesday 28 October, Berlin), with no speaker listed in the catalogue at the time of writing, written here from SAP's abstract; the recording is not yet published.
An introduction to CDS Graphical Modeler for SAP Business Application StudioAn introduction to CDS Graphical Modeler for SAP Business Application StudioThe announcement of the graphical modeller, from the team that built it — what it draws, how to get a dev space that has it, and what it is for. The starting point for the two posts that follow it, and the record of when this became part of the editor rather than an idea.Xiao-fei_Song, published 2021-04-23
Creating structured types, enums and named aspects using the CDS Graphical ModelerCreating structured types, enums and named aspects using the CDS Graphical ModelerThe modelling constructs that are awkward to draw — structured types, enums, named aspects — done in the graphical modeller rather than in CDL.Xiao-fei_Song, published 2021-05-26
Develop CAP Project with Lazyvim in DockerDevelop CAP Project with Lazyvim in DockerA Docker image running Lazyvim with language server support for CDS, TypeScript and JSON, so a CAP project can be developed with an editing experience comparable to VS Code without leaving the keyboard. Narrow by intent, and the useful general point underneath it is that CAP's editor support reaches anything that speaks LSP.published 2024-03-28
Developing CAP applications in SAP Business Application StudioDeveloping CAP applications in SAP Business Application StudioThe overview written at the point BAS replaced Web IDE, and it is structured as a comparison — each step of building a CAP application, with the difference from the Web IDE experience called out beside it. Useful now mostly for what it records: which parts of CAP development the editor took over, and when.liat_b, published 2020-07-06
Explore SAP Fiori elements for ABAP developersExplore SAP Fiori elements for ABAP developersSAP Fiori elements for an ABAP developer who now builds the UI as well as the RAP business object behind it, the transactional model of ABAP Cloud, in SAP Business Application Studio; the abstract calls the UI side new territory for that developer, and a Fiori elements app is rendered from the service's Fiori annotations rather than hand-written UI code. The abstract names the tool and the stack and does not say which floorplan or annotations are shown. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Björn Schulz, written here from SAP's abstract; the recording is not yet published.
Extending SAP Autonomous SuiteExtending SAP Autonomous SuiteExtensibility across SAP Autonomous Suite: AI-enabled development in SAP Build solutions, the ABAP Cloud model among them, as the way extensions are designed, generated and deployed, and a direction for making extensions ready for agentic AI. The abstract names the suite, SAP Build and the ABAP Cloud model and no single feature, so the edges are to Extensibility, the concern, and to SAP Build Code, the SAP Build solution held here in which Joule generates and deploys development; which other SAP Build solutions the session shows is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Alexander Rother and Khaled MUSILHY, written here from SAP's abstract; the recording is not yet published.
Get familiar with your first CAPM project using CDS graphic modelerGet familiar with your first CAPM project using CDS graphic modelerThe modeller as an entry point rather than an aid — a first CAPM project built by drawing it, for the developer who has not yet internalised CDL, annotations and metadata.Jyoti_ranjan, published 2025-07-05
Making CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application StudioMaking CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application StudioThe Storyboard from the other side — someone who came across it while learning the high-productivity tools, rather than someone who shipped it. It follows the whole arc a CAP project takes through the tool: entities, relationships, services, sample data, a UI, roles, and external resources, each as a thing the diagram can add rather than a file you open.Aryan_Raj_Sinha, published 2023-09-20
Migrating Your CAP Applications from SAP Web IDE to SAP Business Application StudioMigrating Your CAP Applications from SAP Web IDE to SAP Business Application StudioA migration checklist, and a reminder of how much of a CAP project used to be editor-specific: Web IDE configuration files to delete, a build to move to the Cloud MTA Build Tool, a CAP Java version to raise. Historical — Web IDE is gone — but it is the clearest list of what the tooling boundary used to include.liat_b, published 2020-07-09
Migrating Your CAP Applications from SAP Web IDE to SAP Business Application Studio
Editor support changed in @sap/cds-dk 8.8.0, 2025-03-04. Affects A recipe.
Part 1: How to create CAPM project in BASPart 1: How to create CAPM project in BASThe claim in the opening is the interesting part — database, service and UI without switching technologies — and then the project that follows from it. Part one, and it stops at a project that runs.Vennilla00, published 2026-03-05
Part 1: How to create CAPM project in BAS
Generators changed in @sap/cds-dk 10.0.3, 2026-07-02. Affects A recipe.
Running CAP Node Applications in SAP Business Application StudioRunning CAP Node Applications in SAP Business Application StudioThe Run Configurations tool, which is where binding and mocking live in BAS rather than in a terminal. Three things it does: several named configurations per application in a tree, dependencies bound to real service instances, and OData dependencies mocked. The author notes the configurations are standard launch entries underneath, which is the detail that lets you leave the tool behind if you want to.liat_b, published 2020-10-22
SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)A working editor setup for CAP with TypeScript, listed extension by extension across the Node.js and UI5 halves. The kind of post that ages by attrition rather than by being wrong — the reasoning about what an editor needs to know about a CDS project outlives any particular extension in the list.published 2024-04-29
SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS)
Editor support changed in @sap/cds-dk 8.8.0, 2025-03-04. Affects Runnable code.
Storyboard for cloud business applications using CAP in SAP Business Application StudioStoryboard for cloud business applications using CAP in SAP Business Application StudioThe first release of the Storyboard, written by the team shipping it. Where the graphical modeller draws the data model, this draws the application: its logical components and the connections between them, alongside an application explorer enhanced in the same release. Short, and it reads as an announcement — the fuller account of using it is Aryan_Raj_Sinha's post two years later.liat_b, published 2021-02-15
Streamlining CAP Development with CDS Graphical Modeler in SAP Business Application StudioStreamlining CAP Development with CDS Graphical Modeler in SAP Business Application StudioThe case for the graphical modeller stated as a scale problem rather than a preference: a model held only as code gets hard to keep in your head once it is large, and the diagram is a second view of the same file. The most recent write-up of the tool here, and the one that treats it as an everyday working aid rather than as a new feature.Jyoti_ranjan, published 2025-07-16
The fastest and easiest way to run full-stack applications in SAP Business Application StudioThe fastest and easiest way to run full-stack applications in SAP Business Application StudioThe gap between a mocked local run and a real one, and the tooling that closes it — live data, remote services, defaults overridden. The same author's Run Configurations post is the reference for the tool; this is the case it was built for.liat_b, published 2023-08-02
Tips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilitiesTips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilitiesFour settings, from somebody who works on the annotation language server. The premise is the interesting part: CAP's annotation syntax is looser than ABAP CDS or EDMX — a record can be written with or without an explicit type — so the completion has to guess how verbose you want it, and this is where you tell it. Then filtering the completion list, reading the icons, ordering diagnostics by severity, and turning i18n problems on only when you want them.maryana_naboka, published 2021-10-25
Tips: VS Code ExtensionsTips: VS Code ExtensionsA short list of the VS Code extensions worth having for this stack, from 2020. Dated by definition and still the kind of page people go looking for.jhodel18, published 2020-07-13
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one goUse Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one gocds watch serves the service and the app folder but not the approuter, so anything needing a JWT means a second terminal started by hand. This replaces that with a VS Code task definition — the tasks.json is in the post — so the whole local stack comes up on one command.pieterjanssens, published 2021-04-09
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one go
Local development has changed twice since this was published, most recently in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
CAP Initializr: Generate SAP CAP Projects in SecondsCAP Initializr: Generate SAP CAP Projects in SecondsA hosted project generator for CAP in the shape of Spring Initializr — pick the structure, dependencies and configuration in a browser and download the result, rather than running cds init and then wiring the facets by hand. The post is an MVP announcement asking for feedback, and the tool lives at a Cloud Foundry trial URL rather than on npm, so it is a direction being tested in public rather than something to depend on.Saptarshi017, published 2026-03-23
cf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutescf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutesA generator from 2020 that goes further than scaffolding — an end-to-end application created and deployed to Cloud Foundry in one run. Predates most of what cds add now does.former_member604013, published 2020-07-29
cf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutes
Generators has changed twice since this was published, most recently in @sap/cds-dk 10.0.3, 2026-07-02. Affects A recipe, Runnable code.
Part 1: How to create CAPM project in BASPart 1: How to create CAPM project in BASThe claim in the opening is the interesting part — database, service and UI without switching technologies — and then the project that follows from it. Part one, and it stops at a project that runs.Vennilla00, published 2026-03-05
Part 1: How to create CAPM project in BAS
Generators changed in @sap/cds-dk 10.0.3, 2026-07-02. Affects A recipe.
Prompt-Driven Development: Building Full-Stack SAP CAP Apps from User StoriesPrompt-Driven Development: Building Full-Stack SAP CAP Apps from User StoriesA user story in, a scaffolded full-stack CAP application out, through SAP Build Code and Joule. The question it is actually asking is how much of the foundational code is worth generating, and it answers by generating all of it.AnuradhaDhingan, published 2025-12-11
加速开发和部署的CAP CDS和Fiori一些实用命令加速开发和部署的CAP CDS和Fiori一些实用命令In Chinese. A command reference rather than a walkthrough — cds import, cds compile, cds deploy --to sqlite, cds add hana, cds add xsuaa — grouped by what they are for. The kind of page that is more useful than a tutorial once you already know what you are doing.TiaXu, published 2022-10-21
加速开发和部署的CAP CDS和Fiori一些实用命令
Generators has changed twice since this was published, most recently in @sap/cds-dk 10.0.3, 2026-07-02. Affects A recipe, Runnable code.
Before You Upgrade S/4HANA: Static UI5 Checks with MCPBefore You Upgrade S/4HANA: Static UI5 Checks with MCPA UI5 version upgrade checked against one app by pairing two MCP servers: the ui5_version_diff tool added to mcp-sap-docs, which reads a bundle from ui5-lib-diff downloaded once at setup and filters it by version range, change type, library or query text, and @ui5/mcp-server, whose get_project_info, get_version_info, run_ui5_linter and run_manifest_validation say what the app uses and what fails. Run with a ui5-versions-upgrade.md skill on the legacy app from From SEGW and Legacy UI5 to RAP with ARC-1, from SAPUI5 1.84.59 to 1.147.2, the diff range held 985 deprecations and 961 What's New entries, and the linting and manifest validation narrowed that to findings in this app, among them jQuery.sap.require, synchronous bootstrap, the sap_belize theme, sap.m.MessagePage and an old manifest _version. The checks read the source in a local checkout and never the deployed app, so the report is a first pass: a changelog entry is not proof that a workaround can be deleted, and the app still has to be run and tested.published 2026-05-20
Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configurationIntroducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configurationThe author's own announcement, and precise about scope: today it catches deprecated key/value entries in CAP's JSON configuration, and the ambition is that it grows into best practices, suggestions and autofixes the way any ESLint plugin does. The implementation detail worth knowing is that it uses modern ESLint's JSON language support rather than a generic parser, which is what makes linting a configuration file rather than source code work at all.published 2025-09-08
A Fiori Launchpad Sandbox for all your CAP-based projects - OverviewA Fiori Launchpad Sandbox for all your CAP-based projects - OverviewWhere cds-launchpad-plugin came from, told as a learning exercise: the author wanted a real problem to teach himself TypeScript on, and picked the thing he kept redoing in every CAP project — a launchpad to see all the UI applications in one place. The origin post for an entry whose 2023 update is also indexed here.published 2022-03-14
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupA Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupThe hands-on half published the same day as the overview: the launchpad module wired into the CAP sample repository, step by step from a global cds-dk install. Same-day pairs like this are worth keeping together — the overview argues, this one is the thing you follow.published 2022-03-14
Avoid design time CAP server restarts when maintaining local data filesAvoid design time CAP server restarts when maintaining local data filescds watch restarting on every file change is the feature; this is the case where it is not. Editing a CSV seed file mid-edit restarts the server against half-finished data, and the post is about suppressing that without giving up the watch loop. A small friction most people work around silently rather than fix.published 2024-04-26
Avoid design time CAP server restarts when maintaining local data files
Local development changed in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
BTP CAP : How to Connect to Remote Services Locally in CAP ApplicationBTP CAP : How to Connect to Remote Services Locally in CAP ApplicationThe same problem four years earlier: a CAP application that consumes a remote service, running locally against the real thing rather than against a mock.showkath_naseem, published 2022-12-12
CAP Typescript + Fiori Typescript + live reload Initial app setupCAP Typescript + Fiori Typescript + live reload Initial app setupA full-stack TypeScript starting point recorded as it was arrived at — the terminal commands and the configuration files, in order, for the CAP side, the conversion to TypeScript, and then the Fiori side. The author is explicit that it takes a while to go through, which is the honest framing for a setup that has this many steps.Christophe_SW, published 2023-06-18
CAP Typescript + Fiori Typescript + live reload Initial app setup
TypeScript patterns changed in @cap-js/cds-typer 0.5.0, 2023-07-25. Affects Runnable code.
cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async Launchpadcds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async LaunchpadThe maintainer on a set of changes rather than on the plugin's original purpose, which is indexing every SAPUI5 project in a workspace into one sandbox launchpad so all of them can be tested together. What moved: it became a CAP plugin, gained UI5 Tooling support, and moved to the async launchpad — each framed as keeping pace with where SAPUI5 itself is going rather than as a feature.published 2023-12-11
Create a Simple CAP Application and Explore the DefaultsCreate a Simple CAP Application and Explore the DefaultsThe shortest way in: a project from the wizard, then a look at what CAP assumed on your behalf. The defaults are the subject rather than the application — which is the right first lesson in a framework whose whole argument is convention over configuration.SAP
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.
Develop CAP Project with Lazyvim in DockerDevelop CAP Project with Lazyvim in DockerA Docker image running Lazyvim with language server support for CDS, TypeScript and JSON, so a CAP project can be developed with an editing experience comparable to VS Code without leaving the keyboard. Narrow by intent, and the useful general point underneath it is that CAP's editor support reaches anything that speaks LSP.published 2024-03-28
Develop SAP CAP apps inside a VS Code Docker ContainerDevelop SAP CAP apps inside a VS Code Docker ContainerA VS Code dev container configuration with everything a CAP project needs already in it, published as a repository rather than as instructions. The 2020 half of a pair whose other half, four years later, does the same for Lazyvim — the same author solving the same problem twice as his editor changed.published 2020-02-20
Develop SAP CAP apps inside a VS Code Docker Container
Local development has changed twice since this was published, most recently in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
Don't Wait for SAP: Unlocking MCP Servers in BAS Right NowDon't Wait for SAP: Unlocking MCP Servers in BAS Right NowA workaround post with a grievance behind it: MCP servers were promoted heavily at SAP TechEd, most IDEs support them, and Business Application Studio limits you to Joule. This is how to run them there anyway. Worth reading as evidence of where the tooling gap sits rather than only for the recipe, which by nature has a shelf life.published 2025-11-27
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
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.
Get an introduction to the cds REPLGet an introduction to the cds REPLcds repl as a way to ask the running model questions directly, which is the fastest route from a suspicion about a query to knowing.SAP
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
Remote Debugging of SAP CAPM App - NodejsRemote Debugging of SAP CAPM App - NodejsDebugging a CAP Node.js application that is not on your machine, built up from cds init and a custom action so there is something to breakpoint. The part people need is at the end; the beginning is there so the end is reproducible.darshanv23, published 2025-06-05
Running CAP Node Applications in SAP Business Application StudioRunning CAP Node Applications in SAP Business Application StudioThe Run Configurations tool, which is where binding and mocking live in BAS rather than in a terminal. Three things it does: several named configurations per application in a tree, dependencies bound to real service instances, and OData dependencies mocked. The author notes the configurations are standard launch entries underneath, which is the detail that lets you leave the tool behind if you want to.liat_b, published 2020-10-22
SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAPSAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAPGetting UI5 Tooling and the CAP server onto one port under one command, using cds-plugin-ui5 — which the post presents as the thing that removes the proxy and destination configuration a full-stack dev setup otherwise needs. Part one of a journey that goes on to put the approuter in front at development time.published 2023-10-13
SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAP
cds-plugin-ui5 has been through 11 major lines since this was published, most recently 0.15 (2025-11), 0.16 (2025-12), 0.17 (2026-03). Affects Runnable code.
Set up a self-contained development environment for CAP Node.jsSet up a self-contained development environment for CAP Node.jsA CAP development environment that carries its own dependencies, so the machine it runs on stops being part of the setup.SAP
Set up VS Code on Chrome OS for local Application Programming Model developmentSet up VS Code on Chrome OS for local Application Programming Model developmentA CAP development environment on a Chromebook, written from preference rather than constraint — the author sets out why Chrome OS is his primary machine before showing the setup. Carries its own updates section noting what has changed since, which for a 2018 post about an operating system is most of it. The interest now is that local CAP development was portable this early.published 2018-10-16
Set up VS Code on Chrome OS for local Application Programming Model development
Local development has changed twice since this was published, most recently in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
The fastest and easiest way to run full-stack applications in SAP Business Application StudioThe fastest and easiest way to run full-stack applications in SAP Business Application StudioThe gap between a mocked local run and a real one, and the tooling that closes it — live data, remote services, defaults overridden. The same author's Run Configurations post is the reference for the tool; this is the case it was built for.liat_b, published 2023-08-02
Use mocking to embrace auth in your domain model from the outsetUse mocking to embrace auth in your domain model from the outsetMock users locally so authorization is modelled from the first commit instead of retrofitted — the argument being that auth added late reshapes a domain model rather than sitting on top of it.SAP
Use SCP CF Destination service in NodeJs locallyUse SCP CF Destination service in NodeJs locallyReading a destination from a laptop, where the environment variable the destination service normally provides does not exist. A small gap with a real cost, since the alternative is deploying to test every change to a remote call.WouterLemaire, published 2020-05-28
Use SCP CF Destination service in NodeJs locally
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects Runnable code.
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one goUse Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one gocds watch serves the service and the app folder but not the approuter, so anything needing a JWT means a second terminal started by hand. This replaces that with a VS Code task definition — the tasks.json is in the post — so the whole local stack comes up on one command.pieterjanssens, published 2021-04-09
Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one go
Local development has changed twice since this was published, most recently in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
XSUAA Local TestingXSUAA Local TestingAdding XSUAA to a CAP project two ways, and then the part that is usually missing: getting the authorisation to behave on a laptop rather than only after deployment. The default authentication mechanism is the easy half; testing it without a landscape is the reason this exists.ManasaManu, published 2024-10-17
XSUAA Local Testing
Authorization has changed twice since this was published, most recently in CAP Java 3.7.1, 2025-01-30. Affects A recipe, Runnable code.
加速开发和部署的CAP CDS和Fiori一些实用命令加速开发和部署的CAP CDS和Fiori一些实用命令In Chinese. A command reference rather than a walkthrough — cds import, cds compile, cds deploy --to sqlite, cds add hana, cds add xsuaa — grouped by what they are for. The kind of page that is more useful than a tutorial once you already know what you are doing.TiaXu, published 2022-10-21
加速开发和部署的CAP CDS和Fiori一些实用命令
Generators has changed twice since this was published, most recently in @sap/cds-dk 10.0.3, 2026-07-02. Affects A recipe, Runnable code.
AI needs a foundation: A map of the plug-in ecosystem for CAPAI needs a foundation: A map of the plug-in ecosystem for CAPA map of the plug-ins for CAP (@sap/cds), official, community and independent, drawn across regions such as integration, performance and tooling, so that a team can see what exists to reuse and what it would have to build: the question plugin authoring answers from the other side. SAP's abstract places CAP at the centre of its AI strategy, with model context protocol support, and the map is offered as the foundation under that. A TechEd 2026 session (Tuesday 27 October, Community Theater, Berlin), presented by Mike Zaschka, written here from SAP's abstract; the recording is not yet published.
Reusable components for CAP with cds-pluginReusable components for CAP with cds-pluginThe post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it.published 2023-04-30
Add useful Extensions to Dev spaces in SAP Business Application StudioAdd useful Extensions to Dev spaces in SAP Business Application StudioStarts from the point capire makes — that CAP is editor-agnostic and BAS is the preconfigured option — and then does the thing that undoes preconfiguration: adds two extensions to a dev space for initialising data in a CAP application, with the uninstall procedure as well as the install. The uninstall half is what makes it worth keeping.showkath_naseem, published 2022-11-13
Avoid design time CAP server restarts when maintaining local data filesAvoid design time CAP server restarts when maintaining local data filescds watch restarting on every file change is the feature; this is the case where it is not. Editing a CSV seed file mid-edit restarts the server against half-finished data, and the post is about suppressing that without giving up the watch loop. A small friction most people work around silently rather than fix.published 2024-04-26
Avoid design time CAP server restarts when maintaining local data files
Local development changed in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
Avoiding Data Loss When Loading Initial Data with CSV Files in CAPAvoiding Data Loss When Loading Initial Data with CSV Files in CAPcds add tiny-sample gives you a CSV in db/data and it loads on deploy, which looks like a way to seed a productive application. The catch, stated plainly: change the CSV or the schema and HANA is reinitialised from the file, taking whatever users had entered with it.MioYasutake, published 2025-09-15
Handling CSV Data Deployment in CAP HDI Without Data LossHandling CSV Data Deployment in CAP HDI Without Data LossThe same trap from the HDI side: .hdbtabledata hands the container full ownership of the data, so the next deployment overwrites the table from the file. Two independent posts three months apart on the same sharp edge, which is a fair signal about how sharp it is.Sekar_Somasundaram, published 2025-06-04
ISO content for common CAP typesISO content for common CAP typesThe npm package that supplies ISO-standard content — countries, languages, currencies, timezones — for CAP's common types, and how it works underneath. The author flags the length and the reason for it up front, having followed the mechanism further than the question required, which is what makes it worth reading rather than a package announcement.published 2024-03-14
ISO content for common CAP types
Seed data changed in @sap/cds-dk 7.9.1, 2024-05-02. Affects Runnable code.
Patterns for using LLMs in ABAP developmentPatterns for using LLMs in ABAP developmentLars Hvam compares eight ABAP development setups: assistance in SE80 or Eclipse, virtual files and MCP over ADT, a centrally managed MCP service, sandboxes, local Git, Git with read-only system context, and temporary ABAP systems for development and CI. The overview describes where source changes, review and system access happen, including abapGit synchronization and abaplint checks. It is dated March 2026; its risk, cost and autonomy ratings are the writer’s assessments.
ABAP Development Automation with ARC-1 and GitHub WorkflowsABAP Development Automation with ARC-1 and GitHub WorkflowsA sample repository puts an ABAP package into GitHub with abapGit and connects GitHub Actions to ARC-1 on BTP through an API key with no write tools, so abaplint on the diff, ABAP Unit and ATC through SAPDiagnose, label-triggered Copilot and Claude reviews, and ST22 dump triage all run as checks on a pull request. The review case is PR #14, where a SAPRead of the activated method let Claude state that a direct SELECT from MARA was new in the PR and not yet active in SAP, which a diff-only review cannot know. The test gate reads activated objects, so a team that pushes before activation needs a sandbox or a pull-and-activate step, and pulling a merged change back into SAP is named as the next step, not built.published 2026-05-12
Patterns for using LLMs in ABAP developmentPatterns for using LLMs in ABAP developmentLars Hvam compares eight ABAP development setups: assistance in SE80 or Eclipse, virtual files and MCP over ADT, a centrally managed MCP service, sandboxes, local Git, Git with read-only system context, and temporary ABAP systems for development and CI. The overview describes where source changes, review and system access happen, including abapGit synchronization and abaplint checks. It is dated March 2026; its risk, cost and autonomy ratings are the writer’s assessments.
Rethinking security for modern SAP solution landscapesRethinking security for modern SAP solution landscapesWhere risk goes when clean core moves custom logic out of SAP S/4HANA: into integration flows, CAP extensions, ABAP Cloud code and platform configuration, told through real attack stories, then scanning code, modelling attack paths, adding security gates to CI/CD pipelines and automating safely with Terraform. The scanning edge is to static analysis, the atlas's concern for security findings in ABAP code; the abstract lists the four surfaces and the four practices and describes none of them. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Tsovinar Chugaszyan, written here from SAP's abstract; the recording is not yet published.
A Fiori Launchpad Sandbox for all your CAP-based projects - OverviewA Fiori Launchpad Sandbox for all your CAP-based projects - OverviewWhere cds-launchpad-plugin came from, told as a learning exercise: the author wanted a real problem to teach himself TypeScript on, and picked the thing he kept redoing in every CAP project — a launchpad to see all the UI applications in one place. The origin post for an entry whose 2023 update is also indexed here.published 2022-03-14
A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupA Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setupThe hands-on half published the same day as the overview: the launchpad module wired into the CAP sample repository, step by step from a global cds-dk install. Same-day pairs like this are worth keeping together — the overview argues, this one is the thing you follow.published 2022-03-14
Accelerating SAP solution transformations with the agent-led toolchainAccelerating SAP solution transformations with the agent-led toolchainTricentis's agent-led toolchain for SAP solution transformations: AI-driven impact analysis and automated testing, which the abstract says reduce risk and speed up change delivery toward release readiness. Nothing named is an atlas entry and the toolchain is not one; the piece attaches to Testing because automated testing is the one concern the abstract names, and it states no product, system or kind of test. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Charlene Smith, written here from SAP's abstract; the recording is not yet published.
CAP: Unit Testing using Mocha and ChaiCAP: Unit Testing using Mocha and ChaiUnit tests added to an existing CAP service rather than written alongside a new one, which is the harder and more common case. Mocha and Chai wired up by hand, from a time before cds.test was the obvious answer.jhodel18, published 2020-05-31
CAP: Unit Testing using Mocha and Chai
Testing has changed 3 times since this was published, most recently in @cap-js/cds-test 1.0.0, 2026-04-23. Affects Runnable code.
cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async Launchpadcds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async LaunchpadThe maintainer on a set of changes rather than on the plugin's original purpose, which is indexing every SAPUI5 project in a workspace into one sandbox launchpad so all of them can be tested together. What moved: it became a CAP plugin, gained UI5 Tooling support, and moved to the async launchpad — each framed as keeping pace with where SAPUI5 itself is going rather than as a feature.published 2023-12-11
Create Automated System Tests for SAP Cloud Application Programming Model ProjectsCreate Automated System Tests for SAP Cloud Application Programming Model ProjectsEnd-to-end tests driving the UI with wdi5, run in the pipeline — the layer above cds.test, which stops at the service boundary.SAP
Enhancing Unit Testing in SAP CAP Java Applications with GitHub CopilotEnhancing Unit Testing in SAP CAP Java Applications with GitHub CopilotBuilt on SAP's own CAP Java unit-testing guide, and the question is narrow: how much of that does an assistant actually write for you. The author's own getting-started post is the one to read first.Anjali_Pathak, published 2025-09-04
Getting Started with Unit Testing in SAP CAP Java ApplicationsGetting Started with Unit Testing in SAP CAP Java ApplicationsThe plain introduction: what the CAP Java framework gives you to test against, and how to start. Prerequisite to the same author's Copilot post.Anjali_Pathak, published 2025-07-28
Getting Started with Unit Testing in SAP CAP Java Applications
Testing changed in @cap-js/cds-test 1.0.0, 2026-04-23. Affects Runnable code.
How to Restrict CRUD Operations in SAP CAPM Using @Capabilities, @readonly and Test APIs with .httpHow to Restrict CRUD Operations in SAP CAPM Using @Capabilities, @readonly and Test APIs with .httpEntities are exposed with full CRUD by default, and this is how to take operations away again — @Capabilities for Insert, Update and Delete individually, @readonly for the blunt version. Tested with .http files rather than a UI, which keeps the check on the service.DeepaRagho, published 2026-05-22
Integration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming ModelIntegration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming ModelIntegration rather than unit tests, and from 2020 — the earliest testing entry here, and a reminder of what had to be assembled by hand before the framework had an answer.former_member428487, published 2020-02-23
Integration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming Model
Testing has changed 3 times since this was published, most recently in @cap-js/cds-test 1.0.0, 2026-04-23. Affects Runnable code.
Simplifying SAP BTP Authentication in Pipelines with SAP Passport and PlaywrightSimplifying SAP BTP Authentication in Pipelines with SAP Passport and PlaywrightClient-certificate login to BTP works locally and has historically not worked in automated pipelines. The post uses Playwright's then-new client certificate support to close that, which is a sideways use of a browser automation library and the reason it is worth recording — the constraint it removes is a CI constraint, not a testing one.published 2024-11-08
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewTesting your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbviewcds.test covers the service; this covers what is underneath it, where the artifact is an hdbprocedure or an hdbview that CDS never sees. That means a real HDI container, so most of the post is about where to get one and how to give CAP access to it — the tests are the easy part once that is true.Tristan, published 2022-08-30
Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbview
Testing has changed 3 times since this was published, most recently in @cap-js/cds-test 1.0.0, 2026-04-23. Affects A recipe, Runnable code.
Using Postman for API Testing with XSUAAUsing Postman for API Testing with XSUAAA way to get a JWT without routing traffic through the approuter and picking the token out of it. The author walks the alternatives first — redirect through the router, intercept the token — and says what is wrong with each, before requesting the token from the service directly.mariusobert, published 2020-03-02