
SAP BTP series
SAP RAP: ABAP RESTful Application Programming on S/4HANA
- SAP RAP
- ABAP
- OData V4
- Behavior definition
- S/4HANA

SAP RAP is how you build transactional Fiori apps inside S/4HANA: CDS, behavior definitions, determinations, validations, draft, ETags, OData V4. It is not “new ABAP reports.” Fortune 500 COEs that skip RAP keep writing BAPIs they will regret. Unmanaged RAP is honesty when the object already lives in ancient code. Managed RAP is the default when you can own the persistency. Authorization via DCL, not a hidden user-exit.
- 01
Is the object in-stack?
If yes, RAP. If the gravity is BTP, CAP.
- 02
Managed vs unmanaged
Unmanaged only with a written reason.
- 03
Draft and ETag
The double-click save is a test case.
- 04
DCL
Authorization is not a user-exit.
- 05
Joule later
Actions on the BO, not a chat that posts.

RAP vs CAP on our programs
SR Soft’s S/4 evolution is explicit: RAP for in-stack transactional, CAP for side-by-side, CPI for the rest. We do not staff “ABAP anywhere.”
Managed, unmanaged, and the BAPI you should kill
Managed RAP owns persistency. Unmanaged RAP wraps the ancient function you cannot yet kill — with a written reason. Determinations and validations are the business. Draft and ETags are the double-click save. DCL is authorization. A BAPI called from a Fiori app with no behavior definition is how COEs stay in 2012. We inventory BAPIs and tag wrap or kill before freeze.
Joule actions on a RAP BO come after the BO is honest. We do not chat-post into unmanaged chaos. The S/4 evolution is RAP + CAP + CPI, not “ABAP anywhere.”
