Connecting Two SAP CAP Projects Without Duplicating Your Data
Sharing data between two SAP CAP projects? Don't duplicate it — connect them.
Sharing data between two SAP CAP projects? Don't duplicate it — connect them.
What you will get from this blogIn this blog, you’ll grasp how Business Information Extraction (BIE), powered by generative AI in SAP Service Cloud Version 2, turns unstructured service inputs via emails into structured, case-ready data. Btw, for sa...
5 Things I Wish I Knew Before Starting ABAP on SAP S/4HANA
Week 1 — Model the BoardChallenge series: Snake & Ladder Developer Challenge | Week 1 of 4 Dates: 6–12 July 2026The SetupEvery game needs a board. Before any snake can bite or ladder can lift, you need a data model that captures the state of a game ...
SAP Developer ChallengeSnake & Ladder with SAP CAP Status Transition FlowsWelcome to the July 2026 SAP Developer Challenge — a 4-week hands-on challenge where you build a multiplayer Snake & Ladder game as a fully functional SAP CAP service, powered ...
Well, it's the end of the month, which means time for a wrap up of the Developer Challenge we've just had. It's been a lot of fun for us to create the questions and see how much you've all participated, and, from your comments, how much you've also e...
The CDS compiler is a very capable mechanism and can advise and warn us if we present questionable design choices in our models. It can even refuse to continue in extreme circumstances.Let's say we have a Book entity defined thus:entity Book { key ...
There is great support for CAP development in IDEs such as VS Code and IntelliJ. Moreover, because the editor features for CDS are made available in the form of a language server (using the Language Server Protocol or LSP), they can also be used in o...
The Internet Engineering Task Force (IETF) is the premier standards development organisation for the Internet. One of the ways that their work finds its way to the public in general and to engineers and techninians in particular is via documents, spe...
When thinking about schema evolution and starting to plan changes while still in development, the "drop-create" strategy is common.The cds deploy command will generate the appropriate SQL/DDL statements to effect schema changes. Most commonly this co...
As in most contexts, there are some name restrictions in the underlying database systems, with regards to unusual or special characters, or reserved words. When you use names like this in your CDS models they are escaped when they're converted to the...
When embracing local-first development and using cds watch, we're actually using a convenience shortcut for:cds serve all --with-mocks --in-memory?That --with-mocks option for cds serve is described thus:--with-mocks Use this in combination with t...
In an earlier question in this challenge, we looked at the managed aspect in the context of common and reusable definitions. This aspect causes each entity to which it is assigned to gain four new elements thus:createdAt : Timestamp @cds.on.insert :...
When building our CDS model, we describe, amongst other things:typesaspectsentitiesservicesThe CDL for each of these objects is clear and simple. That's because of the intent behind the design of CDS as a whole, but also because there's a particular ...
The cds REPL is a powerful facility that helps us explore and debug. It's based on the regular Node.js REPL, which has a number of REPL-level commands:; node Welcome to Node.js v24.15.0. Type ".help" for more information. > .help .break Sometimes ...
At one level, the CDS family of languages cover definitions, queries and expressions, in the form of CDL, CQL and CXL respectively. Each of these languages have a human-readable form and a machine-readable form. For example, while CDL is the human-re...
Greetings earthlings!We're part way through now at the end of this month's SAP Developer Challenge on CAP knowledge, and you folks seem to be having a good time and doing well! Here are some stats - updated Sun 28 Jun at 1530 BST (GMT+0200).We've had...
When defining a service, it's common to expose targets that are related. The classic example might be books and authors:using bookshop as my from '../db/schema'; service AdminService { entity ListOfBooks as projection on my.Books excluding { price...
When modelling with CDS and its family of languages we have access to a wide selection of clean and concise declarative syntax. In the expressions area there are expressions (and in particular path expressions) and also a certain style of filter.Thes...
Within the CDS family of languages we have CXL, the CDS Expression Language. In the context of CDS models and queries, CXL brings the ability to use expressions for describing calculations, declaring conditions, and more, all of which enriches the CD...
Within the topic of security and data privacy and specifically within security, we have:Authentication: verification of a user's identityAuthorization: checking what level of access a given user hasIn other words, "who" a user is (authentication), an...
The "effective" configuration for a given project is made up from values that can be taken from a number of different source locations, shown here:There are built-in defaults, user-specific defaults, static and user-specific project settings and more...
At the CAP-level, support for multiple databases is available (SQLite, Postgres, HANA, H2). This support includes standard operators and standard functions, portable across the database runtimes. There are various functions in this set, across differ...
In domain modelling, we can have name prefixes for the components of our models. They're optional, but useful, especially if reusability is a factor. This prefixing can be defined with either the namespace or the context directives, or a combination ...
I need clarification on how the task-based outbox processing behaves in a horizontally scaled deployment with multiple application instances.
Among the CDS annotations for declaring constraints when modelling, there are a handful that can be used to drive behaviour and restrictions in Fiori UIs, by causing the generation of appropriate annotations in the service's metadata.One of these ann...
A set of common types and aspects is great, and our models are the better for using them. But what about actual data? There are some types, which are defined as associations to entities, and it would be useful to be able to have access to and load in...
CDS provides a set of common types and aspects for reuse in CDS models, so we can avoid reinventing the wheel each time. Moreover, we end up with concise models that are easier to understand, and our models are more interoperable.In this set, there's...
SAP Developer Challenge - CAP KnowledgeUpdate: This challenge is now at an end - read the summary and wrap up post for final facts and figures!Welcome to the Developer Challenge for this month of June 2026. You can guess from the "CAP Knowledge" titl...
A write-up of ODATANO, a CAP plugin I've been building that exposes the Cardano blockchain as three OData V4 services.SAP records are trusted but mutable. Anchoring them as immutable proofs has traditionally meant Hyperledger Fabric, a consortium, an...
If you have worked with SAP BTP before, you are likely already familiar with the basics of SAP Cloud Application Programming Model (CAP) development, at least within a Trial Account. Rather than starting from the very beginning, this blog assumes a f...
Setting up CAP projects is repetitive, error-prone, and time-consuming.CAP Initializr eliminates all of that—so you can focus on building, not configuring.
Learn how to implement dynamic subaccount-based routing in applications built with the SAP Cloud Application Programming Framework on SAP Business Technology Platform. This blog explains how to use SAP BTP Destination Service together with a catalog ...
A SAP architect shares an honest take on CAP, the competence challenge, and the reality of building side-by-side extensions — including where the APIs end and the creativity begins.
My Own knowledge and Experience summarized into Copilot rules to follow for SAP CAP and SAP UI5 development shared to whole SAP Community
PurposeTo create a simple test application showing how to use Bound and Unbound ODATA V4 callsIn a CAP Application.RequirementsAccess to the SAP Cloud Business Application StudioDevelopers Role to create applications.Bound and Unbound ODATA V2 and OD...
Hi ExpertWhen i do exercise following the course "Develop cloud applications using SAP Business Application Studio", i cannot find the Booster for business application studio.Who can tell me the reason?
Kickstart your SAP BTP journey with this beginner-friendly, end-to-end guide. Learn how to set up your trial account, configure HANA Cloud, build CAP services, deploy applications, and create Fiori apps—all in one comprehensive walkthrough.
Connecting SAP Business Application Studio (BAS) to SAP S/4HANA Cloud Public Edition APIs is a fundamental requirement for modern cloud-native development on SAP Business Technology Platform (BTP).
To simplify on how to create a CAP Application to enable testing ODATA V4 ODATA calls to perform Post and Get calls.
Purpose.To show how to create a simple CAP Application called Hello World.Overview.To help getting started with creating an SAP CAP application and to help with the learning journey.Prerequisites. Access to Visual Studio code On-Premises or SAP Cloud...
This blog post describes how to create a CAP application that retrieves DMQ messages from SAP Advanced Event Mesh for quarantine. Retrieving DMQ messages from the message broker before their TTL ends safeguards messages from deletion and keeps the me...
45 minutes. That's how long it took to build a Customer Feedback & Complaint Management system on SAP BTP: 11 backend entities, 4 Fiori apps with 2,500+ lines of UI annotations, semantic coloring, and working navigation.It's not ready to ship project...
In this blog post I report on my recent experiments and findings on how to implement a semantic search in CAP Node.js. The goal for the search mechanism was to be able to find the item in an entity with the best semantic match based on a user query (...
Problem: With @sap-cloud-sdk/mail-client deprecated, many CAP developers are left wondering how to reliably send automated or formatted emails (error alerts, approvals, reports) from their CAP services on SAP BTP.Solution: This post shows a practical...
Integrating SAP Advanced Event Mesh with the official plugin requires configuring OAuth authentication across multiple systems.This guide documents the complete setup process, including Identity Authentication Services configuration, OAuth profile cr...
This is just a quick note about a discovery I made in capire. SAP CAP (Node.js) will support task scheduling (including callbacks) for events (actions/functions are also events) in a future release. This is potentially very useful for building AI age...
Hello Experts,is there any chance to get the schema name of the tenant specific HDI container?In our CAP Java application we have a REST endpoint in which we access the tenant database using JDBC template. In one of the queries we need to read from t...
This guide presents a practical example to implement custom Basic Authentication in SAP CAP (Node.js). We focus purely on the technical setup required to securely verify user credentials and integrate the authenticated user into the CAP runtime conte...
| User | Count |
|---|---|
| 135 | |
| 18 | |
| 12 | |
| 10 | |
| 6 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 |
| Subject | Likes |
|---|---|
| 13 | |
| 13 | |
| 12 | |
| 11 | |
| 7 | |
| 6 | |
| 6 | |
| 6 |