Skip to content

Hard SAP Interview Questions

36 hard questions with answers. Design, trade-off and deep-dive questions asked for senior roles and at top product companies.

Topics in the hard set

ABAP Basics: 10 S/4HANA Architecture and Landscape: 6 Fiori and SAPUI5 Basics: 6 Business Processes and Integration: 5 ERP and SAP Fundamentals: 3 Organizational Structure and Master Data: 3 SAP Modules Overview: 3
Solved — hardStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

A client on ECC asks whether to choose greenfield or brownfield for S/4HANA. How do you advise them?

Save to ▾
Show answer
I assess process quality, custom code, data volume, history needs, timeline and organisational change appetite. If processes are outdated, there is heavy custom code and they want to adopt best practices, greenfield fits. If processes work well, the timeline is tight and history is important, brownfield conversion is cheaper and faster. If they need to merge company codes or move only some units, selective data transition fits. I back the advice with a readiness check and custom code analysis.
02

Mid-way through Realize, the business requests many new changes. How do you control scope?

Save to ▾
Show answer
I route every change through a change request process: description, business value, effort, impact on timeline and testing. Changes that are mandatory for go-live, such as legal needs, are prioritised; nice-to-haves move to a post go-live release. I show the steering committee a clear impact view so decisions are made by the right people. This protects the go-live date while still capturing valid requirements in the backlog.
03

Describe a situation where a go-live was at risk and how you handled it.

Save to ▾
Show answer
Situation: two weeks before go-live, integration testing showed failing bank interfaces. Task: protect the date without risking business. Action: I set up a daily war room with the bank, middleware and finance teams, split defects by owner, and prepared a manual payment fallback with approval. Result: most defects were fixed in eight days, the fallback covered the remaining bank for one week, and we went live on schedule with no missed vendor payments.
04

How does HANA allow S/4HANA to combine transactions and analytics in one system?

Save to ▾
Show answer
Because data is in memory and column-stored with high compression, HANA can aggregate millions of line items on the fly. So S/4HANA no longer needs precalculated totals tables or a separate data warehouse for operational reporting. CDS views define analytical models directly on transaction tables, and embedded analytics apps read them in real time. This removes data latency and duplicated storage, although enterprise-wide historical reporting may still use SAP Datasphere or BW.
05

What is the role of compatibility views after the S/4HANA simplification?

Save to ▾
Show answer
When SAP removed tables such as BSIS, BSAS, BSID or the old MM stock tables, many custom programs still read them. S/4HANA provides compatibility views (often CDS based) with the old table names, which calculate the data from new tables like ACDOCA or MATDOC. Old SELECT statements keep working, but write access is not possible and performance can suffer, so custom code should be adapted to the new data model over time.
06

A client wants to move to S/4HANA but has 15,000 custom objects. How do you approach custom code?

Save to ▾
Show answer
First I measure usage with ABAP Call Monitor (SCMON) or usage procedure logging to find dead code, which is often 40 to 60 percent and can be retired. Then I run the ABAP Test Cockpit with S/4HANA readiness checks to find code affected by simplifications. Remaining objects are fixed, replaced by standard functions, or redesigned as clean extensions. The custom code migration app helps track progress, and the plan is part of the conversion timeline.
07

The business wants zero data loss and minimal downtime for an ECC to S/4HANA conversion. What options do you discuss?

Save to ▾
Show answer
I discuss downtime-optimized approaches in SUM such as downtime-optimized DMO and near-zero downtime technology, where most migration and data conversion run while the system is still live and only delta changes are processed during the final window. I also plan archiving to reduce data volume, several mock conversions to measure timing, a tested reconciliation of key financial and stock figures, and a rollback plan. The final choice balances cost against allowed downtime.
08

How would you plan a client strategy for a new S/4HANA development system?

Save to ▾
Show answer
I would create a golden configuration client (for example 100) where all customizing is done and recorded in transports, a unit test client (for example 200) refreshed by client copy or transports for testing with data, and a sandbox client for experiments that never transports. Development of repository objects is cross-client. I would lock automatic recording rules in SCC4, define who can open clients, and document refresh schedules.
09

Describe how you managed stakeholders during a long system conversion.

