PersonSAP

Daniel Hutzel

Contributes to 17
Agent toolingCAPBTPAgent toolingcapabilityBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.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.Audit loggingCAPBTPAudit loggingcapabilityRecording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what.Change trackingCAPABAPChange trackingcapabilityKeeping a readable history of what changed on a record, who changed it and when — as business history rather than database journalling.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.GraphQLCAPGraphQLcapabilityServing the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one.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.LoggingCAPBTPABAPUI5LoggingcapabilitySeeing what a running service did, in a form something can read afterwards — levels, a formatter that suits a laptop and one that suits a log service.NotificationsCAPABAPNotificationscapabilityTelling a person something happened when they are not looking at the screen — a notification in the launchpad, an email, a message somewhere they already are.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.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.Retrieval-augmented generationCAPABAPBTPRetrieval-augmented generationcapabilityGrounding a model's answer in data retrieved at question time: text split into chunks, each chunk embedded as a vector, and the chunks nearest to the question placed into the prompt. Semantic search is the same retrieval with a person reading the matches, and fine-tuning changes the model's weights, not its input.Serve your application over MCPCAPBTPABAPServe your application over MCPcapabilityExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through [service integration](capability:service-integration), connecting its exposed contract with [agent access to your systems](capability:agent-systems-access). Development assistance belongs to [agent access to your code](capability:agent-code-access).Service integrationCAPService integrationcapabilityUsing a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from [destinations](capability:destinations), which is how the address and the credentials are found, and from [replication](capability:replication), which is holding the data locally.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.TypingCAPTypingcapabilityMaking the model visible to the compiler — generated types for entities and events so a rename breaks the build rather than production.

Entries32

Group by32 of 32 entries
EntrySignals
Contributes to32
@cap-js-community/odata-v2-adapterv1.16.2
none

Exposes a CAP service as OData V2

@cap-js/agentsv0.9.9
Functional boundary

CDS plugin for building agents inside a CAP service

@cap-js/aiv1.2.1
none

Value-help recommendations and SAP AI Core as a CAP service

@cap-js/attachmentsv4.0.0
none

CAP Node.js attachments with database, S3, Azure or GCP storage

@cap-js/audit-loggingv1.3.0
none

CAP integration with the SAP Audit Log service

@cap-js/cds-dbsv1.3.1
none

Monorepo of CAP's SQL database services

@cap-js/cds-testv1.0.2
none

Test support for CAP Node.js: server start, HTTP client, assertions

@cap-js/cds-typerv0.41.1
none

Generates TypeScript types from a CDS model

@cap-js/cds-typesv0.20.0
none

Type definitions for the CAP Node.js SDK

@cap-js/change-trackingv2.2.3
none

Change history for annotated CAP entities

@cap-js/db-servicev3.1.2
none

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

@cap-js/graphqlv0.14.0
none

GraphQL protocol adapter generated from the CDS model

@cap-js/hanav3.1.2
none

SAP HANA database service for CAP

@cap-js/mcpv1.5.0
Functional boundary

Exposes CAP services as MCP servers for AI agents

@cap-js/notificationsv1.1.1
none

Business notifications from CAP to SAP Build WorkZone

@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

@capire/data-viewer
Functional boundary

Sample CAP plugin adding a generic data browser

capire/bookshop
none

CAP's getting-started bookshop sample

capire/bookstore
none

Composite CAP app from separately deployed services

capire/docs
none

Sources of capire, the CAP documentation

capire/incidents-app
none

Incident Management reference application for CAP

capire/s4
none

Prebuilt SAP S/4HANA integration package for CAP projects

cds-swagger-ui-expressv0.11.0
none

Swagger UI for a CAP service's OpenAPI definition

commonv0.2.5
none

Sample CAP plugin extending @sap/cds/common with reuse data

orders
Functional boundary

Sample CAP reuse service for orders, with a Fiori UI

reviewsv0.1.0
Functional boundary

Sample CAP reuse service for reviews, with a Fiori UI

SAP-samples/cap-sflight
none

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

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

Exercise solutions for the UX405 course on Fiori elements with CAP

shared-db
Functional boundary

CAP sample sharing one domain model and database across apps

xflights
none

CAP reuse package serving Airlines, Airports and Flights data

xtravels
none

CAP travel-booking app built on xflights master data

Writing and topics3

Piece, what it offersStill applies
What's in Daniel Hutzel's brain?
YouTube — SAP Developers playlists, Daniel Hutzel, DJ Adams
nothing recorded
Everything new: Try out the latest features in CAP
SAP TechEd — session catalogue, Daniel Hutzel, Daniel SchlachterA recipe
nothing recorded
Agentic CAP: Build MCP servers and enterprise AI agents
SAP TechEd — session catalogue, Daniel Hutzel, Daniel SchlachterA recipe
nothing recorded

Details

For your agent