You are on page 1of 12

I think UI5 has far more better look and feel . Many advantages in terms of User interface.

Application is written in
javascript, which is highly in demand in web application programming.
 SAP UI5 is an open source which supports technologies such as OpenAJAX, LESS, ARIA etc.
 The layout of the app is prepared with the use of HTML5 and CSS3, which provides flexible
solutions dedicated to many devices and screen resolutions
 . Support of jQuery means SAPUI5 has no constraints concerning the
development of animations and effects
 Open source libraries delivered by SAP allow developers to extend
existing UI controls (dialogue windows, charts, tables, buttons, combo-boxes,
data pickers, accordions) as well as to create new ones from scratch. To edit
UI controls a developer can use the ECLIPSE editor
 The SAPUI5 technology supports the MVC (model–view–controller)
architecture pattern, which enables every programmer get well-structured and
understandable code
 The prepared SAPUI5 application can be stored directly on a built-in SAP
web server or on open source platforms like Apache and Tomcat. It also runs on
various platforms such as SAP NetWeaver AS ABAP/Java, Sybase (SAP Unwired
Platform) and SAP Hana XS
 SAPUI5 can work with the newest version of Sybase Unwired Platform
 Communication between a SAPUI5 app and the
SAP system is done through secure oData services - the newest standard prepared
by Microsoft. OData is proven secure technology which is currently used by
Facebook, eBay, Netflix and Stack Overflow.
 SAPUI5 helps to increase your security
thanks to its cross-domain policy and indirect connection to the SAP server
through SAP NetWeawer Gateway, OData and the latest SUP (Sybase Unwired
 SAPUI5 enables the combination of multiple data sources such as oData services,
databases and external systems, as well as the data from multiple SAP systems,
all in one app
 BY connection do you mean getting data from ABAP systems and populate it in UI ?

 If yes, then you can introduce Gateway system in middle of ABAP and frontend. You have to connect
abap and gateway system with trusted RFC and create one gateway service which will get the data from
backend system,

Once you have the service, you can create a UI5 application and consume this service to populate data
in the UI.

Here are Some Important SAPUI5 interview questions, which could help you clear an
What is required to start UI5 development in eclipse?
In the help menu in Eclipse, click “Install New Software”, paste one the URL according to the
version of the Eclipse.

{ properties.ui.layout for Fiori application development. What is Responsive Web Design? A web application which gives same look and feel to the user in desktops and mobile devices. applications type(Full Screen or SplitApp).commons.table and sap. Used for business logic and helper methods e.js within the metadata. which encapsulates all the application details.m library along with sap.ui.core. we can use formatter while data binding to a property like as follows: oControl = new sap. main view.ui. 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. What is the syntax to define a control in UI5? var obj_name = new sap.UI Component class. aggregations }). How Navigation works in SAPUI5. formatter : function(oEvent){ return “Value:” for Eclipse Kepler (4.3) just import SAP UI5 toolkit from hana service marketplace.js file which is made by extending sap.hana.ui.hana. · Faceless components: Mainly without UIs.commons. routing and EventBus. Formatters.m. What is Component? It is the first point of the application.ondemand. Which control libraries are used for UI5 application development? sap. events. Sap uses two mechanisms. There are 2 types of compponents.ui. like view names.TextField({ value : {path : “/path”. Also we need SAP UI5 ABAP Repository connector to deploy project in ABAP System. · UI Component: typically component. }}}).g. it serves as an index. application service configuration etc. sap.suite. routing details. It also defines the navigation path and hash changer which is used at the runtime to change the url of the particular screen. How many types of views are available in SAPUI5? There are 4 types of views available: .ui libraries for desktop application development and sap.ondemand. https://tools.ControlName(“id of control”.4)  https://tools. We define routing in Eclipse Luna (4. Routing Is specifically used for bookmarking the URL.

