Skip to content

SAP Fiori / UI5 Developer Interview Questions & Answers

40 questions for SAP Fiori / UI5 Developer interviews — 3 easy, 31 medium, 6 hard.

About the SAP Fiori / UI5 Developer role

Designs, builds and deploys Fiori apps using Fiori elements, SAPUI5 and OData services. The role includes activating standard apps, configuring launchpad roles, writing CDS annotations, developing RAP services with ABAP colleagues and improving app performance. It suits developers with JavaScript skills who want to work on modern SAP user experience projects.

SAPUI5 Fiori elements OData Business Application Studio Launchpad configuration
Solved for this roleStart 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 Fiori app shows an error when opened. How do you troubleshoot?

Save to ▾
Show answer
I open the browser developer tools to see failing network calls and the HTTP code. Then in the back end I check /IWFND/ERROR_LOG on the gateway and /IWBEP/ERROR_LOG on the back end for the service error, ST22 for dumps, and SU53 for missing authorizations. I confirm the OData service is activated in /IWFND/MAINT_SERVICE and the ICF nodes are active in SICF. Finally I clear the cache and test again.
02

How do you deploy a custom Fiori app to the launchpad?

Save to ▾
Show answer
Build and deploy the app from BAS or VS Code to the ABAP repository as a BSP application with a transport. Create a launchpad app descriptor with semantic object and action, add it as a tile or target mapping in a custom business catalog using the Fiori launchpad app manager or designer, put the catalog in a business role in PFCG with the needed OData authorizations, assign spaces and pages, and test with a user.
03

What is the role of SAP Project System (PS)?

Save to ▾
Show answer
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.
04

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.
05

Describe how you handle code reviews.

Save to ▾
Show answer
Situation: our team had frequent production defects. Task: improve quality without slowing delivery. Action: I introduced a simple checklist covering naming, performance, error handling and ATC checks, and paired review for every transport. I kept comments respectful and focused on code, not people. Result: production defects from custom code dropped noticeably over two quarters, and juniors learned faster from review comments.
06

A functional consultant needs a new field on the purchase order screen. How would you deliver it cleanly?

Save to ▾
Show answer
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.
07

What is SAP Business Application Studio?

Save to ▾
Show answer
SAP Business Application Studio (BAS) is a cloud development environment on SAP BTP based on Code-OSS. It offers dev spaces with SAP Fiori tools, generators for Fiori elements and freestyle apps, CAP development, service connections through BTP destinations, a preview with mock data, and deployment to the ABAP repository or BTP. Developers can also use VS Code with the same Fiori tools extensions locally.
08

How do you schedule a report to run in the background every night?

Save to ▾
Show answer
Create and save a variant for the report. In SM36 define a job name and class, add a step with the program and variant and a user with correct authorizations, and set the start condition as a date and time with periodic value daily. Save the job, then monitor it in SM37. In Fiori, the Application Jobs app does the same for job templates.
09

Show a simple CDS annotation setup for a Fiori elements list report.

Save to ▾
Show answer
Annotations on a projection view define the table columns and filters. @UI.headerInfo: { typeName: 'Sales Order', typeNamePlural: 'Sales Orders' } define view entity ZC_SalesOrder as projection on ZI_SalesOrder { @UI.lineItem: [{ position: 10 }] @UI.selectionField: [{ position: 10 }] key SalesOrder, @UI.lineItem: [{ position: 20 }] @UI.selectionField: [{ position: 20 }] SoldToParty, @UI.lineItem: [{ position: 30 }] NetAmount, TransactionCurrency }
10

Write a basic CDS view entity that shows sales order items with their header data.

Save to ▾
Show answer
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 }
11

What is the clean core principle in S/4HANA?

Save to ▾
Show answer
Clean core means keeping the standard SAP system free of modifications so upgrades are fast and cheap. Extensions are built with released APIs and in-app extensibility (custom fields, custom logic, CDS views) or side-by-side on SAP BTP, instead of changing SAP objects or using unreleased tables. SAP also defines ABAP Cloud as the development model for clean core. It matters most for S/4HANA Cloud Public Edition, which allows only released interfaces.
12

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.
13

