OrganisationSAP

SAP Samples

Provides 2
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).
Demonstrates 26
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.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.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.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.Content filteringCAPBTPContent filteringcapabilityChecking what goes into a model and what comes out of it against content rules, and stopping or flagging a request that fails them. Distinct from [data masking](capability:data-masking), which hides values: a filter refuses content.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.Data maskingCAPBTPData maskingcapabilityReplacing the personal or confidential values in a prompt with placeholders before it leaves for a model, and putting them back in the answer. Anonymisation, where the values are gone for good, and pseudonymisation, where they return, are the two forms; which fields count as sensitive is the application's question, not the module's.Data modellingCAPABAPData modellingcapabilityDefining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume.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).DeploymentCAPBTPDeploymentcapabilityGetting an application onto a runtime and keeping it there: build descriptors, deployment topology, service bindings and lifecycle operations. The target runtime determines how the application is packaged and configured.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.Document extractionCAPBTPUI5Document extractioncapabilityGetting structured data out of a document somebody sent you — an invoice, a purchase order, a scanned form — instead of having a person key it in. The mirror image of document output, and a different problem from reading a service: the input is a file, the shape is unknown until something reads it, and the answer arrives with a confidence rather than a guarantee.Draft handlingCAPDraft handlingcapabilityLetting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft.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).Fiori annotationsCAPUI5ABAPFiori annotationscapabilityDescribing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic.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.Local developmentCAPABAPLocal developmentcapabilityRunning the whole stack on a laptop against real bindings — the service, the UI and the routing in front of it — without deploying to see a change.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.Platform migrationCAPBTPPlatform migrationcapabilityMoving an application, integration or database from one platform to another: assessing what exists, converting what tooling supports, and adapting what cannot carry over. Language-level compatibility is a separate concern from moving the platform around an application.Plugin authoringCAPPlugin authoringcapabilityWriting a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone.Prompt managementCAPBTPPrompt managementcapabilityKeeping the prompts an application sends to a model as templates with placeholders, stored and versioned apart from the code that calls them, so a change of wording is not a deployment. What people conflate under it: the template filled at runtime, the registry it lives in, and the orchestration step that fills it.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.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.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.TestingCAPBTPSAP Digital ManufacturingTestingcapabilityProving 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.

Entries47

Group by47 of 47 entries
EntrySignals
Maintains1
SAP-samples/hana-developer-cli-tool-example
none

Developer-centric command line for SAP HANA

Maintains: samples, sketches and references46
btp-user-management-microservice
none

CAP microservice on XSUAA managing users and authorizations

cap-microservices-workshop
none

reCAP 2025 workshop on cutting a CAP app into microservices

cap-nodejs-dev-env
none

Development container definition for CAP Node.js

liteinventorymanagement
none

CAP reference app for lightweight local inventory management

Sample CAP Application with SAP Cloud SDK for AI
Functional boundary

CAP samples calling SAP AI Core through the SAP Cloud SDK for AI

SAP BTP AI Best Practice Demo - Content Filtering - CAP
Functional boundary

CAP samples comparing SAP AI Core responses with content filtering

SAP BTP AI Best Practice Demo - Data Masking - CAP
Functional boundary

CAP samples generating email through SAP AI Core with anonymization

SAP BTP AI Best Practice Demo - Prompt Registry - CAP
Functional boundary

CAP samples using SAP AI Core's Prompt Registry for templates

SAP BTP AI Best Practice Demo - Prompt Templating - CAP
Functional boundary

CAP samples filling a prompt template sent to SAP AI Core

SAP BTP AI Best Practice Demo - Vector Embedding (RAG) - CAP
Functional boundary

CAP samples embedding CSV rows into the SAP HANA Cloud vector store

SAP BTP AI Best Practice Demo - Vector Query (RAG) - CAP
Functional boundary

CAP samples running RAG similarity queries over SAP HANA Cloud vectors

SAP-samples/btp-cap-dox-invoice-validation
none

CAP app validating invoices with Document Information Extraction

SAP-samples/btp-cap-genai-rag
none

CAP reference app for GenAI email support with RAG on HANA Cloud

SAP-samples/btp-cap-genai-semantic-search
none

CAP sample for semantic search with Generative AI Hub and HANA Cloud

SAP-samples/btp-developer-guide-cap
none

Incident Management CAP app for the SAP BTP Developer's Guide

SAP-samples/btp-event-driven-multi-tenant-architecture
none

CAP sample of SAP Event Mesh events feeding a multi-tenant SaaS app

SAP-samples/btp-joule-a2a-pro-code-agent
none

A2A reference letting Joule delegate to a CAP pro-code agent

