40 questions with answers for candidates with 5 years of experience — 31 medium, 9 hard.
What interviewers expect: 5 years experience
Interviews focus on leading workstreams: designing solutions across modules, deciding between configuration, enhancement and BTP extension, estimating WRICEF effort and managing client stakeholders. Expect questions on brownfield conversion, custom code remediation, clean core and integration design. Leadership and client-facing STAR stories matter a lot at this level.
This set is weighted towards Fiori and SAPUI5 Basics (8), ABAP Basics (8), Business Processes and Integration (7), S/4HANA Architecture and Landscape (5).
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
Users ask for an extra column in a standard Fiori list report. What are your options?
Users can first check the table settings, because many fields are available but hidden. If the field exists in the service but not the UI, a key user can use Adapt UI or a developer can add an app variant or annotation extension. If the field does not exist, the Custom Fields app can add it and enable it for the app. A custom app is the last option.
02
Users complain that the system is slow every day at 10 a.m. How do you investigate?
I check what runs at that time: background jobs in SM37, active work processes in SM50 or SM66, and the workload monitor ST03N for response time breakdown between database, CPU and wait time. If heavy batch jobs overlap with peak dialog use, I reschedule them. If one report dominates, I trace it with ST12 or SQL trace ST05. I also check HANA memory and expensive statements with the DBA Cockpit or HANA cockpit.
Code pushdown means moving data-intensive logic from the ABAP application server to the HANA database, so calculations happen close to the data and only results travel. Techniques include CDS views, ABAP SQL with aggregations and expressions, and AMDP (ABAP Managed Database Procedures) written in SQLScript. Instead of selecting millions of rows and looping in ABAP, the database filters and aggregates, which improves performance a lot.
04
What is the Simplification List and the Readiness Check?
The Simplification List documents every functional and technical change in an S/4HANA release, such as removed transactions, changed tables and mandatory replacements. The SAP Readiness Check is a tool that analyses an existing ECC system and reports which simplification items apply, custom code impact, add-on compatibility, data volume and sizing. Together they help a team estimate the effort and plan a conversion project.
PS manages projects such as capital investments, construction or engineer-to-order products. It uses Work Breakdown Structure (WBS) elements for cost and revenue planning and networks with activities for scheduling. Actual costs from purchasing, time and materials are collected on WBS elements, and results analysis and settlement move costs to assets or profitability. It integrates closely with FI, CO, MM and PP.
06
A delivery cannot be created for a sales order. What do you check?
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.
07
A business wants a mobile app for field staff to record visits using S/4HANA data. How would you approach it?
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.
08
An approval Fiori app shows no items even though workflows exist. What do you check?
I check that workflow items are actually assigned to the user in the inbox, using workflow logs in SWIA or the Manage Workflows app. Then I confirm the user has the My Inbox app role and back-end authorization, the OData services for the task gateway are active, and the task definitions are registered for the inbox scenario. Substitution rules and outdated cache can also hide items.
09
A business team wants to hide some fields in a transaction they use daily. What options exist?
For SAP GUI transactions I can use transaction variants and screen variants (SHD0) to hide, default or make fields display-only, then assign a variant transaction code. For many documents, field status groups or field selection settings in customizing control required, optional or suppressed fields. For Fiori apps, key users can use adapt UI to hide fields. I choose the option that does not modify SAP code.
10
A new warehouse is opening. What organizational and master data changes are needed?
I decide whether it is a new plant or a new storage location in an existing plant, based on valuation, GST registration and MRP needs. If it is a plant, I create and assign it to the company code, purchasing and sales organizations, set up storage locations, extend material masters to the plant, update shipping points, pricing, tax and number ranges, and adjust roles and interfaces. Then I test procure to pay and order to cash for the site.
11
How do you trace a sales invoice to its accounting document?
Open the billing document in VF03 and use the Accounting button, which shows the accounting document, profitability and other documents created. From the sales order, document flow in VA03 shows all subsequent documents. If accounting was not created, the billing has a posting status error, usually account determination; VFX3 lists billing documents not released to accounting so they can be checked and released.
12
A transport moved to quality but the configuration is not visible there. What do you check?
I check the import log in STMS to confirm the request was imported without errors (return code 0 or 4). Then I confirm the change was saved in the right request and client, and whether it was client-specific customizing that needs a client copy or import into the specific QAS client. I also check for missing dependent transports, such as a new field or table that the configuration relies on, and object locks in another request.
13
How do you test end-to-end integration in an S/4HANA project?
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.
14
A program dumps in production with a TIME_OUT error. What do you do?
I check ST22 for the dump details, program, line and call stack. TIME_OUT means a dialog step exceeded the allowed run time (rdisp/max_wprun_time). I see if users ran it with very wide selections, and advise background execution as an immediate workaround. Then I trace the code with ST05 and SAT in quality with similar data, fix inefficient selects or loops, and move the fix through transports.
15
How do you generate a Fiori elements app with SAP Fiori tools?
In Business Application Studio or VS Code, open the Fiori application generator, choose a floor plan such as List Report Page, select the data source by connecting to a system or BTP destination and picking the OData service, choose the main entity and navigation, enter project details, and generate. Then preview with live or mock data, add annotations with the guided development tool, and deploy to the ABAP repository.
16
What is the difference between SAP BW, SAP Datasphere and embedded analytics?
Embedded analytics uses CDS views inside S/4HANA for real-time operational reporting on live data. SAP BW/4HANA is an on-premise enterprise data warehouse for historical, cross-system reporting. SAP Datasphere is the cloud data warehouse and data fabric on BTP that combines SAP and non-SAP data with business semantics. Many companies use embedded analytics for daily work and Datasphere or BW for group reporting.
17
What is the role of annotations in Fiori elements?
Annotations are metadata that tell Fiori elements how to show data: UI.LineItem defines table columns, UI.SelectionFields define filter fields, UI.HeaderInfo sets the object title, UI.Facets and FieldGroups lay out the object page, and value help annotations add F4 help. They can be written in CDS views in the back end or in a local annotation file in the app. Changing annotations changes the UI without code.
Document flow shows all documents linked in a process chain, such as quotation, sales order, delivery, goods issue, invoice and accounting document. In SD transactions it is shown with the Display Document Flow button, and in Fiori as related documents or a process flow. It helps users and consultants see the status of each step and quickly find where a process is stuck.
A controlling area is the organizational unit for internal cost accounting, where cost centers, internal orders and profit centers are maintained. One or more company codes are assigned to a controlling area, which needs the same operational chart of accounts and fiscal year variant. In S/4HANA, the controlling area currency and company code settings must align for the Universal Journal.
20
Tell me about a time you improved user adoption of a new system.
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.
21
Show a simple CDS annotation setup for a Fiori elements list report.
It is usually blocked because of tolerance limits, for example price or quantity differences between PO, goods receipt and invoice, or a manual payment block. I check the blocking reason on the invoice. After the buyer confirms the price or quantity or the goods receipt is posted, the invoice is released with MRBR or the Release Blocked Invoices app. Tolerance keys are configured in OMR6.
23
How do you extend an existing material to a new plant?
Use MM01 with the existing material number, select the views needed such as MRP, Purchasing, Storage and Accounting, and enter the new plant (and storage location). Fill the required data such as MRP type, valuation class and price control, and save. For many materials, a mass tool such as the Migration Cockpit or a custom LSMW-style load is used. MM03 confirms the views are created.
24
A functional consultant needs a new field on the purchase order screen. How would you deliver it cleanly?
In S/4HANA I would first try key user extensibility with the Custom Fields app, which adds the field to the database, Fiori UI, CDS views and APIs without code. If logic is needed, I use the Custom Logic app or a released BAdI. Only if these do not cover the case would I use classic enhancement such as a screen enhancement in ME21N. I document the choice for upgrade safety.
Situation: SAP releases changes every year, and cloud products update quarterly. Task: stay current while working full time. Action: I follow SAP Community blogs and release notes, use SAP Learning Hub or free learning journeys, practice in a trial BTP account, and earn a certification every year or two. Result: I was the first in my team to work on RAP and Fiori elements, which helped us win a new extension project.
26
How do you find who changed a field in master data?
For Business Partner and customer or supplier data, use the change documents in the BP transaction or reports such as S_ALR_87012182 for customer changes and S_ALR_87012089 for supplier changes. For materials, MM04 shows change documents. Change documents show the old value, new value, user, date and time. They are stored in tables CDHDR and CDPOS, which auditors often ask about.
27
How do you monitor interfaces in an S/4HANA landscape?
For IDocs I use WE02, WE05 and BD87, with filters by status and message type. For RFC queues I use SM58, SMQ1 and SMQ2. For web services, SRT_MONI and SRT_UTIL. In S/4HANA, the Message Monitoring app and Application Interface Framework (AIF) give business-friendly monitoring with error reprocessing. In SAP Integration Suite, message processing logs show each flow. Alerts reduce manual checking.
28
Two users update the same custom table at the same time and data is overwritten. How do you fix it?
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.
29
The business needs a nightly interface file of open sales orders. How would you build it?
I would write a report that selects open orders using a CDS view or ABAP SQL with proper filters, formats the data to the agreed layout, and writes the file to an application server directory or sends it through SAP Integration Suite. I would add a selection screen with variants, logging with the application log (SLG1), error notifications, and schedule it in SM36 or Application Jobs. Testing covers volume and format checks.
30
Write a basic CDS view entity that shows sales order items with their header data.
A view entity joins header and item with an association and exposes fields with aliases.
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sales order items'
define view entity ZI_SalesOrderItem
as select from vbap as Item
association [1..1] to vbak as _Header
on $projection.SalesOrder = _Header.vbeln
{
key Item.vbeln as SalesOrder,
key Item.posnr as SalesOrderItem,
Item.matnr as Material,
Item.kwmeng as OrderQuantity,
_Header.kunnr as SoldToParty,
_Header
}
31
Tell me about a time you pushed back on a development request.
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.
32
How do Fiori apps get their data from the back end?
A Fiori app is a SAPUI5 web app running in the browser. It calls an OData service exposed by SAP Gateway. The service reads or writes data through CDS views and the RAP framework or older SEGW-built classes, which access HANA tables. Authorization is checked on both the launchpad catalog and the back-end service and data level. Logs in /IWFND/ERROR_LOG help troubleshoot failed calls.
33
Mid-way through Realize, the business requests many new changes. How do you control scope?
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.
34
Describe how you managed stakeholders during a long system conversion.
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.
SAP GUI scripting is an automation interface that records and replays user actions in SAP GUI using VBScript or other languages. Teams use it for repetitive data entry, test automation and simple bots. It must be enabled on the server with profile parameter sapgui/user_scripting and on the client. Because it depends on screen layouts, it breaks when screens change, so APIs or Migration Cockpit are better for large loads.
36
How does HANA allow S/4HANA to combine transactions and analytics in one system?
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.
37
Write a simple ABAP report that reads purchase orders for a vendor and displays them in ALV.
Select header data with modern ABAP SQL into an inline table, then show it with the SALV class.
REPORT zpo_list.
PARAMETERS p_lifnr TYPE lifnr OBLIGATORY.
START-OF-SELECTION.
SELECT ebeln, bukrs, bedat, lifnr
FROM ekko
WHERE lifnr = @p_lifnr
INTO TABLE @DATA(lt_po).
TRY.
cl_salv_table=>factory(
IMPORTING r_salv_table = DATA(lo_alv)
CHANGING t_table = lt_po ).
lo_alv->display( ).
CATCH cx_salv_msg.
MESSAGE 'ALV error' TYPE 'E'.
ENDTRY.
RISE with SAP is a subscription bundle that packages S/4HANA Cloud (mostly Private Edition), infrastructure on a hyperscaler such as AWS, Azure or Google Cloud, technical managed services, SAP BTP credits, and tools such as SAP Signavio for process insight. The customer pays one contract to SAP instead of buying licences, hardware and hosting separately. GROW with SAP is a similar offer focused on Public Edition for mid-size companies.
39
What is a BAPI and how is it different from a normal function module?
A BAPI (Business Application Programming Interface) is a standardised, remote-enabled function module for a business object, such as BAPI_PO_CREATE1 or BAPI_SALESORDER_CREATEFROMDAT2. It has stable interfaces, returns messages in a RETURN table, and usually needs BAPI_TRANSACTION_COMMIT to save. Unlike internal function modules, BAPIs are documented and released for external use, which makes them safer for integration.
SAP Analytics Cloud (SAC) is SAP's cloud tool for business intelligence, planning and predictive analytics. It connects live to S/4HANA, BW or Datasphere, or imports data, to build stories and dashboards. Finance teams use its planning features for budgets and forecasts. It is commonly used for management dashboards because it combines reporting and planning in one interface.
Frequently asked questions
What is asked in SAP interviews for 5 years of experience?
Interviews focus on leading workstreams: designing solutions across modules, deciding between configuration, enhancement and BTP extension, estimating WRICEF effort and managing client stakeholders. Expect questions on brownfield conversion, custom code remediation, clean core and integration design. Leadership and client-facing STAR stories matter a lot at this level.
How many questions should I practise before a SAP interview?
Work through all 40 questions here, then the company-wise sets for the employers you are targeting. Quality matters more than count: be able to explain why each answer is right.
Which topics matter most for 5 years of experience?
Focus first on Solution design, Clean core decisions, Workstream leadership, Client management.