3. Property.fragment. What are SAPUI5 Fragments? Fragments are very light weight UI controls. they are: · onInit() – it is called when a view is instantiated and its controls have already been created. What is SAPUI5 Bootstrapping? SAPUI5 Bootstrapping means loading and initializing SAPUI5 in any HTML page. XML view 4. · onBeforeRendering() -It is called before the controller view is re-rendered and not before the first rendering.xml“. therefore. In how many ways you can bind data to your controls? We can bind data to any controls using three methods. Element and Aggregation binding. they don’t have their own controllers they share controller of the view which is invoking it. Does Fragment have its own controller? Fragments are created without controllers. · onAfterRendering() . HTML view How many types of data model are available in SAPUI5? SAPUI5 has following predefined four data models available: 1. JSON Model – Client-side model. What is Metadata Annotations? The service metadata document describes the structure of all resources in the service. its HTML is part of the document. Themes and Libraries are defined in this. Resource Model – This is also client side model used to maintain resource bundles. used to free resources and finalize activities.when the view has been rendered and. . JSON view 3. 4. specially texts.1. intended for small datasets. therefore. Fragments are defined similar like views and are names like “Fragment. What all events/life cycle are available in SAPUI5’s views controller? There are 4 lifecycle available in SAPUI5’s views controller. ODATA Model – This is most important model of the four provided. XML Model – Client-side model and intended for small data sets this is very rarely used model.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. supports two way binding. 2. We can explore service metadata at the address “$metadata” relative to the service root. JS view 2. Fragments are not completely like views but they act like a view. · onExit() – it is called when the view is destroyed. This structural metadata makes it easy to understand a service. which are completely available on the client. What is the main difference between OData Model and JSON Model? The JSON model is a client-side model and.

Device“which can be used to for device and its feature detection. application.Device. What are common Metadata Annotations? 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 What is SAP Fiori? 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.e.ui. It means we can create applications using SAPUI5 framework and SAP FIORI is final product i. “edge” etc. This API provides flags like “chrome”. How many types of fiori applications are there? There are 3 types of fiori applications: · Transactional · Analytical · Fact Sheets What is the difference between SAP Fiori and SAPUI5? SAP FIORI is collection of standard applications based on SAPUI5 library provided by SAP. What is FIORI Launchpad and Explain it? It is a home page for all the FIORI applications provided to. “mozilla”. In SAPUI5 we have to code from scratch. This Launchpad is fully customizable according to your needs like theming and all. How can you get the web browser of the client on which SAP Fiori application is running? SAPUI5 library provides a special API “sap.browser” API which returns boolean values. This shows tile based UI where every UI redirects to assigned FIORI application. “firefox”. There are more than five hundred custom app provided by SAP. What are Fiori Design Principles? There are 5 design principles we need to keep in mind while designing SAP Fiori applications. · Role Based · Delightful · Simple · Responsive Coherent Part B . but in Fiori Application the custom application is already built and enhancements can be done on those custom apps. SAP FIORI applications share some standard design guidelines and way in which these application are developed.ui. in “sap.

1) Which open standards and tools are the foundation of SAPUI5 technology? D3.json file of your app? Root view Supported device types Supported themes .js for visualization ARIA for accessibility standards and keyboard handling jQuery for managing DOM elements and abstracting browser differences 2) What SAPUI5 control metadata is used to configure the UI elements at runtime? Associations Properties Aggregations 3) What are view types offered by SAPUI5? JavaScript views JSON views XML views 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 5) Name some standard controller hooks in SAPUI5? 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 6) What does MVC stand for? Model .View – Controller 7) What information can be stored in the manifest.

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.json file? sap. 'Medium' or 'Large' 14) What is aggregation binding used for? To bind a set of data entities to a list-like structure 15) Your JSONModel contains the following content: { "Employees" : [{ "Lastname" : "Karlson". components. 32px (2rem).ui5 sap.5rem). 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.8) Which of the following namespaces can be used in the manifest. "Firstname" : "Karl" }] } . 'Small'. or 48px (3rem) are available in SAPUI5? 'Tiny'.app sap. 16px (1rem).ui 9) What is the name of the file where the descriptor for applications.

DateTime sap. 23) When do you use element binding? When you want bindings of child controls to resolve their paths relative to the binding of the parent 24) What is the difference between aggregation binding and element binding? .ui.json file. · Append “/$metadata” and press enter.model.getCore().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.Float sap.ui.model. go to “services”.model. 18)Name some types in SAPUI5? sap.type. copy the URI.type. and use it to replace the file path in the URL from Step 1.type. Register to the validationError event on sap. 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”. What is the binding path to Karl Karlson's first name? /Employees/0/Firstname 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 A template list item to be cloned A bound list control 17) How can you access validation errors in SAPUI5? Set handleValidation to true in the manifest.json file. · In your app's manifest.ui.ui.