Save to ▾
Show answer
Situation: a conversion with four mock runs and many teams. Task: keep business and IT aligned. Action: I set a weekly steering update with simple status, risks and decisions needed, and daily stand-ups during mocks. I shared measured downtime and reconciliation results openly, including bad news early. Result: leadership approved an extra mock when timings were tight, and the final conversion finished within the planned weekend window.
10

Why is the organizational structure design hard to change after go-live?

Save to ▾
Show answer
Every document, stock record and posting refers to organizational units, so changing them later means converting historic data, reassigning open items and retesting all processes. For example, splitting a company code or merging plants affects GST registration, valuation, cost centers and interfaces. SAP offers specialised conversion services, but they are costly. That is why the structure is agreed early in Explore with finance, legal and operations.
11

Duplicate suppliers are causing double payments. How do you fix the problem long term?

Save to ▾
Show answer
I first stop the risk: block duplicates for payment and posting and reconcile open items. Then I clean the data by merging or archiving duplicates. Long term, I enforce duplicate checks on PAN, GSTIN and bank account in BP creation, use a central governance process such as SAP Master Data Governance or an approval workflow, restrict who can create suppliers, and run monthly duplicate reports for audit.
12

Which classic modules or components changed most in S/4HANA?

Save to ▾
Show answer
Finance changed most with the Universal Journal, new asset accounting and mandatory Business Partner. Credit management moved to SAP Credit Management (FIN-FSCM). SD lost some tables and rebate processing moved to settlement management. MM inventory now uses MATDOC. MRP Live runs on HANA. Classic WM moved toward EWM. Output management uses BRF+ and Adobe forms. These changes drive most effort in conversions.
13

A client wants to know whether to keep on-premise HCM or move to SuccessFactors. What do you consider?

Save to ▾
Show answer
I look at their HR roadmap, payroll complexity, local legal needs such as Indian statutory payroll and PF rules, current customizations, cloud policy and timeline. SuccessFactors gives modern talent processes and quarterly innovation, and SAP's strategy favours it. On-premise HCM for S/4HANA suits companies needing deep payroll control on-premise. A hybrid with Employee Central and existing payroll is often a step-by-step path.
14

How do you mentor juniors across different modules?

Save to ▾
Show answer
Situation: my team had five freshers in different modules. Task: build their end-to-end understanding. Action: I ran weekly sessions where each junior demoed one process and showed integration points, paired them on cross-module tickets, and reviewed their RCA notes. Result: within six months they handled integration tickets with less escalation, and two were promoted to consultant level.
15

How does S/4HANA support event-driven integration?

Save to ▾
Show answer
S/4HANA can raise standard business events, such as business partner changed or sales order created, and publish them to SAP Event Mesh or Advanced Event Mesh on BTP. Subscribers such as BTP apps or third-party systems react asynchronously without polling. This decouples systems and improves scalability. Event payloads are usually notifications with keys, and subscribers call released APIs to read details if needed.
16

A client wants a third-party e-commerce platform to create sales orders in S/4HANA in real time. How would you design it?

Save to ▾
Show answer
I would expose a released sales order API, such as the OData Sales Order API, through SAP Integration Suite with authentication, mapping and error handling. The e-commerce site calls it synchronously for order creation and gets the order number. Stock and price updates flow back through APIs or events. I would add idempotency keys to avoid duplicates, monitoring with alerts, and a retry queue for failures.
17

Finance says GR/IR account balance keeps growing. What could cause this and how do you fix it?

Save to ▾
Show answer
A growing GR/IR balance means goods receipts without invoices, invoices without goods receipts, or quantity and price differences that were never cleared. I analyse open items by PO with standard reports, follow up with buyers and suppliers, post missing documents, and use the GR/IR clearing transaction MR11 for small differences after approval. At month end, GR/IR regrouping with F.19 or the S/4HANA app shows correct balance sheet presentation.
18

What is the ABAP RESTful Application Programming Model (RAP)?

Save to ▾
Show answer
RAP is SAP's current model to build transactional Fiori apps and APIs. Developers define a CDS data model, a behavior definition with operations like create, update, delete, actions, validations and determinations, a behavior implementation in ABAP classes, and a service definition and binding to expose OData V2 or V4. RAP supports managed and unmanaged scenarios and draft handling, and it works in ABAP Cloud for clean core development.
19