What is SAP GUI scripting and when is it used?

Save to ▾
Show answer
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.
14

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.
15

What is ALV and why is it common in SAP reports?

Save to ▾
Show answer
ALV (ABAP List Viewer) is SAP's standard grid for displaying lists. It lets users sort, filter, subtotal, change columns, export to spreadsheet and save layouts without extra coding. Most standard and custom reports use ALV, and in Fiori the equivalent is the smart table in list report apps. Knowing how to use ALV layouts is a basic skill for any SAP user or consultant.
16

What is the role of annotations in Fiori elements?

Save to ▾
Show answer
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.
17

A business team wants to hide some fields in a transaction they use daily. What options exist?

Save to ▾
Show answer
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.
18

What are CDS views?

Save to ▾
Show answer
Core Data Services views are data models defined in ABAP using DDL (in ADT, the Eclipse-based ABAP Development Tools). They support joins, associations, calculations, aggregations, annotations for UI and analytics, and access control with DCL. In S/4HANA they are the base for Fiori apps, analytics and APIs. Newer CDS view entities (DEFINE VIEW ENTITY) replace older DDIC-based CDS views and push logic to HANA.
19

How do Fiori apps get their data from the back end?

Save to ▾
Show answer
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.
20

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.
21

What does SAP CO do?

Save to ▾
Show answer
SAP CO (Controlling) supports internal management accounting. It tracks costs by cost centers, internal orders and projects, calculates product costs, and analyses profitability by customer, product or region through margin analysis. CO helps managers plan budgets, compare plan and actual costs, and allocate overheads. In S/4HANA, CO postings are in the same Universal Journal as FI, so both always reconcile.
22

After an upgrade, a custom Fiori app stopped working. How do you investigate?

Save to ▾
Show answer
I check the browser console and network calls for errors, then the gateway error logs. Upgrades often change the SAPUI5 version, so I look for deprecated controls or APIs, and check if the back-end service or CDS view changed. I test in quality with the UI5 support assistant, fix deprecated code, update the manifest's minimum UI5 version, and redeploy. Regular upgrade testing prevents surprises.
23

The business needs a nightly interface file of open sales orders. How would you build it?

Save to ▾
Show answer
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.
24

How do you read a single row from an internal table using modern ABAP syntax?

Save to ▾
Show answer
Use a table expression with a TRY block, or READ TABLE with a key. For sorted or hashed tables use the key for fast access. TRY. DATA(ls_po) = lt_po[ ebeln = '4500000010' ]. CATCH cx_sy_itab_line_not_found. " row not found ENDTRY. READ TABLE lt_po INTO DATA(ls_row) WITH KEY ebeln = '4500000010'. IF sy-subrc = 0. " found ENDIF.
25

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.
26

What is the SAP Fiori launchpad?

Save to ▾
Show answer
The Fiori launchpad is the browser-based entry point for S/4HANA users. It shows tiles and links grouped into spaces and pages based on the user's roles. Each tile opens a Fiori app or a classic transaction in a web GUI. Users can search apps, personalise their home page, see notifications and use the same launchpad on desktop, tablet or phone.
27

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.
28

How do you view the assignment of organizational units in the system?

Save to ▾
Show answer
In SPRO under Enterprise Structure, Assignment, I can see assignments such as plant to company code, sales organization to company code and purchasing organization to plant. Transaction EC02 lists company codes, OX18 shows plant to company code, and OX10 maintains plants. Some teams also use the structure display report or a simple diagram to explain the setup to new members.
29

What is the code pushdown concept?

Save to ▾
Show answer
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.
30

Write a simple ABAP report that reads purchase orders for a vendor and displays them in ALV.

Save to ▾
Show answer
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.
31

An approval Fiori app shows no items even though workflows exist. What do you check?

Save to ▾
Show answer
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.
32

What is the difference between freestyle SAPUI5 and Fiori elements apps?

Save to ▾
Show answer
Fiori elements apps are generated from annotations and templates, so they are quick to build, consistent and maintained by SAP when the framework improves, but layout freedom is limited to what floor plans and extensions allow. Freestyle SAPUI5 apps are coded by hand with full control over UI and behaviour, useful for special screens, dashboards or custom interactions, but they need more development and maintenance effort.
33

How do you keep your SAP skills up to date?

Save to ▾
Show answer
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.
34

What is key user extensibility in Fiori?

Save to ▾
Show answer
Key user extensibility lets trained business users adapt apps without developers. With Adapt UI they can move, hide or rename fields and groups. With apps such as Custom Fields and Custom Logic they can add new fields to business objects, show them in apps, reports and APIs, and add simple logic in released BAdIs. Changes are transported through the Export Software Collection or adaptation transport organizer.
35

Tell me about a time you solved a cross-module issue.

Save to ▾
Show answer
Situation: invoices were posting to the wrong revenue account for a new product line. Task: find the cause across SD and FI. Action: I traced the billing document, found that the new materials had no account assignment group, and the VKOA entry was missing for the new combination. I fixed master data, added configuration through a transport, and reposted documents with finance. Result: correct revenue from that day and no audit issue.
36

Tell me about a time you improved productivity for users.

Save to ▾
Show answer
Situation: accounts users spent an hour daily filtering an ALV report. Task: reduce manual effort. Action: I studied their steps, created report variants and saved layouts, scheduled the report in the background with email output, and trained the team. Result: the daily effort dropped to about ten minutes, and the team lead asked me to do the same for two other reports.
37

How do you read an SAP Note and decide if it applies?

Save to ▾
Show answer
An SAP Note describes a problem, solution, affected releases and support packages, and prerequisites. I search notes in SAP for Me using the error message, component and keywords, then check the validity section against our release and support pack level. If it applies, I use SNOTE to download and implement correction instructions in development, test it, and transport. For manual steps, I follow them exactly and document them.
38

What is the SAP Fiori Horizon theme?

Save to ▾
Show answer
Horizon is the current visual theme for SAP Fiori, replacing older themes like Quartz and Belize. It offers a modern look with updated colours, typography, icons and better accessibility, and it has light, dark and high-contrast variants. It is the default theme in recent S/4HANA and BTP releases. Users can change themes in the launchpad settings if the administrator allows it.
39

What steps are needed to activate a standard Fiori app in S/4HANA on-premise?

Save to ▾
Show answer
Check the app in the Fiori Apps Reference Library for required OData services, ICF nodes, catalogs and roles. Activate the OData service in /IWFND/MAINT_SERVICE or /IWFND/V4_ADMIN for V4, activate the UI5 ICF node in SICF, copy the SAP business role template in PFCG, add authorizations, assign it to users, and check spaces and pages. Rapid content activation in task list SAP_FIORI_CONTENT_ACTIVATION automates many steps.
40

How do you debug an ABAP program?

Save to ▾
Show answer
Set a breakpoint in the code (session or external breakpoint for web and Fiori calls), or type /h before executing. In the debugger, use single step (F5), execute (F6), return (F7) and continue (F8), watch variables, change values for testing, and view internal tables. Watchpoints stop when a variable changes. In ADT, the Eclipse debugger offers the same. Never change values in production without approval.

Frequently asked questions

What does a SAP Fiori / UI5 Developer do?

Designs, builds and deploys Fiori apps using Fiori elements, SAPUI5 and OData services. The role includes activating standard apps, configuring launchpad roles, writing CDS annotations, developing RAP services with ABAP colleagues and improving app performance. It suits developers with JavaScript skills who want to work on modern SAP user experience projects.

Which skills are tested in a SAP Fiori / UI5 Developer interview?

Expect questions on SAPUI5, Fiori elements, OData, Business Application Studio, Launchpad configuration. Most rounds also ask you to explain a project and solve one practical problem live.

How do I prepare for a SAP Fiori / UI5 Developer interview?

Revise Fiori and SAPUI5 Basics, ABAP Basics, Navigation: SAP GUI and Fiori first using the topic sheets, practise the questions on this page aloud, then do one full mock interview to practise timing.