NewSAP Cloud Application Programming Model
Domain UI & Frontend Bridge

Today
6 changes
SAP Fiori Application Generator Available in Open SourcepublishedThe SAP Fiori tools team announces that the code behind @sap/generator-fiori has moved entirely to open source, and names the packages it is built from: writers that output SAP Fiori elements and freestyle SAPUI5 application files, inquirer prompts for picking a back end, and ABAP deploy tasks, coordinated by a sub-generator. Before publishing, the team broke up what had been a monolith, added TypeScript typings and raised test coverage.Blog,
App hostingcore coverage, coverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): removed the absence claim about ui5 artifacts.Capability,
Frontend boundarycore coverage revisedReassessed against the graph (check:capabilities): both providers of this capability are sap-official, so no artifact of another origin is present behind the door; the schema allows relationship only on a core-and-community block.Capability,
Integrated frontend dev servercoverage by ecosystem revisedReassessed against the graph (check:capabilities): the only provider of the capability that counts is cds-plugin-ui5, which sits on the CAP door and does not serve the UI5 door, so no provider of another origin counts there. The core stays present on the sourced what_core_does. The middlewares the removed sentence named are not providers of this capability.Capability,
Show 2 more
Localizationcoverage by ecosystem revisedReassessed against the graph (check:capabilities): providers arrived after the block was last looked at, an XLIFF editor and an MCP server among them, and the text named none of the kinds.Capability,
Server-side renderingcoverage by ecosystem, coverage by flavor revisedReassessed against the graph (check:capabilities): the sentence claimed an absence of providers, which goes stale when one arrives.Capability,
Yesterday
1 change
Keep the Core Clean with Rizing CDSXpublishedJhodel Cailan recounts hitting a wall where neither RAP nor CAP supported more than a non-draft OData V2 service for the side-by-side extensibility scenario he wanted, and built Rizing CDSX (@rizing/cds-extension) to add draft handling over a shadow persistence entity that mirrors a remote, cds import-ed service. He walks through the @cdsx.api annotation that proxies the entity, bootstrapping the module from cds.on('bootstrap') in server.js, and testing the result through a generated Fiori elements app backed by an OData V4 draft service.Blog,
Mon 19
2 changes
From Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAPpublishedA Devtoberfest 2026 session walking live through a sales workbench that turns an incoming customer e-mail into a quotation in S/4HANA, built as a React UI on CAP. It shows the filterable request inbox, the extracted configuration properties with a confidence indicator per characteristic, the variant configurator rendered in React from a JSON schema the configuration service returns, and the link from a derived value back to the place in the e-mail it was read from; the stated reason for the stack is that CAP keeps authentication, destinations and deployment the same in every project, which is where frontend boundary holds. The inbox grows while a user works because a CAP WebSocket plugin pushes new requests into the list — WebSocket.Talk,
Integrated frontend dev serverecosystems revisedThe UI5 dev middlewares staged in intake-20261019-bestofui5 that forward the app's backend paths (ui5-middleware-route-proxy, ui5-middleware-destination) could only be placed under ui5-build-tooling, whose own boundary leaves proxying to a backend to middlewares. The two facets stay on CAP, where they were asked. The UI5 reading comes from the UI5 CLI Server page and SAP's backend-proxy-middleware README.Capability,
Sun 18
1 change
ui5-cap-serverside-rendering-demoadded to the atlasDemo CAP bookshop with server-rendered UI5 viewsSample,
Sat 17
49 changes
abap2UI5 protocoladded to the atlasVersioned specification of the abap2UI5 roundtrip protocolPractice,
App hostingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.ui5. Maintainer-requested scope audit.Capability,
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Build BTP CAP App with Fiori Integration – Part 2: Implementing End to End Appexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Show 45 more
Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio Codeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Building an Enterprise Application Using Fiori Elements and CAP - Part 1explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Building an Enterprise Application Using Fiori Elements and CAP – Part 2explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Building an Enterprise Application Using Fiori Elements and CAP – Part 3explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Calling bound / unbound CAP actions from Fiori elements application.explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP - Dynamically hide UI facets in Fiori Elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP JavaでObject Pageの項目の動的な入力制御を実装するexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations - Part1explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations – Part2explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP with Fiori Elements: Configure Multiple Views on List Report Tablesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic Expressionsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Case-insensitive filters in Fiori Elements (List report + CAP)explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Create an SAP Fiori Elements UI for CAP Node.js applications in SAP Business Application Studioexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Create Fiori List Report with object page using CAPM(node.js) Serviceexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Deep Insert in SAP CAPM Using Composition and Fiori Elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Developing a Fiori elements app with CAP and Fiori Toolsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Developing Fiori Element Application (List Report and Object Page) consuming the OData service created using SAP Cloud Application Programming modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Developing SAP Fiori Element application by using SAP Cloud Application Programming Modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message Reportingexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Display of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming Modelexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Draft handlingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Dynamic Criticality in SAP CAP Using Fiori Elements and Node.jsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Establish a central inbox with SAP Task Centerexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Reference architecture,
Extend SAP SuccessFactors on SAP BTP with CAP - Develop the SAP Fiori Elements Applicationexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Extend Upload Set with Table to Fiori Elements and utilize Object Storeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Fiori Elements Analytical Table with CAP: Does it work with V2 and V4?explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- Deploymentexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
From R/3 ABAP to CAP/Fiori Elements on SAP Cloudexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Frontend boundarydescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-2]explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
How to Approve/Reject Task via API in SAP Build Process Automationexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
How to ensure that users can efficiently enter data in SAP Fiori elements applicationsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Integrated frontend dev servername, description revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Capability,
Part 1: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Part 2: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Random collection of useful code fragments for CAP Fiori Elements and SAPUI5explains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP Build Process Automationで「グループ宛て承認ワークフロー」を構築するexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP CAP Remote Services & SAP Fiori Elementsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP Fiori Element using CAP Model – List Report Appexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP Fiori Elements using CAP Model - Introductionexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAPexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Blog,
The SAP Fiori elements feature showcase with CAP CDS annotationsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Tree-Table Support in CAP is Now Generally Availableexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Use SAP CAP SAPUI5 Smart Filter to Show Value Help that are not Associated Entititesexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Visualizing Your SAP Bill of Materials Using CAP, Fiori elements, and the UI5 Network Graphexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Blog,
Thu 15
2 changes
cap-reuse-html5added to the atlasFiori elements app in the HTML5 Application Repository with cdm.jsonSample,
Fiori annotationscore coverage, coverage by flavor revisedThe door has two flavors and neither was assessed, so both were derived from the options alone. Java reads core-only: the three community providers are cds-plugins @sap/cds loads, and the Java side's own facts are the compiler running under the Maven build and the one hierarchy annotation the Java runtime reads itself.Capability,
Thu 8
5 changes
blog-bookshopadded to the atlasCAP bookshop with Fiori elements UI deployed whole to Cloud FoundrySample,
blog-cap-chartadded to the atlasFiori overview page comparing aggregated and plain donut-chart cardsSample,
cap-defaultvalue-functionadded to the atlasCommon.DefaultValuesFunction pointed at a CAP service functionSample,
cap-fe-masseditadded to the atlasMass edit enabled in a Fiori elements list report over CAPSample,
Show 1 more
cap-feature-controladded to the atlasSingleton entity whose flags drive Fiori elements feature controlSample,

