Top Interview Questions & Answers | Learn Now

SAP UI5 interview questions and answers

Written by Sathish | Dec 9, 2020 7:33:30 AM

1.What is SAPUI5?

Ans: 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.

2. What is the main difference between HTML5 and SAP UI5?

Ans: HTML5 is a markup language and it doesn’t have programming capabilities but SAP UI5 is a framework which is based on MVC approach to build web applications. HTML5 is mainly for the purpose of creating a simple webpage without formatting and logic but UI5 provides standard style and components to build rich UIs.

3.Why SAPUI5 instead of HTML5?

Ans: 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 WebDynpro 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.

4.Explain Navigation concept in SAPUI5.

Ans: 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.

5. What all design patterns are recommended/available in SAPUI5?

Ans: SAP recommends following application design patterns keeping in mind design consistency of the applications:

1. Master – Detail
2. Master-Master-Detail
3. Full Screen
4. Full Screen-Full Screen-MasterDetail (Multi Flow)

6.Difference between SAP UI5 and SAP FIORI?

Ans: SAP FIORI is collection of standard applications based on SAPUI5 library provided by SAP. SAP FIORIapplications share some standard design guidelines and way in which these application are developed.

7. What is SAPUI5 Bootstrapping?

Ans: SAPUI5 Bootstrapping is loading and initializing SAPUI5 in any HTML page. The very 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.

8.What are SAPUI5 Fragments?

Ans: Fragments are very light weight UI controls and part of another UI. Fragments are not completely like views but they act like a view. Fragments are defined similar like views and are names like “myFragment.fragment.xml“.

9.Can we add our own controls to UI5?

Ans: Yes, we can add custom controls by creating definition of it from scratch. To define a custom control we use sap.ui.control.extend and to enhance a standard SAP UI5 control we use sap.ui.commons.controlname.extend.

10.What are the Lifecycle/hook methods of SAPUI5 views controller?

Ans: There 4 four Lifecycle methods available in every SAPUI5 views controller. These are onInit(), onExit(), onAfterRendering(), onBeforeRendering().

  • onInit is called when a view is instantiated and its controls (if available) have already been created;
  • onExit is called when the view is destroyed; used to free resources and finalize activities;
  • onAfterRendering when the view has been rendered and, therefore, its HTML is part of the document;
  • onBeforeRendering is called before the controller view is re-rendered and not before the first rendering.

11.What all types of views are available in SAPUI5?

Ans: There are following predefined three types of view available in SAPUI5:

1. JSON view
2. XML View
3. JavaScript View(JS View)
4. HTML View

12.What all types of data models available in SAPUI5?

Ans:As SAPUI5 follows MVC(Model-View-Controller) there model plays crucial role in the framwork.

SAPUI5 has following predefined four data models available:

1.JSON Model – Client-side model, supports two way binding.
2. XML Model – Client-side model and intended for small data sets this is very rarely used model.
3. Resource Model – This is also client side model used to maintain resource bundles, specially texts.
4. ODATA Model – This is most important model of the four provided. This is server side model, supports two way binding ODATA model currently supports ODATA version 2.0.

13.When and How to use formatter in SAPUI5?

Ans: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;
}}});

14.What Is Fiori Launchpad And Explain It?

Ans: It is  a home page for all the FIORI applications provided to. There are more than five hundred custom app provided by SAP. This shows tile based UI where every UI redirects to assigned FIORI application. This Launchpad is fully customizable according to your needs like theming and all.

15.Which Open Standards And Tools Are The Foundation Of Sapui5 Technology?

Ans:

  • D3.js for visualization
  • ARIA for accessibility standards and keyboard handling
  • jQuery for managing DOM elements and abstracting browser differences

 

16.Name Some Types In Sapui5?

Ans: 1. sap.ui.model.type.Float

         2. sap.ui.model.type.DateTime

         3.sap.ui.model.type.Currency

17.Name Some Semantic States In Sapui5?

Ans:

  • Positive
  • Negative
  • Critical

18.How Can You Compose Filters In Sapui5?

Ans: 1.By creating multiple filters and concatenating them either with AND or OR

        2. By creating a single sap.ui.model.Filter object and specifying a path, an operator, and up to two values

19.What Are Dialogs In Sapui5?

Ans:

  • They are rendered into a specific area (the static area) in the DOM.
  • They needo be added to the “dependent” aggregation of the view to get access to the models.

20.What Is Openui5?

Ans:

  • A subset of SAPUI5 containing the complete core and more than 200 UI controls 
  • A free-to-use and open source UI library ready for your contributions

21.What Is The Benefit Of Data Binding Within Sapui5?

Ans: SAPUI5 uses data binding to bind two data sources or information sources together to keep them in sync. This means: All changes in one source are also reflected in the other one.

22.Which Responsiveness Features Can You Realize By Setting Standard Css Classes Provided By Sapui5?

Ans:

  • Adding different margins to controls depending on the screen size
  • Hiding controls depending on the screen size

23.Which Benefits Does The Hash-based Navigation In Sapui5 Offer?

Ans:

  • Hash-based navigation adjusts the current hash to your interactions with the app, so that the URL can always be bookmarked.
  • It allows you to build one-page apps where the contextual navigation is done by changing the hash, so the browser does not have to reload the page.

24. What Is Mvc?

A28ns: 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 WebDynpro 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.

25. What is Component in SAP UI5?

Ans: Component or Component.js is the first point of our application or we can say by that it serves as index which encapsulates all our applications details i.e. view names, routing details, main view, applications type (Full Screen or SplitApp), application service configuration etc..

26.What is the syntax to define a control in UI5?

Ans: var obj_name = new sap.m.ControlName(“id of control”,{ properties, events, aggregations });

27.What is required to start UI5 development in eclipse?

Ans: We need to import SAP UI5 toolkit from HANA service marketplace. Also, we need SAP UI5 ABAP Repository connector to deploy the project in ABAP System.

28.Which control libraries are used for UI5 application development?

Ans: sap.ui.commons, sap.ui.table and sap.suite.ui libraries for desktop application development and sap.m library along with sap.ui.layout for Fiori application development.