Sapui5 Fiori Interview Questions
Sapui5 Fiori Interview Questions
Just like any other HTML5 client-side rendering library SAPUI5 is also one. SAPUI5
strictly follows RIA (Rich Internet Application) standards. It is based on JavaScript which
provides a lightweight programming model for desktop as well as mobile applications.
Why SAPUI5?
As HTML5 world is the new age front technology across all aspect of internet
applications SAP was kind of trailing in this age because SAP was using age old Web
Dynpro for building SAP Web Applications which lacks in rich and user friendly UI. SAP
identified this and came up with its own custom HTML5 library i.e. SAPUI5.
Explain Navigation concept in SAPUI5.
SAPUI5 uses two mechanism for navigation in applications those are EventBus
and Routing where latter supersedes since SAPUI5 1.16.sap.ui.core.routing is the
class used for the routing.
We define routing in components metadata in “routing” key.
What is Component?
Component or Component.js is the first point of our application or we can say bthat it
serves as index which encapsulates all our applications details i.e. view names, routing
details, main view, applications type(Fullscreen or SplitApp), application service
configuration etc.
What is the difference between HTML5 and SAPUI5?
HTML5 is a markup language, It doesn’t have programming capabilities but SAPUI5 is a
framework which is based on MVC approach to build web applications. HTML5 is
mainly for the purpose of creating simple webpage without formatting and logic but UI5
provides standard style and components to build rich UIs.
What is MVC?
MVC stands for model view controller; it’s an architecture to design UI based
applications to achieve maximum reusability and extensibility of the application for
future changes. Model is the representation of data in form of object, View defines the
UI and Controller contains all the logic to drive as well connects view with model.
When and How to use formatter in SAPUI5?
We need to use formatter when we need to perform some changes on the back end
property data on the front end.
we can use formatter while data binding to a property like as follows:
oControl = new sap.ui.commons.TextField({
value : {path : “/path”, formatter : function(oEvent){
return “Value:”+oEvent;
}}});
What all design patterns are recommended/available in SAPUI5?
SAP recommends following application design patterns keeping in mind
design consistency of the applications:
Master – Detail
Master-Master-Detail
Fullscreen
Fullscreen-Fullscreen-Master Detail (Multi Flow)
What all types of views are available in SAPUI5?
There are following predefined three types of view available in SAPUI5:
JSON view
JavaScript View(JS View)
HTML View
What is formatter in SAPUI5 and how to use it?
We need to use formatter when we need to perform some changes on the back end
property data on the front end.
we can use formatter while data binding to a property like as follows:
oControl = new sap.ui.commons.TextField({
value : {path : “/path”, formatter : function(oEvent){
return “Value:”+oEvent;
}}});
Link: https://www.stechies.com/sap-ui5-interview-questions-answers-explanations/
Fragments are pieces of a UI without their own controller. The name of each view of
fragment is important. A fragment must be named as <NAME>.fragment.xml and a view
<NAME>.view.xml
SAPUI5 Views − Views are nothing but the application pages. We define our user
interface by creating Views. Views is formed or created by using one or more Controls
in it say Page, SimpleForm, Dialog, Label, Input etc. Every view has its own controller.
SAPUI5 Fragments − Fragments are the pieces of UI just like SAPUI5 Views.
Whenever we need to use some similar UI parts many times in our application/views we
create Fragments of those UI parts because Fragments are reusable and are light
weight compared to VIews and Controls. Fragments are stored with in the application
itself and can be used by that application only. Fragments are defined as View only and
calling Views controller is shared with Fragment as Fragments are not having their own
controllers.
The process of changing your software so that it isn't hardwired to one language/locale/culture.
It enables easy localization for target audiences that vary in culture, region, or language.
Internationalization is often written i18n, where 18 is the number of letters between “i” and “n” in
Localization (l10n)
The process of adding the appropriate resources to your software so that a particular
language/locale is supported.
Localization is sometimes written as i10n, where 10 is the number of letters between “i” and “n”.
The value of distinguishing between them is that (theoretically) once your program goes through
the i18n process, you can then iterate many i10n processes as you need them.
Internationalization prepares your application for localization. For example, in SAPUI5 you
might create i18n files and adopt your application according to that.
When you wish to sell, for example, a Chinese version of your app, you'd then localize it by
SAPUI5 uses two mechanism for navigation in applications those are EventBus and Routing
where latter supersedes since SAPUI5 1.16. sap.ui.core.routing is the class used for the routing.
SAPUI5 Bootstrapping means loading and initializing SAPUI5 in any HTML page. The most
important library or resource loaded in SAPUI5 bootstrap is “sap-ui-core.js”. Apart from this
theme for the application, SAPUI5 libraries etc. are declared in the bootstrapping.
In Fiori Launchpad Tiles can be selected from catalogs and arranged in groups. You can assign
Catalog is a set of apps you want to make available for one role. Depending on the role and the
catalog assigned to the role, the user can browse through the catalog, choose apps from this
catalog, and add them to the entry page of the SAP Fiori launchpad.
Group is a subset of catalog that contains the apps visible on the SAP Fiori launchpad entry
page. Which tiles are displayed on a user’s entry page depends on the group assigned to the
user’s role.
The user can personalize the entry page by adding or removing apps to pre-delivered groups or
self-defined groups.
Yes, we can add custom controls by creating definition of it from scratch. To define a custom
SAP Fiori provides a consistent and holistic user experience for SAP software. By creating
visually pleasing designs with a strong focus on ease of use, the experience is intuitive and
user interactive applications that show only most relevant information to the users.
SAP Fiori provides the right information at the right time and reflects the way user actually work.
Adaptive: SAP Fiori enables you to work how and where you want, regardless of the device
you use. And, it provides relevant information that allows for instant insight.
Simple: With SAP Fiori, you can complete your job intuitively and quickly. SAP Fiori helps you
focus on what is important – essential functions are easy to use and you can personalize the
Coherent: Whether you fulfill a sales order, review your latest KPIs, or manage leave requests
– SAP Fiori adheres to a consistent interaction and visual design language. Across the
Delightful: Apart from making you work smarter, SAP Fiori also enriches your work experience
JSON Model supports data in a JavaScript Object Notation format and It supports two-way
binding.
OData model supports OData compliant data. This is most important model of the four
provided. This is server side model, supports two way binding ODATA model currently supports
The service metadata document describes the structure of all resources in the service. This
structural metadata makes it easy to understand a service. We can explore service metadata at
A. Following are some of the service metadata annotations which are common and a front end
developer must know these in order to understand the service and integrate it:
edm:EntityContainer
edm:EntitySet
edm:EntityType
edm:Property
edm:NavigationProperty
edm:AssociationSet
How can you get to know that device is Touch Screen or not?
SAPUI5 library provides a special API “sap.ui.Device“which can be used to for device and its
feature detection. This API has a flag “sap.ui.Device.touch” which returns true if device is a
SAP Fiori Overview Page (OVP) provides a new interaction within SAP Fiori UX. The OVP can
be seen as a step between the basic information on the SAP Fiori Launchpad and the full blown
While simultaneously presenting the big picture in a glance, business users can focus on the
most important tasks enabling faster decision making as well as immediate action.
In OVP information is visualized in a card format, different cards for different types of content, in
1) Which open standards and tools are the foundation of SAPUI5 technology?
->Properties
->Aggregations
4) What is the purpose of a controller?
->To separate the UI and the processing logic
->To control the application flow by handling user events or updating the view
->onExit – an event that is called when the view and the controller are destroyed
7) What information can be stored in the manifest.json file of your app?
->Root view
->Supported themes
->sap.app
->sap.ui
9) What is the name of the file where the descriptor for applications, components, and libraries is
stored?
->Manifest.json
10) For what stands the abbreviation JSON?
->Java Script Object Notation
11) Which data binding mode means a binding from the model to the view and from the view to the
model (value changes in the model and in the view update all corresponding bindings and the view
and model, respectively)?
->Two-way
12) How would you add an icon from the SAPUI5 icon font to a button in an XML view?
-><Button text="Save Draft" icon="sap-icon://save" />
13) Which predefined sizes for margins that stand for 8px (0.5rem), 16px (1rem), 32px (2rem), or
48px (3rem) are available in SAPUI5?
"Employees" : [{
"Lastname" : "Karlson",
"Firstname" : "Karl"
}]
16) What do you need if you want to bind a list to data in your JSONModel?
->An array with the data in the JSONModel that you want to bind to the list
->sap.ui.model.type.DateTime
->sap.ui.model.type.Currency
19) What coding do you need to add to your XML view to enable grouping in your list binding?
->group: true
20) Which of the following sequences of steps do you use to assemble the URL to access your
OData service's metadata?
· -> Run your app from SAP Web IDE and copy its URL into a new browser tab.
· ->In your app's manifest.json file, go to “services”, copy the URI, and use it to replace the file path
in the URL from Step 1.
· ->Append “/$metadata” and press enter.
21) How many filters can you apply on a list binding?
->As many as needed
22) What is the best practice for showing or hiding an SAPUI5 control at runtime?
->Set the “visible” property of the control to “true” or “false”.
24) What is the difference between aggregation binding and element binding?
->Aggregation binding is used for list-like structures, whereas element binding can be used to set
the binding context of any parent control.
->$count
->$expand