SAP-samples/btp-secure-development
none

OWASP Top 10 workshop exploiting and fixing flaws in a CAP Node.js app

SAP-samples/cap-agentic-engineered
none

Financial Risk Analyzer built by an agent grounded in SAP MCP servers

SAP-samples/cap-bookshop-wdi5
none

CAP bookshop with wdi5 system tests for a CI/CD tutorial

SAP-samples/cap-cds-hands-on
none

Five-part workshop on CDS, from a first service to constraints

SAP-samples/cap-hana-exercises-codejam
none

CodeJam building a full-stack CAP app on SAP HANA Cloud

SAP-samples/cap-local-development-workshop
none

reCAP 2025 workshop on CAP's local-development toolset

SAP-samples/cap-service-integration-codejam
none

CodeJam on consuming external services from a CAP project

SAP-samples/cap-sflight
none

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

SAP-samples/cap-tour-hands-on
none

Eight-exercise tour of CAP features, from mocking to plugins

SAP-samples/cloud-cap-hana-swapi
none

CAP data model of many-to-many relationships on a Star Wars dataset

SAP-samples/cloud-cap-samples-java
none

Bookshop app demonstrating the CAP Java SDK end to end

SAP-samples/cloud-foundry-runtime-learning-journey
none

Companion repo deploying a CAP app to Cloud Foundry two ways

SAP-samples/codejam-cap-llm
none

CodeJam on a CAP job posting service using SAP AI Core over OData

SAP-samples/e-mobility-driver-app
none

CAP-based PWA for EV drivers proxying SAP E-Mobility OData APIs

SAP-samples/event-hub-cap-samples
none

CAP consumer of SAP Cloud Application Event Hub events

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

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

SAP-samples/fiori-elements-fpm-exercises-codejam
none

CodeJam building a bookshop app on the flexible programming model

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

Exercise solutions for the UX405 course on Fiori elements with CAP

SAP-samples/odata-dd-server
none

CAP Node.js server behind the OData Deep Dive tutorials

SAP-samples/partner-reference-application
none

Poetry Slam Manager, a multi-tenant SaaS reference app on SAP BTP

SAP-samples/partner-reference-application-extension
none

Customer-specific catering extension to the Poetry Slam Manager

SAP-samples/recap2026-cap-level-data-federation
none

reCAP 2026 workshop on data federation between CAP applications

SAP-samples/ui5-cap-event-app
none

Event registration app showing OData V4 draft with UI5 and CAP

slp-supplier-validation
none

CAP reference app validating Ariba supplier registration data

tailspendmanagement
none

CAP reference application for tail spend management

teched2025-XP260
none

TechEd 2025 workshop on OWASP Top 10 risks in CAP applications

xsa-cap-migration
Functional boundary

Guide migrating the hana-shine-xsa demo from XS Advanced to CAP

xsa-cap-migration-using-basextn
none

Guide to migrating XS Advanced database artefacts to CAP

xsc-cap-migration
Functional boundary

Guide to migrating XS Classic database artefacts to CAP

Details

History5
  • SAP-samples/hana-developer-cli-tool-exampleprovides, serves_ecosystems, domain → capability:agent-systems-access and capability:hana-native-artifacts; serves cap; domain data-and-persistenceThe entry sat only under Agent access to your code, which reads a project; its MCP server reaches a HANA database, which is Agent access to your systems. The README's own words put its CDS conversion and HDI container management beside a CAP model, so it serves the CAP door and counts on Native SAP HANA artifacts there. A developer CLI for a database belongs to Data & Persistence, not AI & Agents. Re-evaluated from the Claude plugin's arrival on 2026-10-24.
  • SAP-samples/hana-developer-cli-tool-exampleprovides → adds capability:database-administrationIts performance analysis, privilege grants and backup and recovery commands had no capability to sit under; Database administration was added for them the same day.
  • SAP-samples/partner-reference-applicationconnects → sap-s4hana-cloud-public-editionThe description named the ERP systems the application integrates with, and the graph had nothing to point at. SAP S/4HANA Cloud Public Edition is now an external of kind sap-solution, and the tutorial's sentence about its OData services is the edge.
  • SAP-samples/cap-agentic-engineeredentry → createdEntered from the sap-ai-mcp-servers catalogue, which is credited as the source; written from the repository's own README rather than from the catalogue's line about it. Hard rule 7: skills are indexed, never authored here. The catalogue files it under skills; its own README calls it a reference application showing what grounding does, so it is typed sample and demonstrates rather than provides. VISION §5: evidence is never an option you depend on.
  • First entry seenDiscovered via Added by hand, GitHub organisations and accounts, sap-ai-mcp-servers.
Profile1
For your agent