What is ABAP Cloud and the tier model for extensions?

Save to ▾
Show answer
ABAP Cloud is the development model that allows only released APIs, ADT tooling and modern constructs like RAP and CDS, so code survives upgrades. SAP describes a three-tier model for S/4HANA private and on-premise: tier 1 is ABAP Cloud using released objects, tier 2 is cloud API enablement where wrappers expose unreleased functions as released ones, and tier 3 is classic ABAP for remaining needs. Teams aim to keep most new code in tier 1.
20

How do you call a BAPI to create a document and commit it safely?

Save to ▾
Show answer
Call the BAPI, check the RETURN table for errors, then commit or roll back. CALL FUNCTION 'BAPI_PO_CREATE1' EXPORTING poheader = ls_head poheaderx = ls_headx IMPORTING exppurchaseorder = lv_ebeln TABLES poitem = lt_item poitemx = lt_itemx return = lt_return. IF line_exists( lt_return[ type = 'E' ] ) OR line_exists( lt_return[ type = 'A' ] ). CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = abap_true. ENDIF.
21

How do you analyse a slow custom ABAP report?

Save to ▾
Show answer
I run a runtime trace with SAT or ST12 to see whether time goes to database or ABAP processing, and an SQL trace with ST05 to find expensive or repeated statements. Typical fixes are adding WHERE conditions on key or indexed fields, removing SELECT in loops, using sorted or hashed tables, reading only needed columns, and pushing aggregation to CDS or SQL. The SQL Monitor (SQLM) shows heavy statements in production.
22

During conversion, ATC reports thousands of findings in custom code. How do you prioritise?

Save to ▾
Show answer
I combine ATC results with usage data from SCMON or UPL so unused objects are removed first. For used objects I fix mandatory findings first, such as removed tables, changed field lengths like the 40-character material number, and syntax errors. Performance and best-practice findings come later. I group similar fixes, use quick fixes in ADT where possible, and track progress with the custom code migration app.
23

A team wants to read standard tables directly from a BTP app. What would you recommend?

Save to ▾
Show answer
I would not allow direct table access because it breaks clean core and security. I would check the SAP Business Accelerator Hub for a released OData API or event that covers the data. If none exists, I would build a custom CDS-based RAP service using released objects in the S/4HANA system and expose it through a communication arrangement, then call it from BTP through destinations with proper authentication.
24

Two users update the same custom table at the same time and data is overwritten. How do you fix it?

Save to ▾
Show answer
I would add a lock object in SE11 on the table key and call the generated ENQUEUE function before changing data and DEQUEUE after saving, so the second user gets a lock message. I also check that the update happens in one logical unit of work with proper COMMIT WORK. In RAP-based apps, managed locking and ETag handling solve this automatically.
25

Tell me about a time you pushed back on a development request.

Save to ▾
Show answer
Situation: a consultant asked me to modify a standard SAP program for a small pricing display change. Task: meet the need without upgrade risk. Action: I explained the cost of modifications, proposed a BAdI implementation and a custom field instead, and built a quick prototype. Result: the business accepted it, the change was delivered in three days, and it survived the next upgrade with no rework.
26

What is draft handling in Fiori apps?

Save to ▾
Show answer
Draft handling saves the user's unsaved changes in separate draft tables while they edit, so work is not lost if the session ends and others see that the object is locked. The user can continue later and finally activate the draft into the active data. In RAP, draft is enabled in the behavior definition with draft tables. It supports long edits and validations before final save.
27

How do you build a transactional Fiori app end to end with RAP?

Save to ▾
Show answer
Create database tables, then interface CDS view entities and projection views. Write a behavior definition with create, update, delete, validations, determinations and draft, implement the behavior class, and add UI annotations in metadata extensions. Create a service definition exposing the projections and a service binding as OData V4 UI, publish it, then preview the Fiori elements app or generate one in BAS and deploy it with a launchpad tile and role.
28

How do you improve the performance of a slow Fiori app?

