Full questions with full answers β no sign-in required.
hardRAP Basics
1. Why should direct database updates be avoided for RAP business objects?
First, check that the change is being made through the RAP behavior layer rather than by updating tables directly. Direct database updates bypass the managed lifecycle, so validations, determinations, locking, authorization checks and transactional consistency are not executed. That means the data may be saved in a technically successful way but still violate business rules or leave the object in an inconsistent state. A strong candidate adds that RAP business objects should be accessed via EML or the framework behavior so the complete business logic is triggered, the update is properly controlled, and the object remains safe for concurrent use and future extensions.
easyRAP Basics
2. What is RAP in SAP ABAP?
First, I would explain that RAP stands for ABAP RESTful Application Programming Model and is SAPβs modern framework for building transactional OData services and Fiori applications. It combines CDS views for the data model with behavior definitions, behavior implementations, service definitions and service bindings to expose business logic in a structured way. The reason it matters is that it standardises how you build, expose and maintain applications on the ABAP platform. A strong candidate adds that RAP supports clean separation between data, business rules and service exposure, making solutions easier to extend, test and align with modern SAP application development.
easyCDS Views
3. What is a CDS View in SAP ABAP?
A strong first step is to explain that a CDS View is a semantic data model defined in ABAP CDS, not just a simple SQL select. It is used to model database data with fields, joins, associations, annotations and built-in authorization support. The reason this matters is that CDS lets you describe the business meaning of the data close to the database layer, which improves reuse, consistency and performance. A strong candidate also adds that CDS views are widely used in S/4HANA for reporting, Fiori apps, OData services, analytics and RAP applications, making them a core part of modern ABAP development.
hardPerformance Tuning
4. How do you decide between JOIN, FOR ALL ENTRIES and CDS for performance?
I consider data relationship, volume, filtering, reuse and pushdown. JOIN is good when relationships are clear and filtering can be pushed to DB. FOR ALL ENTRIES is useful when driver keys are already available in ABAP. CDS is good for reusable semantic pushdown and S/4HANA models. The decision should be validated by trace and runtime evidence.
mediumDebugging
5. A CDS view returns different numbers than the underlying ABAP report using SELECT SUM. Where do you start?
Confirm both are hitting the same physical tables and clients; compare the WHERE clauses generated by SQL trace (ST05). Common causes: unit-conversion in the CDS view (currency / quantity conversions add sign flips), authorization-managed CDS (DCLs filter rows the ABAP report reads directly), or NULL vs 0 semantics for outer joins. Add a WHERE that isolates one document and reconcile row-by-row.
mediumDebugging
6. You must debug a HTTP call originating from a UI5 app hitting an OData service. How do you attach?
Set an external breakpoint (in ADT or SE80, external breakpoint for the technical user) in the GET_ENTITYSET / behaviour implementation of the RAP handler. Reproduce the UI action; the debugger opens the request. Use SICF trace or /IWFND/ERROR_LOG for gateway-side issues before entering ABAP. For unmanaged RAP, add breakpoints in the interaction layer.