SAP UI5 Interview Questions & Answers

    1. Question 1. Which Control Libraries Are Used For Ui5 Application Development?Answer :

      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. Question 2. How Navigation Works In Sapui5?Answer :

      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.


SAP CRM Interview Questions

    1. Question 3. What Is Component?Answer :

      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:

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



    1. Question 4. What Is Responsive Web Design?Answer :

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


SAP CRM Tutorial

    1. Question 5. What Is The Syntax To Define A Control In Ui5?Answer :

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


SAP CRM Functional Interview Questions

    1. Question 6. What Is Formatter In Sapui5 And How To Use It?Answer :

      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. Question 7. How Many Types Of Views Are Available In Sapui5?Answer :

      There are 4 types of views available:

      1. JS view
      2. JSON view
      3. XML view
      4. HTML view


SAP ABAP Tutorial
SAP ABAP Interview Questions

    1. Question 8. How Many Types Of Data Model Are Available In Sapui5?Answer :

      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.



    1. Question 9. What All Events/life Cycle Are Available In Sapui5’s Views Controller?Answer :

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

      1. onInit() – it is called when a view is instantiated and its controls have already been created.
      2. onExit() – it is called when the view is destroyed, used to free resources and finalize activities.
      3. onAfterRendering() – when the view has been rendered and, therefore, its HTML is part of the document.
      4. onBeforeRendering() -It is called before the controller view is re-rendered and not before the first rendering.


SAP PI Interview Questions

    1. Question 10. What Is The Main Difference Between Odata Model And Json Model?Answer :

      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.


SAP PI Tutorial

    1. Question 11. What Is Sapui5 Bootstrapping?Answer :

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


SAP HANA Interview Questions

    1. Question 12. In How Many Ways You Can Bind Data To Your Controls?Answer :

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



SAP CRM Interview Questions

    1. Question 13. What Are Sapui5 Fragments?Answer :

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


SAP HANA Tutorial

    1. Question 14. Does Fragment Have Its Own Controller?Answer :

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



    1. Question 15. What Is Metadata Annotations?Answer :

      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.


SAP Crystal Reports Interview Questions

    1. Question 16. What Are Common Metadata Annotations?Answer :

      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



SAP Crystal Reports Tutorial

    1. Question 17. What Is Sap Fiori?Answer :

      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.


SAP XI Interview Questions

    1. Question 18. How Many Types Of Fiori Applications Are There?Answer :

      There are 3 types of fiori applications:

      • Transactional
      • Analytical
      • Fact Sheets



SAP CRM Functional Interview Questions

    1. Question 19. What Is The Difference Between Sap Fiori And Sapui5?Answer :

      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.


Javascript Advanced Tutorial

    1. Question 20. What Is Fiori Launchpad And Explain It?Answer :

      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.



Javascript Advanced Interview Questions

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

      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. Question 22. What Are Fiori Design Principles?Answer :

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

      1. Role Based
      2. Delightful
      3. Simple
      4. Responsive
      5. Coherent



SAP Fiori Tutorial

    1. Question 23. Which Open Standards And Tools Are The Foundation Of Sapui5 Technology?Answer :
      • D3.js for visualization
      • ARIA for accessibility standards and keyboard handling
      • jQuery for managing DOM elements and abstracting browser differences


SAP Fiori Interview Questions

    1. Question 24. What Sapui5 Control Metadata Is Used To Configure The Ui Elements At Runtime?Answer :
      • Associations
      • Properties
      • Aggregations



SAP ABAP Interview Questions

    1. Question 25. What Are View Types Offered By Sapui5?Answer :
      • JavaScript views
      • JSON views
      • XML views


    1. Question 26. What Is The Purpose Of A Controller?Answer :
      • To separate the UI and the processing logic
      • To control the application flow by handling user events or updating the view



SAP Enterprise Portal Interview Questions

    1. Question 27. Name Some Standard Controller Hooks In Sapui5?Answer :
      • 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