25) How is paging accomplished in oData query? Paging can be accomplished by using $skip in combination with $top. whereas element binding can be used to set the binding context of any parent control. 28) What do you have to consider when choosing the SAPUI5 version for the application template? The SAPUI5 version must be available in your target deployment system... </Column> <Column demandPopin="true" .. 26) Name some OData query parameters? $skip $count $expand Part C 27) How do you enable the debugging option for SAP NetWeaver OData services? Use the URL parameter sap-ds-debug=true. </Column> <Column demandPopin="false" minScreenWidth="Phone"> .Aggregation binding is used for list-like structures. 29) How many complete columns (that include the header) will this table display on a phone? <Table> <columns> <Column demandPopin="false" minScreenWidth="Tablet"> . The parameters’ values describe the interval of the data that is requested.. </Column> <Column demandPopin="true“ minScreenWidth="Tablet"> ...

ui. 31) What are semantic colors in sapui5? They are representations of states such as success. warning. </Table> 2 30) What happens when you set the “minScreenWidth” property of a “sap. and up to two values 34) Where are filters applied in SAPUI5? To an aggregation binding 35) Which filter operation can you use to filter items with a numeric value lower than X? sap..model.model.. Set the compact density on devices without touch support. check whether you have to do anything at all.Filter object and specifying a path..Column” to “Tablet”? The column is shown only on screens that are larger or equal than the size of a tablet. 37) What can a “device model” be used for? To check whether a device supports touch interaction To influence the user interface without coding.m. based on the characteristics of the device .LT 36) What can you do to enable your SAPUI5 application to adapt to the user’s device? As many controls are responsive out of the box. an operator.ui. 32) Name some semantic states in SAPUI5? Positive Negative Critical 33) How can you compose filters in SAPUI5? By creating multiple filters and concatenating them either with AND or OR By creating a single sap. and error. minScreenWidth="Phone"> . </Column> <columns> .FilterOperator..

45) What happens when you instantiate a dialog from a single-rooted fragment? The dialog instance is returned when you invoke the fragment factory. 46) Which property of the routing configuration in the manifest. They need to be added to the “dependent” aggregation of the view to get access to the models. 42) What can you do to structure your application code better? Use subdirectories for related views and controllers.38) What information is provided by the sap.Device API? The device type (phone/tablet) Whether the device has touch support The browser name and version 39) Which control adapts its appearance on touch devices? The PullToRefresh control: It is represented as a simple button on non-touch devices.ui. 43) What are fragments primarily used for? To make parts of your view reusable 44) What are Dialogs in SAPUI5? They are rendered into a specific area (the static area) in the DOM.json file should you use to automatically display a target that is not found? Bypassed . The dialog is instantiated but not displayed. Use fragments to define reused UI parts only once. but the user needs to pull the page content down on touch devices to refresh it. Put the functionality used in multiple controllers into a base controller and extend this controller in the other controllers in your app. 40) Why is it useful to have fragments in your app? To create reusable UI parts without a designated controller or other behavior code 41) What happens in the DOM tree when nesting XML views? Each XML view creates its own DOM element regardless of the nesting level.

test() in your test code with a speaking test description and a callback that contains at least one assertion.createEntry . 52) Which testing features are provided by the SAP Fiori Worklist application template? 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 53) Which options are available in SAPUI5 if you want to create a custom control? Extend an existing control with your own features. Extend the sap.json file 50) How are unit tests for your app started in SAP Web IDE? By selecting the run configuration Run Unit Tests By right-clicking the unitTests.core.html file and selecting an option from the Run menu 51) How do you register a unit test in QUnit? Call QUnit.qunit.json file? As many as you like 48) What is the correct sequence of called functions / handled callbacks of the OData model in the Add controller? on metadataLoaded . Create a composite control that reuses existing controls internally.47) How many targets can you configure within a route in the manifest.Control base class and build a new control.on success 49) 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? In the "models" section of the manifest.submit . 54) Which of the following are part of the control metadata? Aggregations Properties Events .ui.

. You can make an aggregation invisible in the control API by setting the visibility to hidden.55) What do you have to consider when defining control metadata? You can give an aggregation either one or many values by defining the multiplicity as “one” or “many”.