Save to ▾
Show answer
I check the browser network tab for large or repeated OData calls, and the back end with ST05, SAT and the gateway statistics. Fixes include paging with $top and $skip, selecting only needed fields, avoiding expensive calculated fields in CDS views, adding proper filters and indexes, batching requests, caching value helps, and enabling the UI5 cache buster and asynchronous loading. I measure before and after on realistic data.
29

A company has 400 SAP GUI transactions in use and wants to move users to Fiori. How do you plan it?

Save to ▾
Show answer
I would analyse transaction usage with ST03N and the Fiori Apps Recommendations report to map transactions to standard Fiori apps. Then I design business roles per job with spaces and pages, activate apps in waves starting with high-volume users, keep SAP GUI for HTML tiles for transactions without apps, train key users, and collect feedback. Custom apps are built only where real gaps remain.
30

A business wants a mobile app for field staff to record visits using S/4HANA data. How would you approach it?

Save to ▾
Show answer
I would first check if a standard Fiori app on mobile meets the need, since Fiori is responsive. For offline use, I would consider SAP Build apps or the SAP Mobile Services on BTP. The app would call a released OData API or a custom RAP service through BTP destinations with secure authentication. I would design for limited connectivity, data sync and simple screens.
31

Tell me about a time you improved user adoption of a new system.

Save to ▾
Show answer
Situation: after a Fiori rollout, only half the buyers used the new apps. Task: improve adoption. Action: I interviewed users, found two missing fields and a confusing role layout, fixed them with Adapt UI and new spaces, and ran short floor sessions with champions in each team. Result: adoption reached over ninety percent in six weeks, and help desk tickets about navigation dropped.
32

How do you write an aggregation in ABAP SQL so the database does the work?

Save to ▾
Show answer
Use GROUP BY and aggregate functions in the SELECT instead of looping and summing in ABAP. SELECT bukrs, gjahr, SUM( hsl ) AS amount FROM acdoca WHERE rldnr = '0L' AND bukrs IN @s_bukrs AND gjahr = @p_gjahr GROUP BY bukrs, gjahr INTO TABLE @DATA(lt_totals). Only the totals travel to the application server, which is far faster than reading every line item of the Universal Journal.
33

A custom report shows different totals in development and quality for the same logic. What do you check?

Save to ▾
Show answer
I first confirm both systems have the same transport version of the program using version comparison. Then I compare the data itself, because test data, client settings and customizing differ between systems. I check selection screen defaults, user parameters such as company code, authorization-based filtering in CDS access control, and currency or unit conversion. Debugging with the same input on both systems usually shows the difference quickly.
34

How would you plan the migration of supplier master data for a greenfield S/4HANA project?

Save to ▾
Show answer
I would agree the target BP design with roles, number ranges, account groups (BP groupings) and mandatory fields, then extract and cleanse legacy data: remove duplicates and inactive suppliers, validate PAN, GSTIN and bank details. I map values to S/4HANA, load with the Migration Cockpit supplier object in mock loads, reconcile counts and key fields, get business sign-off, and repeat in the cutover with a freeze period.
35

How do you test end-to-end integration in an S/4HANA project?

Save to ▾
Show answer
I define end-to-end scenarios such as procure to pay and order to cash with variants, including interfaces and outputs, and list expected documents and accounting entries for each step. Testers run them in SIT with realistic master data, record evidence, and check document flow and GL postings at every step. Defects are logged by owner. Automated regression with tools such as SAP Cloud ALM test automation or third-party tools helps later releases.
36

A delivery cannot be created for a sales order. What do you check?

Save to ▾
Show answer
I check the sales order for incompleteness, credit block or delivery block in the header or schedule line, and whether the requested delivery date and confirmed quantity exist after availability check. Then I check shipping point determination, the item category's delivery relevance and the delivery type copy control. VL10 or the delivery due list shows the log of why an order was not selected, which usually points to the exact reason.

Frequently asked questions

Who should practise hard SAP questions?

Candidates targeting senior roles or top product companies, and anyone who finds the medium set easy.

How should I practise these?

Answer each question aloud before opening the answer, mark it as solved only when your answer matches the key idea, and save misses to Last-Minute Revision.

Other difficulty levels