SAP PI Interview Questions

    1. Question 28. What Information Can Be Stored In The Manifest.json File Of Your App?Answer :
      • Root view
      • Supported device types
      • Supported themes


    1. Question 29. Which Of The Following Namespaces Can Be Used In The Manifest.json File?Answer :
      • sap.ui5
      • sap.ui


SAP E Recruitment Interview Questions

    1. Question 30. What Is The Name Of The File Where The Descriptor For Applications, Components, And Libraries Is Stored?Answer :



    1. Question 31. For What Stands The Abbreviation Json?Answer :

      Java Script Object Notation


    1. Question 32. 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)?Answer :



Sap Hana Xsjs Interview Questions

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



SAP HANA Interview Questions

    1. Question 34. Which Predefined Sizes For Margins That Stand For 8px (0.5rem), 16px (1rem), 32px (2rem), Or 48px (3rem) Are Available In Sapui5?Answer :

      ‘Tiny’, ‘Small’, ‘Medium’ or ‘Large’


    1. Question 35. What Is Aggregation Binding Used For?Answer :

      To bind a set of data entities to a list-like structure


    1. Question 36. What Do You Need If You Want To Bind A List To Data In Your Jsonmodel?Answer :
      • An array with the data in the JSONModel that you want to bind to the list
      • A template list item to be cloned
      • A bound list control


SAP Crystal Reports Interview Questions

    1. Question 37. How Can You Access Validation Errors In Sapui5?Answer :
      • Set handleValidation to true in the manifest.json file.
      • Register to the validationError event on sap.ui.getCore().


    1. Question 38. Name Some Types In Sapui5?Answer :
      • sap.ui.model.type.Float
      • sap.ui.model.type.DateTime
      • sap.ui.model.type.Currency


    1. Question 39. What Coding Do You Need To Add To Your Xml View To Enable Grouping In Your List Binding?Answer :

      group: true


    1. Question 40. Which Of The Following Sequences Of Steps Do You Use To Assemble The Url To Access Your Odata Service’s Metadata?Answer :
      • 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.


SAP XI Interview Questions

    1. Question 41. How Many Filters Can You Apply On A List Binding?Answer :

      As many as needed


    1. Question 42. What Is The Best Practice For Showing Or Hiding An Sapui5 Control At Runtime?Answer :

      Set the “visible” property of the control to “true” or “false”.


