SAP FIORI INTERVIEW QUESTIONS
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. It means we can create applications using SAPUI5 framework and SAP FIORI is final product i.e. application.
Difference between SAP UI5 and SAP FIORI?
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. Currently more than 500 FIORI applications are available freely.
What is FIORI Launchpad and Explain it?
As we know there are more than 500 FIORI applications, SAP has provided a Shell or single point place from where we can access the all the applications. This serves as a home page for all the FIORI applications provided to. 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.
Step 1 Configuring SAP Web Dispatcher specifies routing rules to define which URL is forwarded to which system is done for both Transactional Apps and Factsheets.
Step 2 only needs to be configured for Factsheets. If we just have to configure Transactional Apps we can skip step 2.
Step 3 is configuring the front-end server and this is done for both Transactional Apps and Factsheets. At high level we need to configure −
SAP NetWeaver Gateway
The Central UI Add-Ons (Launchpad Configuration)
Product Specific Add-Ons
Step 4 is configuring the back-end server and this is done for both Transactional Apps and Factsheets.
Viewing from a high level – Roles, Users and Authorizations
Note − Transactional Apps can run on any DB whereas the Factsheets must run on SAP Hana.
In NetWeaver Gateway Central Hub deployment − UI layer and SAP NetWeaver gateway is contained in ABAP Front-end server. The ABAP back end server contains business logic and back end data. Separating business logic and back end data from UI layer has below advantages −
-Single Point of maintenance for UI issues- such as browser support and updated version of SAP UI5 libraries.
-Central place for theming and branding SAP Fiori Apps.
-Routing and composition of multiple backend systems is supported.
-Single Point of access to backend systems and enhanced security because of no direct access to backend system.
-SAP recommends Central Hub deployment especially for Productive environment. Separate NetWeaver Gateway system is required.
By implementing SAP Single Sign-On, your apps become automatically available after just one initial user authentication at the user’s Windows desktop, with no need for further log-on procedures.
Kerberos technology is the method of choice in intranet scenarios for SSO. It simply re-uses your Windows domain authentication for single sign-on.
X.509 certificates provide a viable option for creating a secure SSO infrastructure if you’re considering extending single sign-on to extranet or cross-company scenarios.
Desired to gain proficiency on SAP Fiori? Explore the blog post on SAP Fiori Training to become a pro in SAP Fiori.
In Embedded Hub Deployment − NetWeaver gateway is deployed on same server as the Business Suite. So multiple Business Suite systems requires Gateway to be configured multiple times. It is not recommended by SAP especially for customers with multiple back ends.
No additional separate NetWeaver Gateway system is required. It is usually used for sandbox purposes only.
Configurations of SAP Fiori Apps are divided into two parts: Configuration of Transaction Apps and Fact sheets, Configuration of Analytical Apps.
Before configuring anything, the complete infrastructure for SAP Fiori apps must be installed. Once that is completed there will be activities to configure on back-end and front-end servers.
SAP Hana XS engine contains 2 components-Hana Live App Content and SMART Business components with KPI modeler. Within Hana Live App Content VDM reuse content exist.
The Model-view-controller pattern defines domain modeling, GUI of application and input and actions based on devices. MVC approach defines in SAPUI5 has following points −
A bridge between view and data of the apps and it accepts the request from view and responds accordingly. It doesn’t depend on any of classes.
It manages the display of information (GUI of the application) and it depends on Model.
It concludes the input given by devices and communicates to model/view to take proper action. It also depends on model. View and Controller have 1:1 relationship. Controller entertains user requests received from View.
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 touch screen otherwise false.
How can you get the web browser of the client on which SAP Fiori application is running?
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.
OData is a protocol used to exchange data on web and was originally developed by Microsoft.It is based on Atom Publishing and Atom Syndication standards, which in turn, are based on XML and HTTPS(S).
The Atom publishing format doesn’t specify how Data should be encoded with in a feed therefore it fails to provide self-describing messages and fails to be fully RESTful. OData extends Atom by providing a metadata description of message.
OData provides definition for −
-Association as well as Navigation path between entries.
-OData also adds an alternative representation of data in the format of JSON.
Configure ABAP Front-end server includes- Configure SAP NetWeaver Gateway, Configure the Central UI Add-On, Configure SAP Fiori Launchpad.
What are Fiori Design Principles?
There are 5 design principles we need to keep in mind while designing SAP Fiori applications.
Interested in mastering SAP Fiori? Learn more about SAP Fiori Tutorials in this blog post.
Sequence of steps −
Launchpad Designer – Add a catalog, add a group
Target mapping – semantic object, action
PFCG – Catalog, group
Workflow templates are prefixed with “WS”.
Authorization Object S_RFCACL
Authorization check for RFC users, particularly for trusted systems
This authorization object contains the following fields −
RFC_SYSID − ID of the calling system or the domain of the satellite system.
RFC_CLIENT − Client of the calling system.
RFC_USER − ID of the calling user.
RFC_EQUSER − Flag that indicates whether the user can be called by a user with the same ID (Y = Yes, N = No)
RFC_TCODE − Calling transaction code.
RFC_INFO − Additional information from the calling system (currently inactive).
ACTVT − Activity
Workflow scenario aggregates one or more workflow tasks in workflow engine and is represented by a single entry in the consumer application. The service /IWPGW/TASK PROCESSING is provided in the standard.
We need to perform certain configuration tasks on front end server which are specific to app type. We need to Activate OData Services for transactional apps and Factsheets but not for Analytical apps. For analytical apps we need to configure access to SAP HANA data.
Static − It shows predefined static content (text, icon).
Dynamic − It shows numbers that can be read dynamically.
News Tile − Flips through news messages according to the configuration of the tile.
KPI Tile − It displays KPIs in real time.
OData services have to be enabled in SAP Net Weaver gateway to establish mapping between technical OData name and the corresponding back-end service. In order to setup SAP Fiori Launchpad and Launchpad designer, we have to activate 5 specific OData Services.
Configuration Layer − Contains all content as delivered to customers including translation.
Customization Layer − Customers adjust content for all users in the system. We can use CUST layer for testing or other reasons. Content is transportable through customizing requests by customers. After customization, content is decoupled from configuration layer and no automatic synchronization after changes to delivered layer.
The Launchpad user must have the PFCG role SAP_UI2_USER_700 assigned. With this role the user can run the SAP Fiori Launchpad on the Personalization level and has authorization to execute the following OData services −
SAP Solution Manager is the standard platform for Application Lifecycle Management (ALM), and plays a decisive role within the ALM tools. Besides providing SAP functionality itself, SAP Solution Manager integrates the other tools to ensure a comprehensive approach.
Using UI theme designer you can create your own themes to adapt the visual appearance of applications.
One single tool for theming and branding SAP’s key user interfaces −
Apply your corporate branding and look to applications built with SAP UI technologies. The UI theme designer is a browser-based tool for cross-theming scenarios.
The tool is targeted at different user groups, including developers, visual designers, and administrators.
Key Features and Benefits −
Browser-based, graphical WYSIWYG editor −
Change the values of theming parameters and immediately see how it affects the visualization of the selected preview page.
Build-in preview pages −
Select built-in preview pages to see what your custom theme will look like when it is applied to an application −Application previews (for example, Purchase Order Approval, SAP Fiori Launchpad)Control previews
Different levels of theming −
Quick theming (basic cross-technology theme settings)
Expert theming (technology-specific theme settings)
Manual LESS or CSS editing
Color palette for reuse −
Specify a set of parameters with the main color values defining your corporate branding.
Cross-technology theming −
Create one consistent theme that applies to various SAP UI clients and technologies −SAPUI5 standard libraries (including SAP Fiori applications and SAP Fiori launchpad)Unified Rendering technologies (such as Web Dynpro ABAP and Floorplan Manager)
SAP NetWeaver Business Client
Multiplatform and Multi UI technology support.
Low Total Cost of Ownership.
Transaction code SE11 is ABAP dictionary. By using this transaction code, you can create, change and display table entries and structures. At the initial screen, you can put any tables or structures to view, edit or even create a new one. Transaction code SE11 is normally used a ABAP programmer.
SAP Gateway Service Builder (transaction SEGW)) is a design-time environment, which provides developers an easy-to-use set of tools for creating services. The Code-based OData Channel consumes it and supports developers throughout the development life cycle of a service.
SE80 – Object Navigator
SE 80 is a tool to develop and navigate programs and dd-obj.
SE80 Object Navigator → means all the objects will be available there. In se80 in addition to viewing the objects related to programming and classes, there are more privileges to view such as some other repositories such as mime, object repository, object browser and all.
IW_BEP on Business Suite
IW_FND on Gateway Layer
The configuration is stored in the component.js file of the custom application. The component of the custom application needs to inherit from the main component of the original application. To make the location of the original application or component known to SAPUI5, it may be necessary to use register Module Path. The configuration in the customizing section contains the extension metadata and describes the objects that are replaced or extended.
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.
For Analytical apps you need SAP Hana as underlying database, no exceptions. SAP Fiori leverages.
XS engine by using virtual data models. Within XS engine there are 2 components: the HANA Live App content for respective business suite and Smart business component with the KPI modeler. Within the HANA live content the VDM reuse content exists which can be modified.
In below Pic, you have ABAP front end server which contains the UI Add-Ons for respective products used, NetWeaver Gateway with OData enablement, the central UI add-on and the KPI framework. These front end components have read access to the backend data via a trusted RFC connection.
Three routing rules need to be defined in SAP NWG system −
Two routing rules need to be defined in the HANA studio −
The Launchpad administrator must have the PFCG role SAP_UI2_ADMIN assigned.
SAP_UI2_ADMIN is a composite role containing the following release-dependent roles −
SAP_UI2_ADMIN_700 for SAP NetWeaver 7.0
SAP_UI2_ADMIN_702 for SAP NetWeaver 7.0 enhancement package 2
SAP_UI2_ADMIN_731 for SAP NetWeaver 7.0 enhancement package 3 and SAP NetWeaver 7.3 enhancement package 1
You need to know the system alias of the ABAP system in which you developed and configured the Gateway Service. There are two possibilities here −
If the GW_CORE and IW_BEP components are installed on the same ABAP system, then the system alias will probably be “LOCAL”.
If they are installed on different systems, then although system aliases can be any name you like, they generally follow the naming convention of <SID>_<Client> So the system alias for connecting to client 200 of system C11 would generally be C11_200.
We can use SAP Fiori Launchpad designer for configuring and creating groups and catalogs which can then be accessed from SAP Fiori Launchpad which is a single entry point to all apps. We can search recently launched apps via search capability of Launchpad. Tiles which are available on Fiori Launchpad home page are configured using Launchpad Designer Tool.