PersonIndependent

Gregor Wolf

Provides 5
Agent access to your systemsBTPABAPCAPAgent 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).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.Event MeshCAPBTPABAPEvent MeshcapabilityEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to [async processing](capability:async-processing).
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 23
Agent guidanceCAPUI5BTPABAPAgent guidancecapabilityPackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from [agent access to your code](capability:agent-code-access), where the agent reads the real project instead of being handed a file about it.AttachmentsCAPUI5ABAPBTPAttachmentscapabilityStoring a file somebody uploaded next to the record it belongs to, and getting it back out — where the bytes actually live, who may read them, and what the UI shows while they are being scanned.Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.Custom controls and librariesUI5Custom controls and librariescapabilityExtending the set of controls an app is built from: a control of its own, a wrapper around a third-party widget, or an icon font registered with the framework, packaged so another app can reuse it. Distinct from [Web Components interop](capability:ui5-web-components), which brings in standard custom elements, and from [generators](capability:generators), which scaffold a control project rather than being one.Database administrationBTPDatabase administrationcapabilityRunning the database a project uses once it exists: watching its health and performance, managing users and their access privileges, and keeping backups that a recovery can rest on. Connecting an application to the database is [database connectors](capability:database-connectors), moving files in and out of tables is [importing and exporting table data](capability:data-import-export), and what the instance costs is [consumption monitoring](capability:consumption-monitoring).Document outputCAPABAPBTPDocument outputcapabilityProducing a document a person receives — a printed form, a generated PDF, a filled template — and getting it to a printer or a queue rather than returning it as a payload.GeneratorsCAPABAPUI5GeneratorscapabilityGetting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project.HTTP clientsABAPHTTP clientscapabilityCalling an HTTP API outside the system from application code, with the request, the credential and the response handled by a client each time the call is made. Serving HTTP is the other direction, and where the address and the credential are kept is [destinations](capability:destinations).LLM integrationCAPUI5BTPABAPLLM integrationcapabilityCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.Maintaining table entriesABAPMaintaining table entriescapabilityEditing the rows of a data or configuration table through a generic or generated screen, with value helps, checks and a managed change package, so that no maintenance application is written per table. Looking at what a table holds is [browsing table data](capability:abap-data-browsing), even where one transaction does both.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.Seed dataCAPABAPUI5Seed datacapabilityGetting realistic data into a service so it can be developed and demonstrated — initial data, per-tenant content, and believable volumes for testing.Source controlABAPSource controlcapabilityKeeping source code and development objects in version control, comparing their revisions, and moving them between development environments. Managed delivery of changes belongs to [transport management](capability:change-promotion).Static analysisABAPStatic analysiscapabilityCatching problems in code before it runs: naming, obsolete statements, security findings, and compatibility with a target environment. Style linting, security scanning and cloud-readiness checks are often treated as one concern.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.ThemingUI5ThemingcapabilityApplying a consistent visual identity across every control, including the parameters an app may read and the custom themes an organisation may build.Touch operationUI5Touch operationcapabilityOperating an app with a finger, a stylus or a gloved hand on a tablet, kiosk or shop-floor terminal: targets large enough to hit, and input that does not assume a hardware keyboard. Distinct from responsive layout, which is about the width of the screen rather than what touches it.TypeScript supportUI5TypeScript supportcapabilityWriting apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other.UI5 testingUI5UI5 testingcapabilityProving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app.Unit testingABAPUnit testingcapabilityTesting application logic without a running business process — and the test doubles that make dependencies on the database and on framework services tractable.Web Components interopUI5Web Components interopcapabilityUsing standards-based custom elements inside an app, and the question of which control set an app should be built from at all, two concerns that are often answered as one.

Entries59

Group by59 of 59 entries
EntrySignals
Maintains5
@sapmentors/cds-scp-apiv1.0.4
Quiet+1

Node module for CAP calling external APIs through a destination

abapOAuthAzure
Quiet

OA2C_SPECIFICS implementation for Microsoft Azure OAuth 2.0 in ABAP

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

gregorwolf/AWS_SNS4ABAP
Quiet

ICF handler receiving Amazon SNS notifications in an ABAP system

Maintains: samples, sketches and references12
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

cloud-alm-itsm-mcp
No license

MCP server querying installations via the SAP Cloud ALM ITSM API

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 to42
@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

@ui5/cliv4.0.71
none

UI5 Tooling command line for project setup, dev server and build

@ui5/webcomponentsv2.28.1
Functional boundary

SAP's UI elements as standard custom elements

ABAP OpenAPI UI
Quiet

Swagger UI for SAP NetWeaver Gateway services

ABAP SDK for Azure
none

ABAP classes for calling Azure services from SAP processes

abap-openapi
none

Generates ABAP client classes and server stubs from OpenAPI

abap2gapps
Quiet

ABAP API for Google Apps, with upload to Google Docs

abap2xlsx
none

Library that reads and generates Excel spreadsheets from ABAP

abapCov
Quiet

Uploads ABAP Unit code coverage to codecov.io

abapFaker
Quiet

Fake data generator for ABAP

abapGit
none

Git client written in ABAP that runs inside the system

abapGitServer
none

Git server implemented in ABAP for abapGit clients

abaplint-sci-client
none

ABAP client surfacing abaplint checks in Code Inspector and ATC

building_gateway_services
none

ABAP code and slides from a talk on building SAP Gateway services

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

generator-ui5-appv1.0.8
none

Easy-UI5 generator scaffolding a new UI5 application

generator-ui5-react-nestv1.0.14
Quiet+1

Yeoman generator for a UI5 app that loads a React app

generator-ui5-ts-app
none

Easy-UI5 generator scaffolding a TypeScript UI5 application

MQBA
Quiet+1

MQTT publish/subscribe in ABAP with an external broker bridge

open-abap-core
none

Core ABAP artifacts for code transpiled by @abaplint/transpiler

open-table-maintenance
Functional boundary

Table maintenance over HTTP for a table fixed in code

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

SAP-samples/multi-cloud-html5-apps-samples
none

HTML5 apps on the HTML5 Application Repository across CF and Kyma

spreadsheetimporter/sample-full-btp
none

CAP Risks and Mitigations project with a Spreadsheet Upload button

UI5 Web Components agent skills
Functional boundary

Two agent skills for accessibility and styling of web components

ui5-cc-pdfviewerv0.1.1
Quiet+1

UI5 custom control rendering a PDF from a base64 data URI

wdi5-workshop
No license

Two wdi5 workshops from UI5con 2022 and Devtoberfest 2022

wdio-ui5-servicev3.0.12
Functional boundary

End-to-end testing for UI5 on WebdriverIO with UI5 control selectors

Writing and topics2

Piece, what it offersStill applies
Combine Power Automate, Microsoft Teams Approvals and an SAP Cloud Application Programming Model (CAP) App
SAP Community, Gregor Wolf
nothing recorded
Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message Reporting
SAP Community, Gregor WolfThe reasoningRunnable code
nothing recorded

Details

History14
  • cloud-alm-itsm-mcpprovides → capability:agent-systems-accessThe concern it answers is reaching into an SAP system from outside, split out of MCP servers on this day; the sentence on the edge is unchanged.
  • cloud-alm-itsm-mcpentry → createdTriaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README. Filed on the BTP door because there is no door for the SAP product it fronts and hard rule 9 allows one — the same strain recorded on the LeanIX entries.
  • 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, dotabap, GitHub API · gregorwolf, npm registry · keywords:cds, GitHub API · sapmentors, SAP Community, sap-ai-mcp-servers, Added by hand.
Profile1
For your agent