BrowseAll ecosystems
Everything in the atlas
33 of 2341
Domain: 2
Signals: Over a year
Content: 2
More
Group by: Capability
Domain Protocols & APIsDomain Process & WorkflowLiveness Over a yearOffers Runnable codeOffers The reasoningClear all
EntryBySignalsLast activity
Effective Axios Error Logging for Robust SAP IntegrationsEffective Axios Error Logging for Robust SAP IntegrationsTwo logged failures printed side by side, and the point is made by looking at them: one tells you what went wrong and one does not. Axios buries the useful part of an HTTP error, and this is what to unwrap before logging it from a CAP service.Sahil2508, published 2025-08-31
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsMessaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsGetting a message out of a CAP service and onto a Fiori elements object page in a draft scenario — errors, warnings and information, each of which the UI treats differently. Co-written with one of the people on the OData side, and it spends its length on the message container rather than on the handler that fills it.arley-triana-morin, published 2022-08-11
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client Applications
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe, Runnable code.
CAP: GraphQL as new protocolCAP: GraphQL as new protocolWritten days after @cap-js/graphql appeared, by somebody who went looking for it — an introduction to GraphQL alongside what the adapter actually does to a CAP service. The first outside account of the capability, and still one of very few.jhodel18, published 2023-03-18
CAP: GraphQL as new protocol
@cap-js/graphql has been through 11 major lines since this was published, most recently 0.12 (2025-05), 0.13 (2025-07), 0.14 (2025-10). Affects Runnable code.
SAP GraphQL in CAPm (node.js)SAP GraphQL in CAPm (node.js)Adding the GraphQL protocol adapter to a CAP project when it was new — an entity, some data, the feature switched on, and a check that it answers. Short, and it is the earliest account here of CAP speaking something other than OData.enric101, published 2021-11-29
CAP, CDS, CDL, CSN and jq - finding associationsCAP, CDS, CDL, CSN and jq - finding associationsHow associations are actually represented once CDL is compiled into CSN, worked out by parsing the machine-readable form with jq. Useful less as a recipe than as a way in: anything that wants to reason about a CDS model without the compiler has to read CSN, and this is what that looks like from the outside.published 2024-04-16
#BTP #SAPCAP: Quirky Nuggets (N03-N04)#BTP #SAPCAP: Quirky Nuggets (N03-N04)Two unrelated findings in one post, which is the format of the series: the OData operators tried against a CAP service — with a schema of deliberately awkward types to try them on — and undeploying database artifacts, which is the half people hit in anger. Numbered N03 and N04 of a run that continues either side.Ajit_K_Panda, published 2023-06-05
#BTP #SAPCAP: Quirky Nuggets (N03-N04)
Deployment changed in @sap/cds-dk 8.9.0, 2025-03-31. Affects A recipe, Runnable code.
Calling bound / unbound CAP actions from Fiori elements application.Calling bound / unbound CAP actions from Fiori elements application.invokeAction from the Fiori elements Edit flow API, with the difference between bound and unbound actions spelled out first because the call shape differs. Under three thousand characters and it answers exactly one question.vidhyasagarmule, published 2024-09-07
Create a Business Service using CDS, Node.js, SQLite and a OData serviceCreate a Business Service using CDS, Node.js, SQLite and a OData serviceThe stack at its smallest — CDS, Node, SQLite, an OData service — worked through at length. Nothing cloud in it, which is the point: it is the shape of a CAP service before any of the platform arrives.raybanton, published 2021-07-12
Create a Business Service using CDS, Node.js, SQLite and a OData service
Database connectors has changed twice since this was published, most recently in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
Custom Functions in OData V4 – SAP Cloud Application Programming ModelCustom Functions in OData V4 – SAP Cloud Application Programming ModelFunctions rather than actions, and the distinction is where it starts: a function must return data and must never change any, so it is the read-only half of custom operations. Then how to declare and implement one on a CAP service.Roopa_N, published 2021-04-28
Custom Functions in OData V4 – SAP Cloud Application Programming Model
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe.
Dynamic OData from "any" API through SAP BTP KymaDynamic OData from "any" API through SAP BTP KymaPutting an OData face on a third-party API by way of Kyma, so the SAP side of a landscape can consume something that was never built for it. The word dynamic is doing work in the title — the shape is not modelled in advance.Gunter, published 2021-09-09
Exposing Calculation View with Dynamic Client via OData APIExposing Calculation View with Dynamic Client via OData APIGetting a HANA Cloud calculation view — built in Business Application Studio and deployed to an HDI container, which is the recommended way to build native HANA artifacts — out through an OData API. The gap it fills is the one between HANA-native development and a service a client can call, which CAP does not cover for artifacts it did not generate.published 2023-10-04
How to add OData v2 adapter proxy to your CAP projectHow to add OData v2 adapter proxy to your CAP projectThe problem is stated in one line — a UI5 application that only speaks OData v2 in front of a CAP service that speaks v4 — and the answer is a proxy in the middle rather than a rewrite of either end. Written while v4 support in the UI5 stack was still patchy, which is the whole reason the adapter exists.published 2020-06-30
How to add OData v2 adapter proxy to your CAP project
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects Runnable code.
Is it time to switch to OData v4?Is it time to switch to OData v4?A recommendation with its caveat attached: use v4 on new projects, and be aware it is less mature than v2 in terms of what the SAP stack around it supports. Written after using it on a real extension project, which is what makes the caveat credible.MikeDoyle, published 2021-02-05
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsMessaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client ApplicationsGetting a message out of a CAP service and onto a Fiori elements object page in a draft scenario — errors, warnings and information, each of which the UI treats differently. Co-written with one of the people on the OData side, and it spends its length on the message container rather than on the handler that fills it.arley-triana-morin, published 2022-08-11
Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client Applications
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe, Runnable code.
Resolving date serialization issues when using an external OData v2 service with CAPResolving date serialization issues when using an external OData v2 service with CAPDates coming out of an external OData v2 service in a shape CAP does not expect, and what to do about it. A narrow bug report with a fix, and the kind of thing that costs an afternoon if nobody has written it down.pieterjanssens, published 2020-07-09
SAP BTP SDK for iOS & CAP with OData V4 supportSAP BTP SDK for iOS & CAP with OData V4 supportThe iOS SDK gaining OData V4, which until then made connecting a native app to a CAP service awkward — CAP defaults to v4 and the SDK did not speak it. Short, and it marks the date that stopped being a problem.KRiedelsheimer, published 2021-04-21
SAP Cloud Application Programming Model: Deep Insert (4) Consume Remote ServiceSAP Cloud Application Programming Model: Deep Insert (4) Consume Remote ServiceFourth in a long series on deep insert, and the one where the target stops being local. Twenty thousand characters, project files linked, and the earlier parts on UUIDs and multi-level structures are prerequisites the author names.CarlosRoggan, published 2019-07-24
SAP Cloud Application Programming Model: Deep Insert (4) Consume Remote Service
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects A recipe, Runnable code.
SAP Cloud Application Programming Model: Deep Insert (5) Consume Remote Service with SAP Cloud SDKSAP Cloud Application Programming Model: Deep Insert (5) Consume Remote Service with SAP Cloud SDKThe same thing again through SAP Cloud SDK, published as a deliberate comparison with the part before it — the author says outright that it does what the previous post did, differently. Reading both is how you see what the SDK is actually doing for you.CarlosRoggan, published 2019-07-26
SAP Cloud Application Programming Model: Deep Insert (5) Consume Remote Service with SAP Cloud SDK
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects Runnable code.
SAP HANA XSA pt. 2 – Smart variants, OData v4 -> v2SAP HANA XSA pt. 2 – Smart variants, OData v4 -> v2Smart tables and smart variants against an OData v4 service, with the v4-to-v2 conversion that the smart controls needed at the time. The second part of an XSA series, written from Tokyo in a summer the author mentions.Gunter, published 2020-08-27
The Complete Guide to Calling Actions in UI5 with Custom CodeThe Complete Guide to Calling Actions in UI5 with Custom CodeWritten because the documentation is thin and the samples sparse, and openly as a note to the author's future self — hand-coding an action call has become a rare task for anyone mostly working in Fiori elements, which is exactly why it is hard to look up when it comes round. Comes with a CAP sample project, so the service half is there too.published 2025-07-21
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single ProjectThe End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single ProjectOne CAP service exposing OData V2, OData V4 and REST at the same time, which is unusual enough to be worth the read on its own. Part of an end-to-end series, deployed on Cloud Foundry against HANA Cloud, so the protocol question sits inside a whole application rather than a snippet.KRiedelsheimer, published 2021-05-06
The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single Project
OData changed in @cap-js-community/odata-v2-adapter 1.10.0, 2023-04-05. Affects A recipe, Runnable code.
Use Aspects, Association and Convert OData V4 to V2 using ProxyUse Aspects, Association and Convert OData V4 to V2 using ProxyTwo halves that turn out to belong together: aspects and associations in the model, and then the v4-to-v2 proxy in front of it. The model decides what the proxy has to carry, which is why the author put them in one post.rahul_rajagopal, published 2023-08-28
Adding a Swagger UI to Your SAP Cloud Application Programming Model / Node.js ServiceAdding a Swagger UI to Your SAP Cloud Application Programming Model / Node.js ServiceThe problem stated from the other side of the wire: a CAP and HANA backend consumed by frontend developers with no SAP background, who said in the first meeting that they could not work from what the service offered. A browsable API page is the answer, and this is the post the Swagger UI plugin indexed here exists to serve.published 2020-01-23
Adding a Swagger UI to Your SAP Cloud Application Programming Model / Node.js Service
cds-swagger-ui-express has been through 11 major lines since this was published, most recently 0.9 (2024-07), 0.10 (2024-10), 0.11 (2026-02). Affects Runnable code.
Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming ModelInvoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming ModelThe other direction: consuming an API described by an OpenAPI document from CAP, rather than publishing one. Worth pairing with the plugin entries here, which all serve the outbound half.wittro, published 2022-08-30
Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming Model
Destinations changed in @sap-cloud-sdk/connectivity 4.0.0, 2025-03-04. Affects Runnable code.
OpenAPIs in the SAP ecosystemOpenAPIs in the SAP ecosystemWhere OpenAPI actually turns up across SAP's own services, from somebody who spends their time in that ecosystem. Orientation rather than implementation.ajmaradiaga, published 2022-10-10
Swagger UI | SAP BTP Extension Generators | Hands-on Video TutorialsSwagger UI | SAP BTP Extension Generators | Hands-on Video TutorialsA blog post wrapped around a video playlist from the SAP HANA Academy — Swagger UI for CDS, added to the BTP extension generator series. The written half is an ingredients list and a table of contents; the substance is in the recordings.dvankempen, published 2021-07-09
CAP WebSocketsCAP WebSocketsThe early one, from 2021, before an adapter existed to make it ordinary. Read for what the problem looked like when it had to be solved by hand.vvdries, published 2021-01-26
Integrate and Extend with SAP Build Process AutomationIntegrate and Extend with SAP Build Process AutomationSAP's reference architecture for SAP Build Process Automation integrating and extending SAP and non-SAP solutions in cloud and hybrid landscapes, the ground process automation covers. Processes start from events, APIs, schedules or forms, the forms built in SAP Build Process Automation, as UI5 applications or in SAP Build Apps; they reach other systems through the SAP Connectivity service with actions over APIs from sources that include CAP and RAP OData destinations and SAP Business Accelerator Hub specifications, and users reach them through SAP Build Work Zone and SAP Mobile Start, with SAP Task Center as the place tasks are managed. Decisions, Process Visibility, Processes and Automations come inside the one subscription and cannot be decoupled from it; CAP appears only as a source of API actions, and the examples are business scenarios such as mass job requisitions in SAP SuccessFactors.published 2025-05-14
A modern workflow for SAP Cloud Integration with CAP and Azure DevOpsA modern workflow for SAP Cloud Integration with CAP and Azure DevOpsCAP used to build tooling rather than an application: the development workflow for Cloud Integration is limited to what the Integration Suite offers, so the author puts a CAP service and Azure DevOps around it. An unusual use of the framework, and the reason to read it.marcel_schork62, published 2023-06-27
Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation AppsAutomate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation AppsA process that drafts its own text: ChatGPT writing job postings, SAP Build Process Automation carrying them through approval, and CAP in between. Presented as a generic pattern the author expects to be adapted rather than copied.shivamshukla12, published 2023-08-10
Consuming SAP Build API's made easy with SAP Cloud SDK in your CAP applicationConsuming SAP Build API's made easy with SAP Cloud SDK in your CAP applicationReaching into SBPA from CAP the other way round — reading its tasks and workflows rather than starting them. The author starts from the plain Axios version and says what it costs: the connection and the authentication are the work, not the call. Cloud SDK is used to generate a typed client from the OpenAPI document and then to resolve the connection through either a service binding or a destination, shown for client credentials and for user token exchange.maheshpalavalli, published 2023-02-08
Consuming SAP Build API's made easy with SAP Cloud SDK in your CAP application
Workflow integration has changed twice since this was published, most recently in @cap-js/n8n 0.0.1, 2026-08-27. Affects Runnable code.
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.
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) AppsTriggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) AppsThe two routes out of a CAP application into a process, side by side: a destination with OAuth2ClientCredentials, the same destination with principal propagation, and Event Mesh with a CloudEvents payload. Written before @cap-js/process existed, so it is the record of what the plugin now does for you — useful when the plugin does not fit, and useful for reading what it is actually doing underneath.ATheobaldt, published 2024-12-09
Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) Apps
Workflow integration has changed twice since this was published, most recently in @cap-js/n8n 0.0.1, 2026-08-27. Affects A recipe, Runnable code.
Workflow development using SAP Cloud Application Programming Model and SAP Build Process AutomationWorkflow development using SAP Cloud Application Programming Model and SAP Build Process AutomationAn argument about where logic belongs rather than a wiring guide. The author's case is that pulling mapping, preprocessing and JavaScript into the process model makes it unreadable to the process owner who has to maintain it, so the model should stay thin and CAP should hold the domain model, the authorisation annotations, the events and the API consumption. Each of those is then shown in turn against SBPA — including publishing CAP events into process visibility.Venugopal, published 2025-02-18