The ABAP RESTful Application Programming Model, commonly called RAP, is a framework for building transactional services and SAP Fiori-oriented applications in modern ABAP environments. It brings data modelling, business behaviour and service exposure into a structured development approach.
RAP has several concepts, so beginners should learn the architecture as a flow rather than memorising annotations.
Begin with the data model
Core Data Services (CDS) entities describe the business data and relationships. A root entity represents the main business object, while child entities can form compositions. The model should reflect lifecycle and transactional boundaries, not merely mirror database tables.
Use clear keys, associations and semantic annotations. Keep reusable interface views separate from consumption-specific projection views where the architecture calls for it.
Define behaviour
A behavior definition describes what can happen to an entity: create, update, delete, actions, validations and determinations. It also defines locking, authorisation and concurrency-related behaviour according to the scenario.
Behaviour implementation contains custom logic when the framework cannot provide it automatically. Keep business rules focused and return useful messages to consumers.
Managed and unmanaged scenarios
In a managed scenario, the RAP framework handles much of the standard transactional processing. Developers define the model and behaviour while implementing extensions where needed.
An unmanaged scenario gives the developer more control and can support existing business logic or persistence patterns. It also creates more responsibility. Choose from system constraints and application requirements, not from a belief that one approach is always superior.
Projection and service layers
Projection views expose the portion of the business object required by a specific consumer. A service definition selects entities for exposure, and a service binding connects the definition to a supported protocol and development scenario.
Treat exposure as an API contract. Do not publish every internal field simply because it is available. Apply authorisation and stable semantics.
Draft, validation and determination concepts
Draft capabilities can support save-and-continue user experiences. Validations check business rules at defined points, while determinations derive or update values when relevant changes occur.
Avoid hiding large, unexpected side effects in a determination. Document triggers and make error messages actionable.
EML and business-object interaction
Entity Manipulation Language (EML) allows ABAP code to interact with RAP business objects using their defined behaviour. It supports operations and reads through the business-object contract rather than bypassing it with direct persistence changes.
Learn EML after understanding entity keys, transaction boundaries and reported messages. The syntax is easier when the architecture is already clear.
Authorisation and concurrency
Define access according to business roles and verify it in realistic user contexts. Optimistic concurrency and locking behaviour protect users from silently overwriting one another’s changes.
Security belongs in the service design. Hiding a field in a Fiori interface does not replace backend authorisation.
A practical learning sequence
First strengthen modern ABAP, object-oriented concepts, Open SQL and CDS. Build a small read-only service, then a managed transactional object with validations and an action. Add draft behaviour only after the basic lifecycle works.
Use the development tools and RAP features supported by the target SAP release and deployment model. Capabilities differ across environments, so consult current SAP documentation.
Portfolio project
Create a simple travel request or inventory request business object. Model header and item composition, implement status validation and an approval action, expose a limited projection and write tests for business logic. Document the request lifecycle.
Prepare for modern development through the SAP ABAP Training in Vizag. Optimise persistence with the ABAP Open SQL guide and protect behaviour logic using ABAP Unit tests.
Final takeaway
RAP structures application development around a business-object contract. Learn the CDS model, behaviour, projection and service flow in order. Then add managed processing, EML, draft and advanced features as the project requires.