Configurations of SAP Fiori Apps are divided into two parts:
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.
Embedded hub Deployment: Development in SAP Business Suite Backend System
Easy reuse of content in SAP Business Suite backend system. We can reuse structures from the backend system and access local business logic.
Reduced total cost of ownership (TCO) as we do not require a separate SAP NetWeaver Gateway system.
The life cycle of SAP NetWeaver Gateway content is dictated by the frequency of updates in the SAP Business Suite backend system.
We must integrate the consuming application or infrastructure with the SAP Business Suite system on a point-by-point basis. Cross-system composition is not advisable.
Central SAP NetWeaver Gateway content is not available. Backend-specific content is used in the SAP Business Suite backend system.
If multiple SAP Business Suite systems are used Gateway would have to be configured multiple times.
Note: Embedded hub deployment is not recommended by SAP especially for a customer with multiple backend. This scenario is used for sandbox purposes only.
Configure ABAP Front-end server includes- Configure SAP NetWeaver Gateway, Configure the Central UI Add-On, Configure SAP Fiori Launchpad.
A virtual data model (VDM) is a structured representation of HANA database views used in SAP HANA Live for SAP Business Suite and follows consistent modeling rules.
It provides direct access to SAP business data using standard SQL or OData requests. Business data is exposed through well-defined database views, operating directly on the tables of the SAP Business Suite systems and transforming them into consistent and easily understandable views.
VDMs allow you to access data in one component and use it in another without having to persist the data a second time.
A Virtual data model consists of the following types of views:
Query views are designed for direct consumption by an analytical application (based on HTML5, for instance) or a generic analytical tool (for example, BusinessObjects tools). They are always the top view in a hierarchy of views and are not designed for reuse in other views. However, the virtual data model also includes query views to support (showcase) applications based on the virtual data model.The interface of the query views is kept stable. The name of a query view ends with Query and provides output fields in a format consumable by UIs.
Reuse views are the hearts of the virtual data model. They expose the business data in a well-structured, consistent and comprehensible way, covering all relevant business data in SAP Business Suite systems. They are designed for reuse by other views and must not be consumed directly by analytical tools.
Private views encapsulate certain SQL transformations on one or several database tables or even other views. They are not classified as reuse views, as they might not carry clear business semantics, but are rather intended to be reused in other views. They are comparable to subroutines or (private) methods in programming languages. A private view may be based on database tables, other private views, or on reuse views.
Value help views (VHVs) provide the value list for a specific business entity that is used in a value help in a query view. Relevant business entities are specified by an identifier or code. A maximum of one VHV is defined for each business entity per package. A VHV is included either in an underlying package to the business query views that make use of it, or in the same package. In SAP HANA, for each main package a specific VHV exists for a specific business entity.
Step 1 Configure SAP Web Dispatcher:
Needs to be configured to specify routing rules stating which URL is forwarded to which request
Configuring authentication and SSO needs to be done in the HANA database.
Step 3 configuring the front-end server:
Step 4 (Only needed for Smart business apps):
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).
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”.
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:
To be able to use the UI Theme Designer, Activate the following Internet Communication Framework (ICF) service nodes:
To be able to use SAP UI5 and NWBC preview pages, following ICF services must be activated:
We can use SAP Fiori Launchpad designer for configuring and creating groups and catalogs which can then be accessed from SAP Fiori Lauchpad 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.
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.
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:
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.
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:
The Model-view-controller pattern defines domain modeling, GUI of application and input and actions based on devices.
MVC approach defines in SAP UI5 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.
SWI2_DIAG → to diagnose workflow errors.
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.
By implementing SAP Single Sign-On, your apps become automatically available after just one initial user authentication at the users 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.
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:
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.
UI5 data binding supports three different model implementations:
To configure Enterprise search in back end, we must have Embedded Search Technology setup.
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/TASKPROOCESSING is provided in the standard.
Authorization object: /UI5/THEME
/UI5/THMID (Theme Id):* = all themes
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.
Product specific UI Add-Ons
ERP − UI for EHP 7 for SAP ERP 6.0
SRM − UI for EHP3 for SAP SRM 7.0
SCM − SAP SNC USABILITY 1.0
CRM − UI for EHP3 for SAP CRM 7.0
PORTF and PROJ MGMT − UI for SAP PORTF PROJ MGMT 6.0
GRC − UI for SAP ACCESS CONTROL 10.1 SP3
Transaction Apps are only apps that don’t have to run on Hana system. They can run on any Database. All factsheets, Analytical apps and Small Business Apps run on SAP Hana. Only Fact sheet requires Search Models. Only Analytical Apps requires Hana XS Engine and KPI Framework is needed for Smarts Business Apps.
In order to expose our Gateway service to outside world, we must create an entry in the Service Catalogue on which ever server is acting as the Gateway hub.
SAP Web Dispatcher (Reverse proxy) is entry point for HTTP(s) request in SAP Fiori Architecture. It can accept or reject connections as per user request.
/UI2/TRANSPORT- Used by SAP Fiori Launchpad designer to read and assign transport request.
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:
Build-in preview pages:
Different levels of theming:
Color palette for reuse:
SAP NetWeaver Business Client:
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 KPI’s in real time.
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:
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 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.
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.
Scenario A: Central Hub Deployment — Development in SAP Business Suite Backend System
It enables to reuse data stored in the SAP Business Suite system easily since development takes place in the system in which data is stored.
To enable communication between the SAP NetWeaver Gateway system and the SAP Business Suite backend system, you must install IW_BEP in the backend system.
The life cycle of SAP NetWeaver Gateway content is dictated by the frequency of updates in the SAP Business Suite backend system.
Requires separate NetWeaver Gateway system
Scenario B: Central Hub Deployment — Development in SAP NetWeaver Gateway System
Noninvasive deployment scenario for SAP Business Suite backend system.
The life cycle of SAP NetWeaver Gateway content is loosely coupled to the lifecycle of the SAP Business Suite backend system.
To enable external access and fulfill security requirements, you can locate the SAP NetWeaver Gateway system in a demilitarized zone (DMZ).
You need only a single installation of the SAP NetWeaver Gateway Add-Ons within the system landscape.
Requires separate NetWeaver Gateway system.
The SAP NetWeaver Gateway content implementation cannot use the majority of development objects in the SAP Business Suite backend system. Consequently we need to create copies of structures and data domains.
We must choose this deployment scenario if we cannot install the SAP NetWeaver Gateway Add-Ons in the SAP Business Suite backend system. We might not be able to install Add-Ons in the backend system for reasons of security, stability, or incompatibility (due to system release).
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:
However this is only a convention, not a rule.
Configure access to KPI data (SAP Smart Business only) includes – enables user access to KPI data, KPI modeler, Configure navigation targets for KPI’s.
For fact sheets with integrated geographical maps, geographical coordinates and address data are transferred from the ABAP back-end server to the map provider using HTTP or HTTPS.
To ensure confidentiality and integrity of data, we strongly recommend protecting HTTP connections by using Transport Layer Security (TLS) or Secure Sockets Layer (SSL).
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.
Trusted RFC provides data from backend Business suite to the apps. SAP Business suite is present in ABAP back-end server with all its modules- ERP, CRM, SRM, SCM. Fiori Apps are available in ABAP frontend server in Fiori Launchpad.
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.
Analytical apps and the SAP Smart Business apps share the setup of HANA XS engine and KPI Framework only (in Smart Business Apps). After setup of SAP Fiori System Landscape with SAP Hana XS engine we need to be following the KPI modeler on front-end server and respective SAP Smart Business Products on SAP Hana server.
To define a trust relationship between SAP system and SAP NetWeaver gateway host by configuring SAP system to be trusting system and NetWeaver gateway host to be the trusted system. It enables remote logon for users who use the same user data in both SAP NetWeaver Gateway host and SAP system.
To configure SAP system as the trusting system:
To configure SAP NetWeaver Gateway host as trusted system:
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: