SAP UI5 Interview Questions

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

  1. How Navigation Works In Sapui5?

Ans: Sap uses two mechanisms, routing and EventBus. Routing Is specifically used for bookmarking the URL. We define routing in component.js within the metadata. It also defines the navigation path and hash changer which is used at the runtime to change the url of the particular screen.

  1. What Is Component?

Ans: It is the first point of the application, it serves as an index, which encapsulates all the application details, like  view names, routing details, main view, applications type(Full Screen or SplitApp), application service configuration etc. There are 2 types of compponents:

  • Faceless components: Mainly without UIs, Used for business logic and helper methods e.g. Formatters.
  • UI Component: typically component.js file which is made by extending sap.ui.core.UI Component class.
  1. What Is Responsive Web Design?

Ans: A web application which gives same look and feel to the user in desktops and mobile devices.

  1. What Is The Syntax To Define A Control In Ui5?

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

  1. What Is Formatter In Sapui5 And How To Use It?

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

  1. How Many Types Of Views Are Available In Sapui5?

Ans: There are 4 types of views available:

  • JS view
  • JSON view
  • XML view
  • HTML view
  1. How Many Types Of Data Model Are Available In Sapui5?

Ans: SAPUI5 has following predefined four data models available:

  • JSON Model:Client-side model, supports two way binding.
  • XML Model: Client-side model and intended for small data sets this is very rarely used model.
  • Resource Model: This is also client side model used to maintain resource bundles, specially texts.
  • ODATA Model: This is most important model of the four provided.
  1. What All Events/life Cycle Are Available In Sapui5’s Views Controller?

Ans: There are 4 lifecycle available in SAPUI5’s views controller, they are:

  • onInit()– it is called when a view is instantiated and its controls have already been created.
  • onExit()– it 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()-It is called before the controller view is re-rendered and not before the first rendering.
  1. What Is The Main Difference Between Odata Model And Json Model?

Ans: The JSON model is a client-side model and, therefore, intended for small datasets, which are completely available on the client.The OData model is a server-side model: the dataset is only available on the server and the client only knows the currently visible rows and fields.

  1. What Is Sapui5 Bootstrapping?

Ans: SAPUI5 Bootstrapping means loading and initializing SAPUI5 in any HTML page. Themes and Libraries are defined in this.

  1. In How Many Ways You Can Bind Data To Your Controls?

Ans: We can bind data to any controls using three methods, Property, Element and Aggregation binding.

  1. What Are Sapui5 Fragments?

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

  1. Does Fragment Have Its Own Controller?

Ans: Fragments are created without controllers, they don’t have their own controllers they share controller of the view which is invoking it.

  1. What Is Metadata Annotations?

Ans: 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 the address “$metadata” relative to the service root.

  1. What Are Common Metadata Annotations?

Ans: 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
  1. What Is Sap Fiori?

Ans: SAPUI5 is client side HTML5 rendering framework or library and SAP FIORI is collection of and released as waves of applications which are completely based on SAPUI5 framework. It means we can create applications using SAPUI5 framework and SAP FIORI is final product i.e. application. In SAPUI5 we have to code from scratch, but in Fiori Application the custom application is already built and enhancements can be done on those custom apps.

  1. How Many Types Of Fiori Applications Are There?

Ans: There are 3 types of fiori applications:

  • Transactional
  • Analytical
  • Fact Sheets
  1. What Is The Difference Between Sap Fiori And Sapui5?

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

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

  1. How Can You Get The Web Browser Of The Client On Which Sap Fiori Application Is Running?

Ans: SAPUI5 library provides a special API “sap.ui.Device“which can be used to for device and its feature detection. This API provides flags like “chrome”, “firefox”, “mozilla”, “edge” etc. in “sap.ui.Device.browser” API which returns boolean values.

  1. What Are Fiori Design Principles?

Ans: There are 5 design principles we need to keep in mind while designing SAP Fiori applications.

  • Role Based
  • Delightful
  • Simple
  • Responsive
  • Coherent
  1. Which Open Standards And Tools Are The Foundation Of Sapui5 Technology?

Ans:

  • js for visualization
  • ARIA for accessibility standards and keyboard handling
  • jQuery for managing DOM elements and abstracting browser differences
  1. What Sapui5 Control Metadata Is Used To Configure The Ui Elements At Runtime?

Ans:

  • Associations
  • Properties
  • Aggregations
  1. What Are View Types Offered By Sapui5?

Ans:

  • JavaScript views
  • JSON views
  • XML views
  1. What Is The Purpose Of A Controller?

Ans:

  • To separate the UI and the processing logic
  • To control the application flow by handling user events or updating the view
  1. Name Some Standard Controller Hooks In Sapui5?

Ans:

  • onInit– an event that is called when the view and the controller are instantiated
  • onExit– an event that is called when the view and the controller are destroyed
  1. What Information Can Be Stored In The Manifest.json File Of Your App?

Ans:

  • Root view
  • Supported device types
  • Supported themes
  1. Which Of The Following Namespaces Can Be Used In The Manifest.json File?

Ans:

  • ui5
  • app
  • ui
  1. What Is The Name Of The File Where The Descriptor For Applications, Components, And Libraries Is Stored?

Ans: Manifest.json

  1. For What Stands The Abbreviation Json?

Ans: Java Script Object Notation

  1. 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)?

Ans: Two-way

  1. How Would You Add An Icon From The Sapui5 Icon Font To A Button In An Xml View?

Ans: