SAP / SAP Mid Level (3 to 8 yrs) Interview questions
1. What is SAP HANA and why is it described as an in-memory database?
SAP HANA (High-performance ANalytic Appliance) is SAP's proprietary database platform that keeps the primary copy of data resident in RAM rather than treating disk as the main storage medium the way traditional databases do — disk is still used for persistence (so data survives a restart), ...
2. How does in-memory processing improve performance compared to traditional disk-based databases?
Disk I/O, even on fast SSDs, is dramatically slower than RAM access — often by two to three orders of magnitude. A traditional disk-based database mitigates this with caching, indexes, and pre-aggregated summary tables to avoid hitting disk on every query, but those techniques add complexit...
3. Explain the difference between row store and column store in HANA?
HANA supports both storage layouts, and choosing between them matters for performance depending on how data is typically queried. Row Store Column Store Data physically stored row by row, all fields of a row together. Data physically stored column by column, all values of one field together. Effi...
4. Why does HANA favor columnar storage for analytical workloads?
An analytical query like SUM(amount) GROUP BY region only needs two of a table's many columns. In row store, the database still has to read every full row from disk/memory (including every column it doesn't need) just to extract those two fields, since a row's data is stored together as one conti...
5. What is code-to-data pushdown in the context of HANA?
Code-to-data pushdown means moving data-intensive processing logic (filtering, aggregation, joins) into the database layer itself — executing it as SQL or HANA-native logic close to where the data actually lives — rather than pulling large volumes of raw data up to the application lay...
6. Why should business logic be pushed down to the database layer in HANA-based applications?
Beyond the raw performance benefit of avoiding unnecessary data transfer, pushdown takes advantage of HANA's massively parallel, in-memory computation engine, which is architecturally built to process large volumes of data far faster than row-by-row ABAP processing on the application server ever ...
7. What is the difference between OLTP and OLAP workloads, and how does HANA handle both?
OLTP (Online Transaction Processing) workloads are characterized by many small, frequent read/write operations on individual records — creating a sales order, updating a stock level. OLAP (Online Analytical Processing) workloads involve fewer, larger queries that scan and aggregate across h...
8. Explain the internal working of HANA's in-memory computing engine?
HANA's engine keeps table data resident in RAM, organized primarily in columnar format, and distributes query processing across multiple CPU cores in parallel — a single large aggregation query can be split into pieces, each processed by a different core simultaneously, then combined into t...
9. What is columnar storage and how does it differ from row-based storage?
Columnar storage physically groups all values belonging to one column together on disk/in memory, rather than grouping all fields of one row together the way row-based storage does — a fundamental reordering of how the same logical table data is laid out physically. flowchart TD subgraph Ro...
10. When is column store preferred over row store in HANA?
Column store is the right default for large tables where queries typically aggregate or filter across a subset of columns spanning many rows — the classic reporting and analytics pattern. Row store remains preferable for smaller tables, or tables where the typical access pattern reads or wr...
11. How does data compression work in HANA's columnar storage?
Because a single column typically contains many repeated or similar values (a country code column with only a few dozen distinct values across millions of rows, for instance), HANA applies compression techniques like dictionary encoding: each distinct value is stored once in a compact dictionary,...
12. Explain how columnar storage improves aggregation query performance?
An aggregation like SUM(amount) GROUP BY region only needs to touch two columns: amount and region . Because columnar storage keeps each column's values contiguous and separate from every other column, HANA can scan just those two columns directly, entirely skipping every other field the table mi...
13. What is a delta store in HANA's columnar storage architecture?
HANA's columnar format is highly optimized for reads but comparatively expensive to update in place — inserting a single row into a compressed, dictionary-encoded column would require re-encoding potentially the whole column. To avoid that cost on every write, HANA maintains a separate, sma...
14. How does HANA merge delta store data into the main store?
A background process called the delta merge periodically takes the accumulated data in the delta store and folds it into the main store, re-applying the main store's heavier compression and columnar optimization to that newly merged data, then clearing the delta store to start accumulating fresh ...
15. What are CDS Views in SAP?
Core Data Services (CDS) Views are a modern way of defining data models directly in the database layer, written in a SQL-like, declarative definition language, and compiled into database views — letting you define business semantics (associations, calculated fields, annotations for UI behav...
16. Why are CDS Views considered a shift from classical ABAP data modeling?
Classical ABAP development typically pulled raw data from database tables into internal tables and applied business logic, calculations, and joins entirely in ABAP code on the application server — the opposite of the code-to-data pushdown principle HANA is built around. CDS Views flip that:...
17. What is the difference between a CDS View and a classical ABAP view?
A classical ABAP view (defined in transaction SE11 ) is a fairly limited database view construct, typically supporting only simple inner joins between tables with restricted expressiveness. CDS Views are far more capable: they support associations (lazy, reusable joins), calculated and derived fi...
18. Explain the concept of code pushdown in CDS Views?
A CDS View's logic — joins, filters, calculated fields, aggregations — is compiled into an actual database view, meaning when an application queries it via Open SQL, that entire logic executes inside HANA's engine, not in the ABAP application layer. The application only receives the f...
19. What are associations in CDS Views?
An association defines a reusable relationship between one CDS View (or table) and another — declared once in the view's definition — that can then be "followed" in a query using path expressions, without needing to write out the join condition again every time. define view Z_SalesOrd...
20. What is the difference between an association and a JOIN in CDS Views?
A plain JOIN written directly in a CDS View's FROM clause is evaluated unconditionally every time the view is queried — the join always happens, whether or not the query actually needs any fields from the joined entity. An association is declared but not automatically executed; it only trig...
21. What are annotations in CDS Views and why are they important?
Annotations are metadata tags (starting with @ ) attached to a CDS View or its fields, declaring how that view or field should behave or be treated by other SAP tools — from database catalog settings, to OData/UI rendering hints, to analytical semantics — without writing any procedura...
22. How do you expose a CDS View as an OData service?
A consumption-level CDS View annotated with @OData.publish: true (in classical service generation) or exposed via a service definition and service binding (in the newer RAP-based approach) can be directly published as an OData service, without hand-writing the service's data-fetching logic separa...
23. What is the difference between a basic/interface CDS View and a consumption CDS View?
SAP's recommended CDS View layering separates views by purpose, typically into several tiers rather than one flat set of views. Basic/Interface View Composite View Consumption View Close to a single database table; minimal logic. Combines multiple basic views via associations/joins. Adds UI/OData...
24. How do you troubleshoot performance issues in a CDS View?
Diagnosing a slow CDS View follows a similar approach to tuning any database query, using SAP-specific tools to see exactly what's happening at the database level. Check the SQL execution plan via transaction ST05 (SQL trace) or HANA's own EXPLAIN PLAN , to see whether the underlying generated SQ...
25. What is the RAP (RESTful ABAP Programming) model?
RAP is SAP's modern framework for building business applications (particularly Fiori apps and OData services) with a standardized, metadata-driven architecture — combining CDS Views (data modeling), behavior definitions (business logic like create/update/delete rules, validations), and serv...
26. What is the difference between RAP and the classical ABAP programming model?
The classical model typically meant hand-writing a BAPI or function module for business logic, a separate SAP Gateway service implementation class for OData exposure, and manually wiring the two together — a lot of custom, imperative code for functionality that follows largely the same repe...
27. What is a behavior definition in RAP?
A behavior definition is where you declare a business object's actual behavior within the RAP model — which operations are allowed (create, update, delete), what validations and determinations should run, and how the object relates to other objects — written in a dedicated behavior de...
28. What is the difference between managed and unmanaged RAP scenarios?
In a managed RAP scenario, the framework itself handles standard persistence operations (insert, update, delete against the underlying database table) automatically, based on the behavior definition — you only write custom code for validations, determinations, and business logic beyond basi...
29. What is the CAP (Cloud Application Programming) model?
CAP is SAP's framework for building cloud-native business applications on SAP BTP, using open, standard technologies (Node.js or Java, with CDS as a shared data-modeling language) rather than ABAP — a deliberately different technology stack from RAP's ABAP-based approach, aimed at applicati...
30. What is the difference between RAP and CAP?
Both are SAP's modern application development models, sharing CDS-based data modeling as a conceptual foundation, but they target different runtime environments and technology stacks. RAP CAP ABAP-based; runs on SAP's ABAP application server (on-premise or BTP ABAP Environment). Node.js/Java-base...
31. Explain the architecture of a typical RAP-based Fiori application?
A RAP-based Fiori app is built from several distinct, connected layers, each with a specific responsibility, working together to deliver data from the database to the user's screen. flowchart TD A[SAPUI5/Fiori Elements frontend] --> B[OData Service - generated from Service Binding] B --> C[Servic...
32. How do you implement validations and determinations in RAP?
Validations and determinations are both declared in the behavior definition and implemented in the corresponding ABAP behavior implementation class, but they serve different purposes: a validation checks whether data is valid and can raise an error blocking the operation; a determination automati...
33. What is OData and why is it used in SAP?
OData (Open Data Protocol) is a standardized, RESTful protocol for exposing and consuming data over HTTP, built on top of standard web technologies (JSON or XML payloads, standard HTTP verbs). SAP adopted it as the primary protocol connecting Fiori apps (and other external clients) to backend SAP...
34. Explain the difference between OData V2 and OData V4?
OData V4 is the more recent, standardized-by-OASIS version of the protocol, with a cleaner specification and several improvements over V2, though SAP systems (and existing Fiori apps) still widely use both depending on when they were built and what framework generated the service. OData V2 OData ...
35. What is an OData service in the context of SAP Fiori/Gateway?
An OData service is the actual runtime endpoint that exposes a defined set of entities (data) and operations (CRUD, actions) over HTTP, following the OData protocol — the bridge a Fiori app actually calls to read and write backend SAP data, generated either through classical SAP Gateway ser...
36. How do you expose backend data as an OData service?
There are two main paths, reflecting the classical and modern (RAP) approaches: classical SAP Gateway service generation from a CDS View or manual service implementation, or the newer RAP approach using a service definition and service binding. " RAP approach: define which CDS Views a service exp...
37. What is the role of SAP Gateway in OData service implementation?
SAP Gateway is the technical component/framework responsible for translating between the OData protocol (HTTP requests/responses) and SAP's backend business logic — handling the protocol-level details (parsing query options like $filter , formatting responses as JSON/XML) so developers impl...
38. Explain the CRUD operations supported by OData services?
OData maps standard HTTP verbs directly onto the classic CRUD (Create, Read, Update, Delete) operations against a service's exposed entities, giving a consistent, predictable interface regardless of what business object is actually behind the service. HTTP Verb CRUD Operation GET Read (a single e...
39. How do you troubleshoot a failing OData service call?
Diagnosing a failing OData call typically starts by isolating whether the problem is in the request itself, the service implementation, or something deeper in the underlying business logic. Check the HTTP status code and error message in the response body — OData errors typically include a ...
40. What is metadata in an OData service and why does it matter?
The $metadata document is an OData service's self-describing schema — an XML document listing every entity type, its fields (with data types), relationships between entities, and supported operations. Any OData-aware client (Fiori Elements apps in particular) reads this metadata to know how...
41. What is SAP Fiori and how does it differ from classical SAP GUI?
SAP Fiori is SAP's modern, browser-based (and mobile-responsive) user experience design system and set of applications, built around consistent design principles and running on standard web technologies (SAPUI5/HTML5), replacing the older, more rigid screen-and-field SAP GUI transactions for many...
42. What are Fiori design principles?
SAP Fiori's design language is built around five core principles guiding how every Fiori app should behave and feel, regardless of which specific business function it serves. Role-based — an app is tailored to what a specific user role actually needs to do, not a generic, do-everything scre...
43. What is the difference between SAPUI5 and Fiori?
SAPUI5 is the underlying JavaScript UI framework (built on web standards, conceptually similar to frameworks like Angular or React in spirit) that provides the actual reusable UI controls, data binding, and application runtime. Fiori is the design language and set of UX principles/patterns &mdash...
44. How do you debug a SAP Fiori application?
Since a Fiori app runs as a JavaScript application in the browser, debugging combines standard web development tools with SAP-specific diagnostics for the backend OData layer it talks to. Browser developer tools (F12) — inspect network requests to see the actual OData calls being made and t...
45. What is SAP Activate methodology?
SAP Activate is SAP's current implementation methodology for S/4HANA projects, succeeding the older ASAP methodology — combining ready-to-run best-practice business processes, guided configuration tools, and an Agile-influenced project methodology, structured around six phases: Discover, Pr...
46. What are the Explore and Realize phases in SAP Activate?
The Explore phase is where the project team validates pre-configured, standard S/4HANA business processes against the organization's actual requirements — typically through fit-to-standard workshops — identifying where the standard fits as-is and where genuine gaps or customization ne...
47. How does SAP Activate differ from the classical ASAP methodology?
ASAP followed a strictly sequential, Waterfall-style structure (Project Preparation, Business Blueprint, Realization, Final Preparation, Go-Live & Support), with each phase's deliverables largely finalized before the next began. Activate restructures this around SAP's pre-built best-practice cont...
48. What is a fit-to-standard workshop in the Explore phase?
A fit-to-standard workshop is a structured session where the project team walks business stakeholders through SAP's pre-configured, standard best-practice process for a specific business area (like order-to-cash or procure-to-pay), directly in a demo/sandbox system, to determine whether that stan...