SR SOFT LLC is an E-Verify Company

← Journal

SAP BTP series

SAP CAPM: Cloud Application Programming Model for Clean-Core Extensions

  • SAP CAP
  • CAPM
  • CDS
  • HANA Cloud
  • Clean core
Light ribbons
Events are cables you cannot see until they break.

SAP CAP (searched as CAPM) is CDS, services, events, HANA Cloud, destination service, XSUAA, multitenancy. It is how you extend S/4 without breaking clean core. cds watch is not production. Principal propagation that dies on Friday night is the real exam. SR Soft staffs CAP in Node and Java with people who have deployed to Cloud Foundry or Kyma.

CDS / CDS-onCAP serviceHANA CloudEvent meshUI5 / RAP
CDS → CAP service → HANA Cloud / Event Mesh → UI5 or RAP
S/4EventAPIAuthCAPCDSHandlerOutboxBTPXSUAADestHANAOpsLogRetryAlert
Side-by-side extension that can be operated

Challenges we actually see

  • Domain models that match a tutorial, not a business object
  • No outbox — events lost on a crash
  • Destinations hard-coded, principal propagation skipped
  • Multitenancy promised to an ISV and never tested
  • Handlers that call S/4 synchronously from a user click and time out
  1. 01

    Object first

    The S/4 object is the model. Not a bookstore.

  2. 02

    Outbox

    Events survive a crash or they are not events.

  3. 03

    Propagation

    The user in S/4 is the user in CAP.

  4. 04

    Operate

    Logs, retries, alerts — named on-call.

CAP cell method
Trading floor
A service without an operator is a demo that bills like a product.

CAP skills we place

CDS28
Node CAP26
Java CAP18
HANA20
Bench composition

Every S/4 program we run asks: RAP in the core, CAP beside it, or both. We staff both. Future: CAP + Datasphere + Joule tools.

Outbox, propagation, and the Friday-night destination

CAP without an outbox loses events on a crash. Destinations hard-coded in a handler will die when the URL changes. Principal propagation skipped means the CAP service is a superuser — a SoD finding and a data-leak pattern. Multitenancy promised to an ISV and never load-tested is a lawsuit. We staff people who have deployed to CF or Kyma and who have been on-call when a destination expired.

User in S/4PropagateCAP handlerOutboxEvent MeshS/4 / store
Side-by-side CAP that can survive a crash

The domain model is the S/4 object, not a bookstore. Handlers that call S/4 synchronously from a click will time out. We design async first. RAP in-stack versus CAP beside is a gravity question we write down. Both, when both are honest.

Overlay
If the user in S/4 is not the user in CAP, you built a back door.