Mon 28
1 change
cap-collaborative-draftprovides, description, requires, compat, flavors revisedStated rather than left to the cds-plugin fallback: the README's first line says CAP Node.js backends.CDS plugin,
Sun 27
4 changes
cds-plugin-ui5description, provides, compat, flavors, identity revisedRead from the package's own README licence section, as its siblings in the same repository already record.CDS plugin,
Draft handlingcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
Integrated frontend dev servercore coverage, description, facets revisedThe two facts that separate the answers here: where a project has to sit to be served, and what serves its resources once it is found. Both are stated by each option's own documentation, and both are text until the answers are numerous enough to have a vocabulary.Capability,
Localizationcore coverage revisedcapire audit 2026-09-27: a page this capability owns was cited nowhere.Capability,
Sat 26
2 changes
How to Approve/Reject Task via API in SAP Build Process AutomationpublishedWalks through the Workflow API's /task-instances PATCH call that SAP Build Process Automation exposes to approve or reject a user task from outside its Inbox, matching the instance ID from the Monitoring tab and the identifier of the button the approval form defines. Covers the permission split between an authenticated user, who needs the ProcessAutomationAdmin or ProcessAutomationParticipant role collection to appear as the one who completed the task, and Client Credentials, which completes it as a generic client identity, plus the error codes the API returns for a missing instance, an already-completed task or an invalid status.Blog,
SAP Build Process Automationで「グループ宛て承認ワークフロー」を構築するpublishedWalks through building a group-addressed approval workflow in SAP Build Process Automation: a user group created in SAP Cloud Identity Services is bound to the app so an approval step can send one request to every group member's inbox at once, closing as soon as any one of them acts. The approval form shown in that inbox carries a Claim button that hides a claimed task from the other members, and the workflow's approval step binds its group recipients to the field the requester chose on the start form.Blog,
Fri 25
5 changes
@sap-ux/odata-vocabulariesadded to the atlasOASIS and SAP OData vocabularies with a VocabularyServicePackage,
cap-materialbom-graphadded to the atlasCAP sample drawing a material BOM as a UI5 network graphSample,
fiori-table-maintenanceadded to the atlasCAP and UI5 app for in-place table maintenance with SmartTableSample,
ui5-call-actionadded to the atlasUI5 apps calling CAP OData actions and functions from custom codeSample,
Show 1 more
cap-materialbom-graphentry revisedDrafted from the repository's own files, because its README is the unedited cds init template and the only sentence the maintainer wrote about it is the repository description, "This is a sample to show the Material as Network Graph in a Fiori elements app": db/schema.cds for the model and the GraphNetwork pseudo-entity, srv/service.js for the READ handler that walks the bill of materials, app/material/webapp/manifest.json for the list report and object page generated from @sap/generator-fiori:lrop and the custom section, the graph fragment for sap.suite.ui.commons.networkgraph, and package.json for @sap/cds ^8 and @cap-js/sqlite. artifact_type sample and use_as starting-point are a placement: one commit, a local SQLite run and no deployment described. domain ui-and-frontend-bridge follows the half of it the sample is about, as on cap-sflight. No licence is recorded: the repository has no LICENSE file and package.json carries the cds init defaults "license": "UNLICENSED" and "private": true.Sample,
Tue 22
3 changes
SAP Task Centerrequires revisedSAP's Discovery Center lists both Work Zone editions as required services of the all-tasks plan, and npm run check:catalogue listed the relations with no edge. Basis entitlement and conditional: the plan's own description says either edition serves (vocab PERSPECTIVES, 2026-09-22).Service,
Server-side renderingcore coverage revisedThe state said community-only and nothing else, so the cap door carried no sentence a reader could use and no source for the claim. capire states that CAP has no UI technology of its own, and the documented bootstrap of the built-in server mounts the app folder as static content without a rendering step; the community sentence names the one provider the graph holds. State unchanged.Capability,
ui5-cap-serverside-rendering-plugindescription, provides revisedA bare ref said the plugin answers the capability without saying how. The object form carries the contribution and the files it was read from.CDS plugin,
Sun 20
1 change
Fiori annotationscore coverage revisedThree independent cds-plugins now provide this capability on CAP beside SAP's own packages: @mpah/enum-value-help, cap-js-geoloc-plugin and urp-vocab. The relationship is unassessed: no retrieved document gives the history between them and the core.Capability,
Fri 18
5 changes
@mpah/enum-value-helpadded to the atlasCAP plugin generating value help for enum fields from an annotationCDS plugin,
@rizing/cds-extensionadded to the atlasCAP plugin putting a draft-capable facade in front of imported ODataCDS plugin,
@sap-ux/i18nadded to the atlasReader and writer for i18n bundles of UI5 or CAP projectsPackage,
cap-js-geoloc-pluginrequires, provides, description revisedThe entry opened on a warning with nothing saying what the plugin does. when_not_to_use also said 'One release, November 2025': npm holds six versions, four alphas and 1.0.0 and 1.0.1, published between 31 October and 3 November 2025, and the changelog inside 1.0.1 is numbered v2.1.CDS plugin,
Show 1 more
Localizationecosystems, coverage by ecosystem, framing by ecosystem revisedBehind the UI5 door the texts are files in the app rather than model elements in a service, which is what the CAP framing describes.Capability,
Tue 15
3 changes
Establish a central inbox with SAP Task CenterpublishedSAP's reference architecture for SAP Task Center as one inbox for the tasks of several SAP applications, opened in the Task Center web app or as To-Dos in SAP Start and SAP Mobile Start, which is the inbox half of task and approval UIs. It rests on Cloud Identity Services: every task provider must work with Identity Authentication, its users must carry the Global User ID and so must the recipients of each task, and sign-on between the provider and Identity Authentication is what lets a user navigate from Task Center into the provider. Task Center reaches providers through destinations in a customer subaccount, with Cloud Connector for on-premise SAP S/4HANA.Reference architecture,
cap-js-geoloc-pluginprovides revisedGeocoding and routing is the job the plugin does; the Fiori annotations are how it shows it. The edge became possible with location-services, drafted in intake-20260915-location-services.CDS plugin,
Localizationecosystems, coverage by ecosystem, framing by ecosystem revisedOn BTP the concern includes getting texts translated by a service, where the CAP framing is serving texts per locale and the ABAP framing is translating repository objects in the system.Capability,
Mon 14
4 changes
App hostingcoverage by ecosystem, coverage by flavor revisedHosting is a question about a built bundle, not about what produced it: UI5 Web Components' own README describes the library as suitable for static web sites and expects it bundled into the app rather than served from its own runtime, so the same two BTP services that answer for the freestyle door answer here too, unchanged. No artifact whose own ecosystem is ui5 states web-components on a provides or demonstrates edge for this capability, so the reading rests on the same absence coverage_by_ecosystem.ui5 already recorded.Capability,
Fiori annotationsecosystems revisedWidened to ABAP: SAP-samples/abap-platform-fiori-feature-showcase demonstrates annotation-driven Fiori elements for OData V4 on RAP, the same concern as CAP's annotations.Capability,
Localizationecosystems revisedSeven repositories translate ABAP texts: they push object lists to SAP Translation Hub, call DeepL or LibreTranslate, export a package's texts to a spreadsheet, keep form labels in a table, and read texts from the online text repository.Capability,
Server-side renderingcoverage by ecosystem, coverage by flavor revisedUI5 Web Components for React documents partial SSR support since v1.17.0 (outer markup only, client-rendered component) and the base UI5 Web Components library tracks full declarative-shadow-DOM SSR as an open, unassigned feature request. Neither is a catalogued artifact in this graph, so no ui5-door provider states web-components for this capability, but the concern plainly exists here — unmapped rather than not-applicable.Capability,
Sun 13
5 changes
SAP-samples/cap-sflightadded to the atlasTravel-booking reference app on CAP Node.js and Java backendsSample,
SAP-samples/fiori-elements-feature-showcaseadded to the atlasShowcase of Fiori elements for OData V4 features on a CAP backendSample,
SAP-samples/fiori-elements-fpm-exercises-codejamadded to the atlasCodeJam building a bookshop app on the flexible programming modelSample,
SAP-samples/fiori-elements-v4-cap-advancedadded to the atlasExercise solutions for the UX405 course on Fiori elements with CAPSample,
Show 1 more
SAP-samples/ui5-cap-event-appadded to the atlasEvent registration app showing OData V4 draft with UI5 and CAPSample,
Wed 9
5 changes
SAP Application Frontend serviceadded to the atlasManaged hosting and routing for built frontendsService,
SAP HTML5 Application Repository service for SAP BTPadded to the atlasStores UI5 and HTML5 apps and serves them through the approuterService,
SAP Task Centeradded to the atlasOne inbox for tasks across SAP applications and BTP workflowsService,
cds-plugin-ui5contributors revisedTwo actor files carried the same GitHub login. peter-m-ssig was keyed on a slugified display name — the umlaut in "Peter Müssig" drops out of the slug, so it looked nothing like the crawled petermuessig and nobody spotted the double. Merged onto the login, which is the identity the crawl matches on.CDS plugin,
Show 1 more
SAP Application Frontend serviceentry revised@sap/appfront-cli was in the corpus and the service it drives was not, so the BTP door listed a CLI with nothing behind it. SAP's own page names the HTML5 Application Repository as the thing to stay on where it fits better, which is why the two carry an alternative_to edge rather than one quietly superseding the other.Service,
Tue 8
43 changes
@sap/ux-cds-compiler-facadeadded to the atlasWrapper around the CDS compiler for annotation handlingPackage,
Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configurationpublishedGeneration and deployment in one piece, with the managed approuter rather than a standalone one — so the routing is configuration instead of a module, and the post covers what that changes at deploy time.Blog,
Build BTP CAP App with Fiori Integration – Part 2: Implementing End to End ApppublishedThe implementation half of the series whose first part set up the account and the database: the application itself, end to end.Blog,
Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio CodepublishedAn Overview Page — the card-based Fiori elements floorplan, less written about than the list report — driven entirely from annotations on a CAP service, in VS Code rather than Business Application Studio.Blog,
Show 39 more
Building an Enterprise Application Using Fiori Elements and CAP - Part 1publishedPart one of three, and it is all backend: the CAP service the UI will sit on. The author states the constraint the series works under — simple enough for someone new to the stack, without departing from the standard project layout.Blog,
Building an Enterprise Application Using Fiori Elements and CAP – Part 2publishedThe generator run and the List Report it produces, on top of the service from part one. This is where the annotations start doing the work rather than the CDS entities.Blog,
Building an Enterprise Application Using Fiori Elements and CAP – Part 3publishedThe Object Page, which the author points out is entirely annotation-driven — there is no page to design, only facets to declare. The last of the three.Blog,
Calling bound / unbound CAP actions from Fiori elements application.publishedinvokeAction 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.Blog,
CAP - Dynamically hide UI facets in Fiori ElementspublishedFacets hidden at runtime rather than at design time, which needs two things at once: UI.Hidden on the annotation side and a virtual element on the CDS side to decide it. Both are linked from the post, and it is barely two pages.Blog,
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations - Part1publishedActions on their own, at length — where an action can be placed, what the annotation looks like for each position, and what changes between the List Report and the Object Page. Part one of two.Blog,
CAP with Fiori Elements: Actions on List Report / Object Page using Annotations – Part2publishedThe second half of the actions pair, published the same day. Between them they cover more ground on this one annotation than the documentation does in one place.Blog,
CAP with Fiori Elements: Configure Multiple Views on List Report TablespublishedSeveral tabs over one entity, each with its own filter — the multiple-views annotation, which is one of the few Fiori elements features that changes the shape of the page rather than its content.Blog,
CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic ExpressionspublishedThe first of the author's Fiori elements posts, and the widest: side effects, which are the annotation that tells the UI a field changed something else; custom actions; and dynamic expressions. The three that turn a generated app into a usable one.Blog,
Case-insensitive filters in Fiori Elements (List report + CAP)publishedA blocker rather than a feature: filters on a List Report are case-sensitive, the business wanted them not to be, and the CAP backend is where it gets fixed. Node and Java both.Blog,
Create an SAP Fiori Elements UI for CAP Node.js applications in SAP Business Application StudiopublishedWritten the week Fiori elements gained OData V4 support, which is what made a generated List Report over a CAP Node.js service possible at all. Short, and dated in the useful sense — it marks when the generator stopped being a V2-only path.Blog,
Create Fiori List Report with object page using CAPM(node.js) ServicepublishedThe short version of the generated-app walkthrough — an existing CAPM Node.js service, and the List Report with Object Page on top of it. Under three thousand characters.Blog,
Custom Handlers for Entities in SAP CAPpublishedWritten from the moment of not knowing: a two-level composition with drafts, the Fiori elements UI working perfectly, and no idea which handlers are actually needed. What comes out is the action lifecycle laid out as a reference — NEW, EDIT, PATCH and the rest — with a matrix saying which handler fires for which, which is the thing the documentation leaves you to assemble.Blog,
Deep Insert in SAP CAPM Using Composition and Fiori ElementspublishedParent and children created in one transaction, which composition already gives you in the model — the post is about what Fiori elements does with it, and what the payload looks like when the UI sends both at once.Blog,
Developing a Fiori elements app with CAP and Fiori ToolspublishedA learning write-up from someone new to CAP at the time, and long enough to be thorough. Carries its own update pointing at a newer post on deploying a CAP-based Fiori app to a central launchpad without an approuter.Blog,
Developing Fiori Element Application (List Report and Object Page) consuming the OData service created using SAP Cloud Application Programming modelpublishedOne of the earliest entries here, from mid-2020: the List Report and Object Page pair generated over a CAP OData service, when that combination was still new enough to need explaining.Blog,
Developing SAP Fiori Element application by using SAP Cloud Application Programming ModelpublishedThe long version, and it starts by naming the floorplans — List Report, Worklist, Object Page, Overview Page, Analytical List Page — which is the decision most walkthroughs skip. Then one of them, built out against a CAP service.Blog,
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message ReportingpublishedAnalytical annotations learned by building something the author wanted — a view over SAP support messages — after a conversation in February 2021 that the post dates precisely. Exploration written up as exploration.Blog,
Display of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming ModelpublishedHierarchies before the framework supported them, and the post now opens with its own update saying that Fiori elements V4 and OData V4 support tree views natively and linking the guide. Read the update first; the rest is the record of what people did in the meantime.Blog,
Dynamic Criticality in SAP CAP Using Fiori Elements and Node.jspublishedColouring rows by status, which sounds like a UI question and is not: criticality is a value the service has to compute and expose, so the work is a virtual element in CDS and the annotation that points at it. Comes from a real requirement — business users wanting to spot the records that need attention.Blog,
Extend SAP SuccessFactors on SAP BTP with CAP - Develop the SAP Fiori Elements ApplicationpublishedThe UI instalment of the SuccessFactors extension series — the imported service is already modelled and this is the application over it. Names the three posts it depends on.Blog,
Extend Upload Set with Table to Fiori Elements and utilize Object StorepublishedThe Object Store variant of the author's earlier Document Management post, written after testing @cap-js/attachments — a sample managing text and file information together, and offered as something for people new to BTP rather than as a pattern.Blog,
Fiori Elements Analytical Table with CAP: Does it work with V2 and V4?publishedA question in the title and an answer in the post, with the boundary drawn carefully: this is an analytical table inside a List Report, not the Analytical List Page, and the two protocol versions do not behave the same.Blog,
From R/3 ABAP to CAP/Fiori Elements on SAP BTP- DeploymentpublishedThe doing half: the steps and the code that got the application from the first post deployed and working. Shorter, and it assumes the argument has already been made.Blog,
From R/3 ABAP to CAP/Fiori Elements on SAP CloudpublishedWritten by an ABAP developer of fourteen years explaining what changed and what did not — the argument being that CAP kept the focus on business logic that ABAP had, where learning UI5 and a framework or two had not. The reasoning half of a pair.Blog,
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-2]publishedPart 1 left a working OData service whose Fiori preview showed nothing useful. This is the annotations that fix that — the UI vocabulary added to the CDS model until the generated list report has columns worth reading.Blog,
Part 1: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementspublishedThe substantial part of a side-by-side extensibility series: CAP Node.js, Cloud SDK and Fiori elements against S/4HANA Cloud. Eighteen thousand characters, and the one to read if you only read one.Blog,
Part 2: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elementspublishedThe second part, continuing the same extension. Opens with a recap of the stack rather than of the steps, which makes it readable on its own.Blog,
Random collection of useful code fragments for CAP Fiori Elements and SAPUI5publishedExactly what it says, and the author gives the reason: none of these were easy to find in the documentation or the samples. A collection of fragments rather than an argument, and the kind of page people bookmark.Blog,
SAP CAP Remote Services & SAP Fiori ElementspublishedWhat happens to a generated UI when the data is not local: a CAP service projecting a remote one, with Fiori elements on top. The author explored it to find out where the abstraction holds, which is the useful register for this.Blog,
SAP Fiori Element using CAP Model – List Report ApppublishedThe build half of the same author's pair: the List Report application over the CAP model introduced in the previous post.Blog,
SAP Fiori Elements using CAP Model - IntroductionpublishedThe introduction to a demo project, and it says where the project came from — exploring what the then-new Fiori tools could do. Context rather than code; the List Report post is the one that builds.Blog,
The SAP Fiori elements feature showcase with CAP CDS annotationspublishedThe feature showcase, which is the closest thing to a reference for what the annotations can do, presented here with its CAP CDS side. Short, because the value is in what it points at.Blog,
Tree-Table Support in CAP is Now Generally AvailablepublishedThe announcement that closes a gap other posts here worked around for years — hierarchy maintenance for Java in February, recursive support in March, generally available since July. Read it beside the 2022 post that had to build hierarchies by hand.Blog,
Use SAP CAP SAPUI5 Smart Filter to Show Value Help that are not Associated EntititespublishedValue help for a field with no association behind it, which is the case the annotation assumes away. Short, and the workaround is the content.Blog,
@sap-ux/cds-annotation-parserartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Package,
@sap-ux/cds-odata-annotation-converterartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Package,
@sap-ux/fiori-annotation-apiartifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Package,
@sap/generator-fiorilinks, artifact type, description revisedPlacement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim.Generator,
Mon 7
11 changes
CAP JavaでObject Pageの項目の動的な入力制御を実装するpublishedTwo ways to make an object page field editable or not from the value of another field in CAP Java, with the same rule implemented both ways. The first routes the decision through a separate entity holding default values, reached by Side Effects annotations; the second adds a virtual element the Java event handler fills. The piece is about the trade the two make — annotation-only versus a handler that runs — rather than about which is correct, and the running code is the repository it links.Blog,
cap-java-draft-composition-deleteadded to the atlasCAP Java draft cancel on composition items as a flag updateSample,
cap-js-geoloc-pluginadded to the atlasAnnotation-driven geocoding, address correction and routing for CAPCDS plugin,
CAP, CORS and custom headerspublishedWhat CAP itself does about CORS, and where it stops. The starting point is a colleague's request and a deliberate constraint: @sap/approuter has full CORS support, but the author wanted to know what the CAP server offers on its own and how to extend it. Ends up covering preflight requests and custom servers, which is the mechanism a frontend hosted outside BTP actually runs into.Blog,
Show 7 more
fiori-dynamic-feature-controladded to the atlasOne object page field made read-only from another's value, two waysSample,
fiori-inline-editadded to the atlasList report inline edit on a draft-enabled CAP serviceSample,
fiori-navigation-patternsadded to the atlasOutbound navigation patterns from a Fiori Elements list reportSample,
How to ensure that users can efficiently enter data in SAP Fiori elements applicationspublishedGuidance for draft-enabled Fiori Elements applications aimed at the user who spends their day in them: entering data quickly and by keyboard, on a slow network, without the round trips a draft-backed form can otherwise impose. Written from the design side rather than the implementation side, which is the half most CAP writing about drafts leaves out.Blog,
SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAPpublishedGetting UI5 Tooling and the CAP server onto one port under one command, using cds-plugin-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.Blog,
urp-vocabadded to the atlasCDS vocabulary for User-Rendered Patterns display annotationsPackage,
Visualizing Your SAP Bill of Materials Using CAP, Fiori elements, and the UI5 Network GraphpublishedA parent-child structure rendered as a network graph inside a Fiori Elements application, with the CAP service modelling the bill of materials behind it. Useful as one of the few worked examples of putting a non-standard visualisation into an annotation-driven floorplan rather than building a freestyle app around it.Blog,
Wed 2
4 changes
@sap-ux/cds-annotation-parseradded to the atlasParser for annotations in CDS sourcePackage,
@sap-ux/cds-odata-annotation-converteradded to the atlasConverter from CDS annotations to their OData formPackage,
@sap-ux/fiori-annotation-apiadded to the atlasProgrammatic API for reading and writing project annotationsPackage,
@sap/generator-fioriadded to the atlasEntry point for generating a Fiori application from a templateGenerator,

Mon 31
10 changes
@sap/appfront-cliadded to the atlasCLI for the SAP BTP Application Frontend serviceCLI,
@sap/cds-fioriadded to the atlasFiori draft handling and UI-facing behaviour for CAP servicesPackage,
cap-collaborative-draftadded to the atlasCollaborative draft support for CAP Node.js servicesCDS plugin,
cds-plugin-ui5added to the atlasUI5 CLI middlewares running inside the CDS serverCDS plugin,
Show 6 more
ui5-cap-serverside-rendering-pluginadded to the atlasCAP plugin rendering UI5 views with entity data on the serverCDS plugin,
cds-plugin-ui5origin ring revisedui5-community is the UI5 ecosystem's community org, the counterpart of cap-js-community. It was absent from the owner table because that table only knew CAP, so this fell through to independent. Found by probing UI5.CDS plugin,
Draft handlingcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Fiori annotationscore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Frontend boundarycore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Localizationcore coverage revisedStates renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately.Capability,
Tue 25
1 change
cap-companionadded to the atlasPlayback-only SAP Companion (Help4) workarea served from CAPCDS plugin,
The last 90 days. Older changes stay in each entry's history.