SAP RAP Interview Questions
RAP questions arrive in almost every modern ABAP interview now, and they expose a specific gap: candidates who have read about the RESTful Application Programming Model but cannot reason about why it is shaped the way it is. Interviewers are not checking whether you can recite the layers; they are checking whether you know which layer owns which decision.
The questions on this page come from ERPClimb's reviewed question bank and move from the model's building blocks — behaviour definitions, projections, service definitions and bindings — into the judgement calls: managed versus unmanaged implementation, when a legacy application should keep its own persistence, and how RAP relates to the CDS model underneath it.
Each answer is written to be said out loud in an interview: the decision first, the reason second, and the trade-off the interviewer is waiting for last. If you can explain why a greenfield object goes managed without hesitating, you are ahead of most of the field.
What interviewers actually probe
Managed versus unmanaged
The single most common RAP question. Expect to justify the choice from who owns persistence and who owns the transactional buffer — not from which one is newer.
What the behaviour definition actually controls
Interviewers probe whether you understand that the behaviour definition declares the business object's contract — operations, validations, determinations, locks — rather than containing the logic itself.
Projections and service exposure
A frequent practical line: how a single data model serves multiple apps through projection layers and service bindings, and what V4 exposure buys you over a hand-built service.
RAP versus what it replaces
Strong candidates can place RAP against SEGW services, classic reports and BOPF-era thinking, and say honestly when the older technique is still the right one.
22 questions with full answers
Ordered from foundational to advanced. No sign-in required.
2. How do you expose a RAP service to Fiori?
3. What is the difference between action, determination and validation in RAP?
4. How would you design a RAP business object with header and items?
5. In a travel app, the total price is calculated in a determination on save. Users entering bookings in the Fiori object page see a total of zero until they press Save and think the app is broken. What do you change?
6. A batch program called MODIFY ENTITIES to create orders and immediately reported success, but nothing appeared in the database and some records were never explained. What is wrong?
7. An expense app put defaulting, validation and status transitions all into one big determination on save. Users get no immediate feedback, and wrong amounts are silently corrected. How would you restructure the logic?
8. A new approval app on custom tables needs standard CRUD, draft, and in addition must write change documents and an application log entry whenever an approval request is saved. Which RAP implementation type do you choose and where does the extra logic go?
9. Your team designed a draft-enabled RAP BO for trade promotions with the promotion number (from a number range) as the table key, drawn in early numbering. Auditors now complain about large gaps in promotion numbers. What went wrong and how would you redesign the keys?
10. A Fiori app hid the Approve button for approved or foreign-region requests, but an integration partner using the OData API was still able to approve such requests. Where should this rule have been implemented?
11. Two Fiori apps must work on the same RAP business object: a planner app with full editing and an approver app that may only approve or reject. A colleague proposes copying the BO. What do you propose instead?
12. A managed RAP BO on custom tables went live quickly, but users report that two people editing the same record overwrite each other's changes, and the "Changed by" column is always empty. Which part of the data model is missing?
13. In a claim application, developers made claim items a separate root BO so items could be created on their own. Now items exist without a claim header and item changes are not locked with the claim. How should the model look?
14. A team exposed an interface CDS view entity (ZI_*) directly in the service definition. External consumers now depend on internal technical fields, and every data-model change breaks them. How should the layers have been set up?
15. An acceptTravel action works in development but in quality approvers get an error that the status field cannot be changed or that they are not authorized — even though they are allowed to approve. The action updates OverallStatus with MODIFY ENTITIES. What is the likely cause?
16. A RAP UI service (OData V4 – UI binding) was given to a logistics partner for integration. After a UI enhancement renamed fields in the projection, the partner interface failed. How do you set up exposure correctly?
17. When would you choose managed RAP and when would you choose unmanaged RAP?
18. How does RAP fit S/4HANA Clean Core?
19. An approve action for expense claims reads each selected claim with a separate SELECT SINGLE in a loop and raises a message when one fails, but the other claims still get approved without any explanation for the failed one. How do you improve the implementation?
20. You must bring an existing SAP GUI transaction for customer returns onto a Fiori app on S/4HANA 2022. The legacy code uses BAPIs and a custom update function module. How do you approach the migration to RAP?
21. After go-live of a draft-enabled RAP app, users complain that changes "disappear" when two planners work on the same promotion on the same day. How do you analyse and fix it?
22. A procurement request app must let users save incomplete requests and continue days later, while nobody else changes the same request in between. How do you design this in RAP?
Practise by experience level
The questions above are tagged by the experience levels they are normally asked at, so the same page works for a first interview and for a lead-developer round.
SAP RAP Interview Questions FAQ
When would you choose a managed over an unmanaged RAP implementation?
Managed when the object is new and the framework can own persistence and the transactional buffer — that is the greenfield default on S/4HANA. Unmanaged when existing code already owns the database tables and the save sequence, because RAP then delegates those phases to your implementation instead of replacing working logic.
What is a behaviour definition in RAP?
It is the declared contract of a business object: which operations exist, which fields are read-only, where validations and determinations run, and how locking works. The implementation lives in the behaviour pool class; the definition is what consumers and the framework rely on.
How does a CDS model become an OData service in RAP?
Through three thin layers: the CDS views model the data, a projection view adapts it for a specific app, and a service definition plus binding exposes it as OData — V4 with RAP. The point interviewers look for is that no hand-written DPC class is involved.
What is the difference between a validation and a determination?
A validation checks consistency and can reject the save; a determination derives or fills values during the transactional phase. The expected answer includes when each runs — determinations modify, validations guard — and that both are declared in the behaviour definition and triggered by the framework, not called directly.
Is RAP only for S/4HANA cloud?
No — RAP is available on S/4HANA on-premise and in the ABAP environment on BTP as well. What changes with the cloud is which release of the model and which language version restrictions apply, which is itself a question interviewers ask to test whether you have actually built with it.
Next practice step
Related SAP interview topics
ERP Climb is an independent educational platform and is not affiliated with SAP SE.