Javascript Advanced Interview Questions

    1. Question 43. When Do You Use Element Binding?Answer :

      When you want bindings of child controls to resolve their paths relative to the binding of the parent


    1. Question 44. What Is The Difference Between Aggregation Binding And Element Binding?Answer :

      Aggregation binding is used for list-like structures, whereas element binding can be used to set the binding context of any parent control.


    1. Question 45. How Is Paging Accomplished In Odata Query?Answer :

      Paging can be accomplished by using $skip in combination with $top. The parameters’ values describe the interval of the data that is requested.


    1. Question 46. Name Some Odata Query Parameters?Answer :
      • $skip
      • $count
      • $expand


    1. Question 47. What Are Semantic Colors In Sapui5?Answer :

      They are representations of states such as success, warning, and error.


    1. Question 48. Name Some Semantic States In Sapui5?Answer :
      • Positive
      • Negative
      • Critical


    1. Question 49. How Can You Compose Filters In Sapui5?Answer :
      • By creating multiple filters and concatenating them either with AND or OR
      • By creating a single sap.ui.model.Filter object and specifying a path, an operator, and up to two values


    1. Question 50. Where Are Filters Applied In Sapui5?Answer :

      To an aggregation binding


    1. Question 51. Which Filter Operation Can You Use To Filter Items With A Numeric Value Lower Than X?Answer :



    1. Question 52. What Can You Do To Enable Your Sapui5 Application To Adapt To The User’s Device?Answer :
      • As many controls are responsive out of the box, check whether you have to do anything at all.
      • Set the compact density on devices without touch support.


    1. Question 53. What Can A “device Model” Be Used For?Answer :
      • To check whether a device supports touch interaction
      • To influence the user interface without coding, based on the characteristics of the device


    1. Question 54. What Information Is Provided By The Sap.ui.device Api?Answer :
      • The device type (phone/tablet)
      • Whether the device has touch support
      • The browser name and version


    1. Question 55. Which Control Adapts Its Appearance On Touch Devices?Answer :

      The PullToRefresh control: It is represented as a simple button on non-touch devices, but the user needs to pull the page content down on touch devices to refresh it.


    1. Question 56. Why Is It Useful To Have Fragments In Your App?Answer :

      To create reusable UI parts without a designated controller or other behavior code


    1. Question 57. What Happens In The Dom Tree When Nesting Xml Views?Answer :

      Each XML view creates its own DOM element regardless of the nesting level.


    1. Question 58. What Can You Do To Structure Your Application Code Better?Answer :
      • Use subdirectories for related views and controllers.
      • Use fragments to define reused UI parts only once.
      • Put the functionality used in multiple controllers into a base controller and extend this controller in the other controllers in your app.


    1. Question 59. What Are Fragments Primarily Used For?Answer :

      To make parts of your view reusable


    1. Question 60. What Are Dialogs In Sapui5?Answer :
      • 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.


    1. Question 61. What Happens When You Instantiate A Dialog From A Single-rooted Fragment?Answer :
      • The dialog instance is returned when you invoke the fragment factory.
      • The dialog is instantiated but not displayed.


    1. Question 62. Which Property Of The Routing Configuration In The Manifest.json File Should You Use To Automatically Display A Target That Is Not Found?Answer :



    1. Question 63. How Many Targets Can You Configure Within A Route In The Manifest.json File?Answer :

      As many as you like


    1. Question 64. What Is The Correct Sequence Of Called Functions / Handled Callbacks Of The Odata Model In The Add Controller?Answer :

      on metadataLoaded – createEntry – submit – on success


    1. Question 65. What Is The Recommended Place To Configure A “twoway” Binding For The Odata Model So That Data Changes In The View Are Written Back To The Model?Answer :

      In the “models” section of the manifest.json file


    1. Question 66. How Are Unit Tests For Your App Started In Sap Web Ide?Answer :
      • By selecting the run configuration Run Unit Tests
      • By right-clicking the unitTests.qunit.html file and selecting an option from the Run menu


    1. Question 67. How Do You Register A Unit Test In Qunit?Answer :

      Call QUnit.test() in your test code with a speaking test description and a callback that contains at least one assertion.


    1. Question 68. Which Testing Features Are Provided By The Sap Fiori Worklist Application Template?Answer :
      • A test suite that calls all your unit and integration tests
      • Clear separation of test and production code
      • Unit test setup (QUnit) and basic test coverage


    1. Question 69. Which Options Are Available In Sapui5 If You Want To Create A Custom Control?Answer :
      • Extend an existing control with your own features.
      • Create a composite control that reuses existing controls internally.
      • Extend the sap.ui.core.Control base class and build a new control.


    1. Question 70. Which Of The Following Are Part Of The Control Metadata?Answer :
      • Aggregations
      • Properties
      • Events


    1. Question 71. What Do You Have To Consider When Defining Control Metadata?Answer :
      • You can give an aggregation either one or many values by defining the multiplicity as “one” or “many”.
      • You can make an aggregation invisible in the control API by setting the visibility to hidden.


    1. Question 72. How Do You Enable The Debugging Option For Sap Netweaver Odata Services?Answer :

      Use the URL parameter sap-ds-debug=true.


    1. Question 73. What Do You Have To Consider When Choosing The Sapui5 Version For The Application Template?Answer :

      The SAPUI5 version must be available in your target deployment system.


    1. Question 74. What Is Openui5?Answer :
      • 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


    1. Question 75. What Is The Correct Syntax For Defining Namespaces In Xml Views?Answer :



  1. Question 76. Why Is Not All Javascript Code Put In A