PersonIndependent

Gregor Wolf

Provides 3
AuthenticationCAPBTPABAPUI5AuthenticationcapabilityEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. [Authorization](capability:authorization) decides what that identity may do; [identity provisioning](capability:identity-provisioning) manages its lifecycle across systems.Database connectorsCAPBTPABAPDatabase connectorscapabilityConnecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to [schema evolution](capability:schema-evolution).DestinationsCAPBTPUI5DestinationscapabilityReaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy.
Demonstrates 13
Analytical queriesCAPAnalytical queriescapabilityGrouped, aggregated and filtered reads for analytical clients, answered by the database rather than in application memory. This concerns the queries a chart or report sends, while [analytic modelling](capability:analytic-modelling) defines the measures and dimensions they read.AuthenticationCAPBTPABAPUI5AuthenticationcapabilityEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. [Authorization](capability:authorization) decides what that identity may do; [identity provisioning](capability:identity-provisioning) manages its lifecycle across systems.AuthorizationCAPBTPABAPAuthorizationcapabilityDeciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact.Data federationCAPBTPData federationcapabilityReading data that lives in another system as if it were local — by federating the query, by copying the rows, or by caching what was read. Three different answers to one question, and the choice is about how stale you can afford to be.Database connectorsCAPBTPABAPDatabase connectorscapabilityConnecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to [schema evolution](capability:schema-evolution).Draft handlingCAPDraft handlingcapabilityLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.MultitenancyCAPBTPMultitenancycapabilityServing many tenants from one deployment — onboarding, tenant-isolated data, per-tenant schema deployment and the operational tooling around it. It is decided once, before anything is built, and narrows the artifacts in almost every capability downstream: most sharply in [caching](capability:caching) and anything else holding state in process.ODataCAPABAPODatacapabilityExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.Reference appsCAPABAPReference appscapabilityA whole application to read rather than a snippet to copy — somewhere to see how the pieces sit together once there are more than three of them.RFC connectivityCAPBTPABAPRFC connectivitycapabilityCalling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side.Tenant extensibilityCAPTenant extensibilitycapabilityLetting a customer extend the model of a running SaaS application with extra fields and entities per tenant, without forking the application, as distinct from extending the application's code for every customer at once.TypingCAPTypingcapabilityMaking the model visible to the compiler — generated types for entities and events so a rename breaks the build rather than production.WebSocketCAPWebSocketcapabilityPushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly.
Contributes to 5
Agent access to your systemsCAPBTPABAPAgent access to your systemscapabilityGiving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. [Serving your application over MCP](capability:mcp-servers) exposes your own service contract; system access reaches the systems behind it, and one implementation may do both. Development assistance belongs to [agent access to your code](capability:agent-code-access).Native SAP HANA artifactsCAPNative SAP HANA artifactscapabilityUsing native SAP HANA database objects alongside an application’s generated data model, including objects and database features the modelling layer cannot express. Choosing a database is [database connectors](capability:database-connectors); changing an existing schema is [schema evolution](capability:schema-evolution).OpenAPICAPABAPBTPOpenAPIcapabilityHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.Schema evolutionCAPSchema evolutioncapabilityGetting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step.TestingCAPBTPTestingcapabilityProving the service still does what it did — against the model and the handlers, without a deployed system and without a database somebody has to keep clean.

Entries32

Group by32 of 32 entries
EntrySignals
Maintains3
@sapmentors/cds-scp-apiv1.0.4
Quiet+1

Node module for CAP calling external APIs through a destination

cds-azure-adv0.0.21
Functional boundary

Azure AD and Azure AD B2C authentication strategy for CAP

cds-pgv0.1.36
Archived

PostgreSQL adapter for SAP CDS from the SAP Mentors community

Maintains: samples, sketches and references11
bookshop-ams
No license

CAP bookshop wired to the Authorization Management Service

bookshop-demo
No license

Simple CDS bookshop model used across CAP explanations

cap-azure-ad-b2c
none

Authenticating a CAP service against Azure AD B2C

cap-replication-demo
No license

Replication between systems with CAP

cap-rfc
No license

Calling ABAP function modules over RFC from a CAP service

cap-sflight-hierarchy
No license

sflight example extended with hierarchy support

cap-typescript
No license

Minimal CAP project in TypeScript

cap-websockets
No license

WebSocket push from a CAP service

mtxs-reviews
No license

Multitenant CAP application using cds-mtxs

pg-beershop
none

CAP beershop on PostgreSQL, predating an official adapter

SAP-NPM-API-collection
none

API documentation extracted from SAP-published npm packages

Contributes to18
@cap-js-community/websocketv1.11.3
none

WebSocket and Socket.IO adapter for CDS services

@cap-js/cds-dbsv1.3.1
none

Monorepo of CAP's SQL database services

@cap-js/db-servicev3.1.2
none

Base service shared by CAP's SQLite, PostgreSQL and HANA services

@cap-js/hanav3.1.2
none

SAP HANA database service for CAP

@cap-js/postgresv3.1.2
none

PostgreSQL database service for CAP

@cap-js/sqlitev3.1.2
none

SQLite database service for CAP, in memory during development

@quadrio/cds-dbmv0.0.41
Quiet

Fork of cds-dbm with deploy, load, diff and drop tasks

capire/bookstore
none

Composite CAP app from separately deployed services

capire/docs
none

Sources of capire, the CAP documentation

cds-dbmv0.1.4
Archived+1

Delta deployment and migrations for CAP database adapters

cds-entra-idv1.0.5
Quiet+1

Maps Microsoft Entra ID groups and app roles onto cds.User roles

cds-launchpad-pluginv2.3.0
none

Sandbox launchpad for all SAPUI5 apps in a CAP workspace

cds-swagger-ui-expressv0.11.0
none

Swagger UI for a CAP service's OpenAPI definition

SAP-samples/cap-sflight
none

Travel-booking reference app on CAP Node.js and Java backends

SAP-samples/fiori-elements-feature-showcase
none

Showcase of Fiori elements for OData V4 features on a CAP backend

SAP-samples/fiori-elements-v4-cap-advanced
none

Exercise solutions for the UX405 course on Fiori elements with CAP

SAP-samples/hana-developer-cli-tool-example
none

Developer-centric command line for SAP HANA

spreadsheetimporter/sample-full-btp
none

CAP Risks and Mitigations project with a Spreadsheet Upload button

Writing and topics1

Piece, what it offersStill applies
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message Reporting
SAP Community, Gregor WolfThe reasoningRunnable code
nothing recorded

Details

History12
  • bookshop-amsdomain → security-and-complianceA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • bookshop-demodemonstrates → capability:reference-appsIt demonstrates three capabilities across two domains and is no single thing's example, which is what a reference application is. Attaching it to the capability that exists for that gives Reference applications a population beyond the one plugin that scaffolds one.
  • cap-azure-ad-b2cdomain → security-and-complianceA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • cap-replication-demodomain → data-and-persistenceA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • cap-rfcdomain → integration-and-messagingA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • cap-sflight-hierarchydomain → data-and-persistenceA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • cap-typescriptdomain → developer-experienceA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • cap-websocketsdomain → protocols-and-apisA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • mtxs-reviewsdomain → operations-and-runtimeA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • pg-beershopdomain → data-and-persistenceA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • SAP-NPM-API-collectiondomain → developer-experienceA sample's domain recorded what kind of thing it is, which artifact_type already says, so it sat under Learning while the capability it demonstrates sat elsewhere — filtering a domain for a worked example returned nothing. Domain now follows the single capability the sample demonstrates; a sample with no single subject stays in Learning.
  • First entry seenDiscovered via npm registry, GitHub API · gregorwolf, npm registry · keywords:cds, GitHub API · sapmentors, SAP Community.
Profile1
For your agent