updating sap fiori applications

34
Updating SAP Fiori Applications Structured approach for identifying major pitfalls and challenges when updating SAP Fiori Apps Version 1.0, January 2015

Upload: votram

Post on 11-Jan-2017

267 views

Category:

Documents


17 download

TRANSCRIPT

Updating SAP Fiori Applications Structured approach for identifying major pitfalls and challenges when updating SAP Fiori Apps Version 1.0, January 2015

UPDATING SAP FIORI APPLICATIONS

2

TABLE OF CONTENTS

1 INTRODUCTION ............................................................................................................................... 3 1.1 Motivations and Drivers for updating SAP Fiori........................................................................... 3 1.2 Scope ................................................................................................................................................ 3

2 SAP FIORI ARCHITECTURE ........................................................................................................... 4 2.1 Transactional Apps ......................................................................................................................... 4 2.2 Fact Sheets ....................................................................................................................................... 4 2.3 Analytical Apps ................................................................................................................................ 5

3 FOCUS AREAS ................................................................................................................................. 6 3.1 Project Impact Matrix ...................................................................................................................... 6 3.2 Device ............................................................................................................................................... 8 3.2.1 Browser .............................................................................................................................................. 8 3.2.2 Mobile Clients and SAP Mobile Platform ........................................................................................... 8 3.3 Reverse Proxy .................................................................................................................................. 9 3.4 Frontend Server ............................................................................................................................. 10 3.4.1 Software Components ..................................................................................................................... 10 3.4.2 Configurations .................................................................................................................................. 16 3.4.3 Authorizations .................................................................................................................................. 19 3.4.4 Custom Code ................................................................................................................................... 20 3.4.5 Tools ................................................................................................................................................ 22 3.5 Backend Server .............................................................................................................................. 24 3.5.1 Software Components ..................................................................................................................... 24 3.5.2 Configurations .................................................................................................................................. 26 3.5.3 Authorizations .................................................................................................................................. 27 3.5.4 Custom Code ................................................................................................................................... 28

4 APPENDIX....................................................................................................................................... 30 4.1 List of references ........................................................................................................................... 30 4.1.1 Overview and Guides ...................................................................................................................... 30 4.1.2 Tools ................................................................................................................................................ 30 4.1.3 Device / Browser / Mobile ................................................................................................................ 30 4.1.4 SAP Product Specific UI AddOns .................................................................................................... 31 4.1.5 SAP UI AddOn ................................................................................................................................. 31 4.1.6 SAP Gateway .................................................................................................................................. 31 4.1.7 SAP Business Suite ......................................................................................................................... 32 4.2 SAP Fiori Wave 1 (Fiori Launchpage) Migration ........................................................................ 32 4.3 Maintenance Optimizer - Correction of installed software information (CISI) ........................ 32

UPDATING SAP FIORI APPLICATIONS

3

1 INTRODUCTION

SAP Fiori is the new user experience (UX) for SAP software. It applies modern design principles for a completely reimagined user experience. SAP Fiori UX represents a personalized, responsive and simple user experience across devices and deployment options. SAP solutions, such as the SAP Business Suite applications, use SAP Fiori UX to provide a personalized and role-based user experience for enterprise-wide engagement across lines of business. While updating a single standalone SAP Fiori App is quite straight forward complexity rises with increasing number of use cases, applications, custom enhancements, etc. on productive system landscapes. This guide provides an overview of major challenges and areas of concern. 1.1 Motivations and Drivers for updating SAP Fiori Three main reasons for updating Fiori have been identified:

Fixing Product Issues

Introducing new features (App Update or new App)

Regular Maintenance

These reasons apply basically to software in general but have specific relevance in context of SAP Fiori because of:

short SAP Fiori release cycles allowing fast innovation and device/browser support

SAP Fiori system complexity implementing people centric cross system scenarios

High security requirements for external facing / mobile scenarios

In context of SAP Fiori Updates SAP follows the listed principles providing full flexibility and active innovation management:

Minimal side effects Dependencies between the involved software components should be minimized. Especially bug fixes should only touch the area of concern without impacting surrounding areas. This allows predictable implementation of SAP Notes and Support Package Stacks.

Fast delivery Fixes and new features should be available as quick as possible - allowing customer to define their own pace of innovation.

Easy to implement The existing and known tooling should be used for implementation tasks wherever possible. Additionally required information should be published centrally adopting SAP Fiori design principles.

1.2 Scope SAP Fiori comes with three major app types: Transactional Apps, Fact Sheets and Analytical Apps. The architectural requirements differ slightly between the app types. This document focuses on transactional apps running on anyDB. This guide assumes that the initial SAP Fiori implementation tasks have already been performed and an up and running SAP Fiori system landscape, which requires updates regularly or on special occasions, is available. Information on the initial configuration steps of a SAP Fiori App are provided in the SAP Fiori Quick Guide (http://service.sap.com/~sapidb/012002523100011778012014D). Challenges specific to integration of SAP Fiori into other solutions and products, e.g. into SAP NetWeaver Portal, are not explicitly reflected in this guide. Infrastructure setup, such as technical security configuration, Secure Network Connection (SNC), Load balancing, etc. is done once and typically not impacted by an update. Therefore it is not mentioned in this document. Migration from the first SAP Fiori Apps (Wave 1) based on SAP Fiori Launchpage to SAP Fiori Launchpad based Apps is a specific case covered in the appendix. The document itself focuses on updates of SAP Fiori Launchpad based apps.

UPDATING SAP FIORI APPLICATIONS

4

2 SAP FIORI ARCHITECTURE

SAP Fiori is typically implemented in a layered architecture as shown in the next figure:

Device agnostic device strategy by utilizing browser based SAP UI5 Technology

The access layer (reverse proxy) allows secure internal and external access.

The UI Layer (Frontend Server) is decoupled from data and processes

On the backend server the actual processes are executed

The database layer (HANA / any DB) persists the related data 2.1 Transactional Apps These apps let you perform transactional tasks, such as creating a leave request for an employee. They represent simplified views and interaction with existing business processes and solutions. They run best on an SAP HANA database, but also run on other databases with acceptable performance.

Figure 1: SAP Fiori Transactional App Architecture

From technical point of view it is possible utilizing the same SAP NetWeaver Application Server ABAP for Frontend and Backend Server. But by doing so the advantages of decoupling UI rendering from business process logic get lost. SAP recommends separating backend components from frontend components and to deploy SAP Gateway as a central hub (SAP Help Portal – SAP Fiori Deployment Options). This guide takes only the recommended architecture into account. 2.2 Fact Sheets These apps display contextual information and key facts about central objects used in business operations. From an architectural perspective major differentiators to transactional apps are:

Fact sheets run only on a SAP HANA database / Suite on Hana system (no support of anyDB)

Directly accesses search engine on the backend server via INA search protocol

Requires reverse proxy (SAP Web Dispatcher) handling the request to different systems

UPDATING SAP FIORI APPLICATIONS

5

Figure 2: SAP Fiori Fact Sheet Architecture

Fact Sheets are not explicitly covered in this guide. 2.3 Analytical Apps These apps provide role-based insight into real-time operations of a business by collecting and displaying key figures directly in the browser. Analytical apps combine the data and analytical power of SAP HANA with the integration and interface components of SAP Business Suite. They provide real-time information on large volume data in a simplified front end for enterprise control. With analytical apps, most important key performance indicators (KPIs) can be closely monitored in real time and allow immediate reaction on changes in market conditions or operations. From an architectural perspective major differentiators to transactional apps are:

They require HANA database / Suite on HANA system and XS Engine

Directly accesses HANA XS Engine

Requires reverse proxy (SAP Web Dispatcher) for handling the requests to the different systems.

Figure 3: SAP Fiori Analytical App Architecture

Analytical Apps are not explicitly covered in this document.

UPDATING SAP FIORI APPLICATIONS

6

3 FOCUS AREAS

This chapter provides an overview of the relevant SAP Fiori components, configuration objects and toolset grouped by the architectural layers described in the previous chapter. They are rated in context of their “impact” on project success when updating SAP Fiori. The first subchapter Project Impact Matrix lists all items in scope and can be used as a checklist. The subsequent chapters discuss each item in detail especially in context of the identified update drivers. 3.1 Project Impact Matrix

Layer Category Component / Topic

Impact Rating (low,

medium, high) Comment

Device CLIENT Browser high Client Cache Validation

Device CLIENT SAP Fiori Client / SAP Mobile Platform SDK

low App like Fiori deployment on mobile device and extended Cache and Lifecycle Management

Reverse Proxy CONFIG SAP Web Dispatcher (recommended)

low Only mandatory for Fact Sheets and Analytical Apps; required for external facing scenarios

Frontend Server

SWC SAP Product Specific UI AddOns

high SAP Fiori App specific UIs bundled by application area

Frontend Server

SWC SAP UI AddOn high Build on top SAP Gateway and provides foundation for Product Specific UI AddOns

Frontend Server

SWC SAP Gateway medium Foundation for SAP UI AddOn

Frontend Server

SWC SAP NetWeaver Application Server ABAP

low Underlying Application Server

Frontend Server

CONFIG ICF Configuration (App and FLP)

low Exposing Internet Standard Protocols

Frontend Server

CONFIG oData Services (App and FLP)

low SAP standard ODATA services are considered as private API

Frontend Server

CONFIG Launchpad Configuration low FioriLaunchpad.html file is overwritten during update

Frontend Server

CONFIG Translations medium Custom translations need to be verified

Frontend Server

CONFIG Caching Mechanisms (App and FLP)

medium Frontend Server Cache Validation

Frontend Server

CONFIG End user Personalization low Individual setup of Fiori Launchpad

Frontend Server

AUTH PFCG Roles (App and FLP)

medium Review Role Concept especially when adding new apps

Frontend Server

CODE Custom UI Enhancements following Extensibility Concept

low Apply extension point concept (not available in Wave 1 Launchpage

UPDATING SAP FIORI APPLICATIONS

7

Apps – see appendix)

Frontend Server

CODE Custom UI Modifications beyond Extensibility Concept

high Custom App will be disconnected from standard app

Frontend Server

CODE Custom UI5 Applications medium Not related to standard SAP Fiori Apps; Compatibility with UI AddOn

Frontend Server

CODE Other applications running on SAP Gateway

low Dependencies only on SAP Gateway layer

Frontend Server

TOOL SAP Theme Designer medium Rebuild might be required; Dedicated SAP Notes

Frontend Server

TOOL SAP Fiori Launchpad Designer (Catalog, Roles, Groups, etc.)

low Manage SAP Fiori Launchpad content

Frontend Server

TOOL SAP Web IDE low Cloud Connector requires updates as well; Role Concept for developers

Backend Server SWC SAP Fiori Backend AddOn low Update of Backend Application such as SAP_APPL might be required on recent releases

Backend Server CONFIG Cache IWBEP low Run regular job clearing cache and manual after update

Backend Server CONFIG oData Services low SAP standard ODATA services are considered as private API

Backend Server AUTH PFCG Roles medium Review Role Concept, especially when introducing new Apps

Backend Server CODE Enhanced standard SAP Fiori oData Services

medium SAP standard ODATA services are considered as private API

Backend Server CODE Custom oData Services medium Custom objects not impacted by update

UPDATING SAP FIORI APPLICATIONS

8

3.2 Device 3.2.1 Browser Description SAP Fiori runs from technology point of view in the most widely used HTML5-capable browsers. An overview of the by SAP officially supported browsers is provided in SAP Note 1935915 - Fiori for Business Suite: Browser / Devices / OS Information Challenge When updating SAP Fiori Apps (UI AddOn and/or Product specific UI AddOn) inconsistencies might occur due to old version artifacts in browser cache. These can interfere with the new app versions resulting in erratic application behavior such as white screens. The issue is known to SAP and described in following SAP Note: 2043432 - Browser cache is not invalidated after version or patch update of SAP Fiori components. Below table reflects the necessity of browser cache refresh in context of the different update scenarios. Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues If either SWC “Product specific UI AddOn” or “UI AddOn” is updated

X App Update Requires at least update of SWC “Product specific UI AddOn”

New App Only relevant if the new app requires update of a deployed SWC

X Regular Maintenance Typically includes updates of the UI AddOns

Solution / Mitigation

(1) Custom Cache validity implementation Following the steps described on SAP Note 2075016 - SAPUI5 Applications: No need to clear the Browser Cache manually and Customizing of HTTP Response Headers a custom BAdI for cache control can be implemented. Allowing to centrally configure regular cache de-validation e.g. for regular maintenance windows. After the implementation end users will have to clear their caches one last time manually before the changes become effective.

(2) SAP Fiori Client for mobile consumption The SAP Fiori Client comes with an enhanced cache management: During operation, the application detects when updates are available to SAP Fiori applications and, when an update is detected, purges its existing cache of SAP Fiori application assets and pulls the updated content from the server. Find more details on SAP Fiori Client on SAP Help Portal (http://help.sap.com/fiori-client).

Further information on caches on frontend and backend server is provided in the corresponding configurations subchapters. 3.2.2 Mobile Clients and SAP Mobile Platform Description The SAP Fiori Client is a customized Apache Cordova application with the Fiori content running online in the application’s web view (a component for rendering web content within a native application). It is available as a native app for iOS and Android in the corresponding platform app stores. (iTunes, Google play) Beginning with SAP Mobile Platform SDK SP04, the capabilities of the SAP Fiori Client are provided through the Kapsel SDK as plugins for the Apache Cordova framework. This approach allows you to build your own version of the SAP Fiori Client and more easily customize it as needed for your environment. More details on SAP Fiori Client are provided on SAP Help Portal as part of the SAP Mobile SDK documentation (http://help.sap.com/saphelp_smp305sdk/helpdata/en/b2/99923cc0b94400acab320c812cc026/content.htm).

UPDATING SAP FIORI APPLICATIONS

9

Figure 4: SAP Fiori and SAP Mobile Platform

Challenge Updating SAP Fiori does not impact the SAP Fiori Client. Due to its enhanced cache management even the caching issues which might occur in standard browsers are not applicable. Nevertheless adoption of new SAP Mobile SDK or SAP Fiori Client versions requires the updated app rolled out to the end users. This is especially true if the custom SAP Fiori client based on SAP Mobile SDK comes with the SAP UI5 sources or if the SAP Fiori Apps running in standalone mode and for each SAP Fiori App a dedicated native app has been developed (SAP Help Portal – SAP Fiori Apps in standalone mode) Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues

App Update Only if a custom SAP Fiori Client including sources is used

New App Only if standalone mode and dedicated native apps per SAP Fiori App are used

Regular Maintenance

Solution / Mitigation SAP Mobile Secure Cloud or SAP Afaria on premise include features for updating and rolling out apps. See following links to SAP Help Portal:

SAP Mobile Secure - http://help.sap.com/afaria-cloud/

SAP Afaria 7 SP5 On Premise - http://help.sap.com/afaria7sp5/ 3.3 Reverse Proxy Description The Reverse Proxy (SAP Web Dispatcher recommended by SAP) is mandatory for Fact Sheets and Analytic Apps as they send requests to several systems. Standard browsers have a “same origin” policy, that is, HTTPS requests for the UI data and the back-end data must communicate with just one web address. The origin is harmonized by the SAP Web Dispatcher. When implementing SAP Fiori Transactional Apps a reverse proxy is recommended for external facing scenario not exposing the Frontend Server directly to the outside. It is not required for Intranet scenarios.

UPDATING SAP FIORI APPLICATIONS

10

Challenge Updating SAP Fiori should not impact the reverse proxy setup. Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues

App Update

New App

Regular Maintenance

Solution / Mitigation When implementing transactional SAP Fiori Apps the reverse proxy enhances the security level. It does not impact functions and features from a pure solution perspective. Therefore updating SAP Fiori does not impact the reverse proxy setup. 3.4 Frontend Server The ABAP front-end server contains all the infrastructure components to generate an SAP Fiori app-specific UI for the client and to communicate with the SAP Business Suite back-end systems. The UI components and the Gateway are based on SAP NetWeaver Application Server ABAP. Typically, both are deployed on the same server. It is not recommended by SAP running SAP Gateway embedded on the same SAP Application Server ABAP as the SAP Business Suite (SAP Help Portal – SAP Fiori Deployment Options). 3.4.1 Software Components Description As shown in SAP Fiori architecture chapter SAP Fiori consists of multiple software components. The ABAP front-end server contains all the infrastructure components to generate an SAP Fiori app-specific UI for the client and to communicate with the SAP Business Suite back-end systems. It is based on a SAP NetWeaver Application Server ABAP. SAP Fiori related AddOns on the Frontend Server are: SAP Gateway, SAP UI AddOn and SAP Product Specific UI AddOns.

- SAP Gateway (2062465 - General Information: FIORI SAP Gateway 2.0 Q4/2014) SAP Gateway handles the communication between the client and the SAP Business Suite back end. SAP Gateway uses OData services to provide back-end data and functions, and processes HTTPS requests for OData services.

- UI AddOn (1759682 - UI Add-On for SAP NetWeaver: Central Note) The UI AddOn addresses the core question of how to rapidly provide new user interaction without disrupting the underlying business applications. The central UI component is a framework that provides the common infrastructure for all SAP Fiori apps: SAP Fiori Launchpad is the basis of all SAP Fiori UIs and provides fundamental functions for SAP Fiori apps such as logon, surface sizing, navigation between apps, and role- based app catalogs. End-users access the SAP Fiori apps from the SAP Fiori Launchpad

- SAP Product Specific UI AddOns The specific UIs for the apps are delivered as SAP Business Suite product-specific UI add-on products, which must be additionally installed on the front-end server and are bundled by SAP Business Suite Modules (e.g. ERP, CRM, etc.). An overview of all SAP Fiori Products is provided on SAP Help Portal (http://help.sap.com/fiori_products).

UPDATING SAP FIORI APPLICATIONS

11

Figure 5: Frontend Server Architecture

Details on SAP Fiori Packaging are provided in according SCN guide (https://scn.sap.com/docs/DOC-59342). Challenge In context of the three core SAP Fiori AddOns on the Frontend Server following challenges might arise during an update:

a) Short Release Cycles SAP Fiori Updates are shipped in short release cycles (quarterly). Via the SAP Product Specific UI AddOns new apps, new features and bug fixes for existing apps are shipped. The quarterly shipment allows quick adoption of innovations. The SAP UI AddOn provides the UI foundation for SAP Fiori Apps. SAP Fiori runs from a technical point of view in the most widely used HTML5-capable browsers. Assuring support for the latest browser releases requires regular updates of the UI AddOn. Updates include better browser support, improved performance, and better supportability as well as supporting adoption of new SAP products and solutions in addition to fixing issues for known problems. (1971640 - NW UI add-on: Recommendation to installing the most recent SP available). SAP Gateway provides the technology foundation for SAP Fiori on the Frontend Server. Compared to the UI AddOns it is the most stable component on the Frontend Server. This means, to secure supportability and usage of newest features the latest versions of all software components are required. Updating the Frontend Server in such a short cycle becomes easily a challenge for the internal IT. Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues SAP Notes provided for recent SPS

X App Update New features shipped quarterly

X New App New Apps published as part of quarterly shipment

X Regular Maintenance Maintenance cycles driven by business requirements and browser usage

b) Dependencies and Compatibilities

For each of the components it is valid that a more recent Support Package Stack is compatible to any Support Package Stack shipped before. In addition the software components of the SAP NW UI

UPDATING SAP FIORI APPLICATIONS

12

add-on are classified as non-modifying and cannot change the software components that are already installed in a system (1666367 - Release strategy for UI add-on 1.0 for SAP NetWeaver). Nevertheless dependencies between the different SAP Fiori Components exist. E.g., an update of the SAP Product Specific UI AddOn introducing new features or new apps utilizing new features of the components below might require an update of the whole stack (SAP Product Specific UI AddOns, SAP UI AddOn, SAP Gateway). Therefore dependencies need to be validated before updating the system to minimize troubleshooting efforts afterwards. The available tools for facing this challenge are listed below in the solution / mitigation paragraph. Dependencies between Frontend Server and Backend Server are mainly “content” related: a new or updated app might require according services in the Backend Server shipped via SAP Fiori

Backend AddOns (see chapter ‎3.5.1 Software Components). When updating from a downported to

a recent SAP Fiori App ui component and backend integration addon are tightly related, which means updating either component requires update of the other as well (see 1914499 - Release Information Note: UI FOR EHP7 FOR SAP ERP 6.0). From a technology perspective the SAP Gateway frontend components (SAP Gateway server components) are independent from the SAP Gateway enabling component in the Backend Server (1830198 - SAP NW Gateway: Dependencies Between IW_BEP and IW_FND). That means in a hub deployment (see SAP NetWeaver Gateway Deployment Options on SAP Help Portal - http://help.sap.com/saphelp_gateway20sp09/helpdata/en/62/91ad98b19b4a91bca737fbe442273f/content.htm) it is possible to upgrade the systems independently.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues fixing an issue on one component might impact others

X App Update might require update of underlying components

X New App might require updates of underlying components

Regular Maintenance all components should be updated synchronously

c) Innovation and Maintenance

SAP Fiori Frontend Support Package Stacks include new features and bug fixes. That means when applying the latest support package stacks the existing app might get enriched with new functionality. Typically these are minor improvements; nevertheless they might require validation before rollout to the end users and need to be validated in case of custom modifications.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues SAP Notes provided for recent SPS

X App Update Include fixes and new featues

New App

X Regular Maintenance Regular maintenance include new features as well

d) Applying Notes

Each support package stack typically comes with additional SAP Notes on top. Sometimes it might be challenging identifying all relevant SAP Notes.

Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues

X App Update Identify relevant notes per app

X New App Identify relevant notes for new app

X Regular Maintenance Apply notes on top of SPS

UPDATING SAP FIORI APPLICATIONS

13

Solution / Mitigation a) Short Release Cycles

SAP recommends updating systems to the latest support package stacks for highest supportability and newest features (e.g. see following SAP Note for UI AddOn 1971640 - NW UI add-on: Recommendation to installing the most recent SP available). Nevertheless if support of the latest browser versions and latest app features are not required, customers are supported on stable support package stack combinations as well. SAP Fiori mobile consumption scenarios require most times broad support of browsers. In enterprise desktop deployments the browser usage is more easily controlled centrally by internal IT and running on older versions might be more applicable. Finally it depends on the specific customer situation to either go for fast innovation requiring quarterly updates or stay longer on a stable support package stack combination and only applying SAP Notes where required for bug fixing.

b) Dependencies and Compatibilities People centric, flexible and highly secure solutions such as SAP Fiori increase system landscape complexity. In order to manage the complexity and dependencies SAP offers multiple tools improving the implementation experience and providing transparency.

I. SAP Innovation Discovery (http://service.sap.com/innovation-discovery) SAP Innovation Discovery is mostly used in the evaluation and planning phase pinning business requirements down to technical prerequisites. In context of Fiori Updates it is especially helpful when new apps should be introduced. SAP Innovation Discovery is a self-service tool that simplifies the search for new functionality SAP has delivered (as Enhancement Packages, Support Packages, Add-Ons, or Improvement Notes). SAP thereby bridges the gap between business needs on the one hand and technical information regarding innovations on the other. An innovation corresponds to one or several product features. SAP Fiori based innovations can be accessed in the tool via the SAP Fiori tile on the start page. The technical view of the innovations details view provides an overview of the required software components and a direct link to the according entry in the Product Availability Matrix.

Figure 6: SAP Innovation Discovery

UPDATING SAP FIORI APPLICATIONS

14

II. SAP Fiori App Reference Library (http://sap.com/fiori-apps-library) SAP Fiori App Reference Library provides a metadata repository for Fiori apps with information in the areas of installation, configuration, extensibility and support. The library is very beneficial during planning and troubleshooting especially when updating existing or introducing new apps. The list of apps is easily searchable. It also includes filters and grouping based on application component, front end and back-end product versions, application type and other important parameters. Besides the information published in the SAP Fiori App Reference Library itself, it supports direct navigation to standard documentation in SAP Help Portal, SAP Product Availability Matrix and SAP Release Notes.

Figure 7: SAP Fiori App Reference Library

III. SAP Landscape Planner (http://www.service.sap.com/sap/support/lp/ui) Landscape Planner is a browser based tool that helps IT administrators efficiently plan and implement changes to a landscape (that is: install a new system, update or upgrade). It helps identify the dependencies between systems in a landscape, and understand the impact of system changes on the landscape. Dependencies between products and software components are centrally maintained by SAP in the Product and Production Management System (PPMS). The Landscape Planner enables a customer to match the information from the PPMS with the customer landscape. As a prerequisite the customer system landscape needs to be properly maintained in the SAP Solution Manager / Service Marketplace.

Figure 8: SAP Landscape Planner

UPDATING SAP FIORI APPLICATIONS

15

IV. SAP Maintenance Optimizer (MOPZ) The SAP Maintenance Optimizer is a mandatory tool for any SAP Fiori update. It leads the administrator through the planning, download and implementation of new software versions in existing systems. Based on the PPMS and Landscape Management Database (LMDB), containing all relevant information about the as is customer landscape, maintenance transactions are performed to specify the target of a given software deployment, download the required archives and generate configuration files for the local deployment tools (see figure below). Not modelled in PPMS are logical dependencies between UI product versions on the Frontend Server and the particular Support Package Stack requirements in the Backend Server and can therefore not be considered by MOPZ. The dependency is described in the RIN of the UI product version and is modelled in the cross-product solution consumed by the landscape planner.

Figure 9: Landscape Planner and Maintenance Optimizer

Details how to correct wrong installation software information (ISI) preventing usage pf MOPZ is provided in the appendix of this document.

V. SAP Fiori Standard Documentation (http://help.sap.com/fiori) The standard documentation on SAP Help Portal provides detailed information on all aspects of a SAP Fiori implementation. When updating an existing app or introducing a new app the detailed information per app is extremely beneficial (section “SAP Fiori Apps”). When a new app requires architectural changes details on the different system landscapes are provided (section “System Landscape Required for SAP Fiori”). The extensibility information (section “Extensibility Information for SAP Fiori”) should be considered in case any custom modifications have been done. The operations section (section “Operations Information for SAP Fiori”) provides generic troubleshooting hints.

c) Innovation and Maintenance For each SAP Fiori AddOn a dedicated entry in the Product Availability Matrix (https://support.sap.com/release-upgrade-maintenance/pam.html) exists from where the latest release notes are linked. The Release Notes provide an overview what has changed for each support package stack on app level. Easiest entry point to the according Product Availability Matrix entry on app level is via the SAP Fiori App Reference Library (http://sap.com/fiori-apps-library). In addition SAP Fiori Standard Documentation for each app includes an app history.

d) Applying Notes The relevant SAP Notes for each support package stack are linked from the central release note per component which can be accessed via the Product Availability Matrix. Easiest entry point to the according Product Availability Matrix entry as well to the release notes on app level is via the SAP Fiori App Reference Library (http://sap.com/fiori-apps-library). Overview information and links to relevant SAP Notes are as well provided in following two general SAP Notes:

UPDATING SAP FIORI APPLICATIONS

16

2062518 - General Information: FIORI UI Infrastructure Components Q4/2014

2062465 - General Information: FIORI SAP Gateway 2.0 Q4/2014 In addition lessons learned are published on SAP Community Network (http://scn.sap.com/docs/DOC-41598), for example following blog lists all SAP Notes available for SAP UI AddOn SPS10: http://scn.sap.com/docs/DOC-59012.

3.4.2 Configurations Description On the Frontend Server multiple configuration steps are required when setting up SAP Fiori. The majority of configuration steps are activation and authorization steps for applications and services, which need to be done once and are not impacted during an update.

Activate ICF Configuration and oData Services The activation of the OData services and of the ICF services are required to initially set up the SAP Fiori Launchpad and the SAP Fiori Launchpad Designer. In addition per app specific oData and ICF services need activation. SAP Gateway provides the infrastructure for the OData services used by the SAP Fiori Launchpad and the Fiori apps. An OData service has to be enabled in SAP Gateway which establishes a mapping between the technical OData service name and the corresponding back-end service.

Launchpad Configuration Via configuration parameters different aspects of the Launchpad are configured, such as enablement of personalization, activation of search, etc.

Translations SAP Fiori supports already a variety of languages (see languages per Product specific UI AddOn on https://support.sap.com/pam). In addition custom translations are maintainable. All values derived from the backend server are translated by standard Backend Server (ERP, CRM, etc.) means. App specific UI texts are translated via property files on the Frontend Server.

Caching Mechanisms For improved performance SAP Fiori provides caching mechanisms on all architectural levels from backend to device. In the Frontend Server caching is implemented for the central SAP Fiori Launchpad used by all apps as well for app specific data.

End User Personalization The tiles on the home page are arranged in groups. The user can personalize the layout of the home page, by grouping, moving, and removing tiles. The user can also add, delete, rename, and reorder groups. To add tiles to groups, the launchpad provides a tile catalog, which displays all the tiles that are available to a user. Further personalization features are provided inside dedicated apps.

Challenges Most configurations on the frontend server are done initially and do not require special attention during updates. When introducing new apps the app specific configuration needs to be done.

a) ICF Configuration ICF Services need to be activated once for the FLP (SAP Help Portal - Activate ICF Services for SAP Fiori Launchpad), the tools coming with SAP UI AddOn (e.g. SAP Theme Designer) and specific ICF nodes for each application (SAP Help Portal – Activate ICF Services of UI5 Application). When only updating existing apps neither the SAP Fiori Launchpad services nor the UI5 Application specific services need to be touched. But when introducing a new application the app specific ICF nodes require activation.

Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues Typically do not impact ICF services

App Update ICF services are already activated

X New App ICF nodes specific to the app require activation

Regular Maintenance Update of components do not impact ICF config

UPDATING SAP FIORI APPLICATIONS

17

b) oData Services oData Services exist for the SAP Fiori Launchpad as well as for each single app. When only updating existing apps neither the SAP Fiori Launchpad services nor the UI5 Application specific services need to be touched. But when introducing a new application the app specific oData services require activation.

Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues Typically do not impact oData service config

App Update oData services are already activated

X New App oData services specific to the app require activation

Regular Maintenance Update do not impact oData service config

c) Launchpad Configuration

A safe way should be provided for configuring the Launchpad without modifying SAP specific files which are overwritten during an update.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues Updates of SAP UI AddOn

App Update Only if SAP UI AddOn is updated as well

New App

X Regular Maintenance Updates of SAP UI AddOn

d) Translations

When updating SAP Fiori (Product Specific UI AddOns and UI AddOn) the UI property files containing the translations are overwritten by the latest version coming with update. That means all custom adoptions and translations maintained in these files get lost. Translations maintained by standard ABAO means are typically update safe.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues new bundle files might overwrite existing file

X App Update New bundle files overwrite existing files

New App

X Regular Maintenance New bundle files overwrite existing files

e) Caching Mechanisms

When updating SAP Fiori the multiple caches must be invalidated, otherwise data might be inconsistent which will result in white screens or error messages at the end user.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues Cache refresh might be required

X App Update Cache refresh required

New App

X Regular Maintenance Cache refresh required

f) End User Personalization

When updating SAP Fiori it should be ensured that former end user personalization do not get lost. Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues Personalization not touched

App Update Personalization not touched

New App No Personalization maintained yet

Regular Maintenance Personalization not touched

UPDATING SAP FIORI APPLICATIONS

18

Solution / Mitigation a) ICF Configuration

Action only required when introducing a new app: Manual activate the app specific ICF nodes as described in the Application documentation on SAP Help Portal (http://help.sap.com/fiori). The ICF node per app is as well provided in the SAP Fiori Apps Reference Library (http://sap.com/fiori-apps-library App Details View: Configuration SAP UI5 Application).

Figure 10: Activate app specific ICF Service (sample: My Leave Requests)

b) oData Services Action only required when introducing a new app: Manual activate the app specific oData services as described in the Application documentation on SAP Help Portal (http://help.sap.com/fiori). The oData service per app is as well provided in the SAP Fiori Apps Reference Library (http://sap.com/fiori-apps-library App Details View: Configuration oData Services).

Figure 11: Activate app specific oData Service (sample: My Leave Requests)

c) Launchpad Configuration The SAP Fiori Launchpad can be configured in multiple places. All configuration options beside the FioriLaunchpad.html file are update safe. Detailed documentation of the configuration options and parameters are provided as part of the SAP Fiori standard documentation on SAP Help Portal: http://help.sap.com/saphelp_uiaddon10/helpdata/en/98/cb0b6355094b2e91a0e6de030cd4ea/content.htm.

d) Translations

“sap.ca.i18Nconfigs” is used to replace or augment the internationalization strings with strings defined in the custom application. Custom translations must be maintained again after an update. Details on the property files used for translations are provided in the SAP Fiori Extensibility Guide (http://help.sap.com/fiori Extensibility Information for SAP Fiori Extending UI Layer). In addition for activating the new SAP UI5 translation object following SAP Note might be required depending on the SPS level: 1686090 - Translation Object for SAPUI5 (ABAP). Translations of custom tiles, catalogs and groups are done via the standard SAP translation tools and are update safe (SAP Help Portal – Translating Custom Tiles, Catalogs and Groups).

e) Caching Mechanisms

The independent caches on the frontend server require refresh to start from a consistent state. How caches are invalidated is described for each component in a dedicate SAP Note.

o 2017117 - Resetting the gateway metadata cache following UI add-on upgrade o 2029333 - Fiori Launchpad displays no tiles: reset CHIP cache o 1923300 - SAPUI5 Cache Buster for Applications: Outdated text on UI o If custom themes are used the corresponding server cache must be invalidated via the tool

for Customer Themes Maintenance using transaction /UI5/THEME_TOOL. To keep theme caching up to date theme cache tokens should be defined as described in SAP Note 2043817 - UI theme designer for ABAP: Accessing themes via the theme root.

UPDATING SAP FIORI APPLICATIONS

19

Additional troubleshooting hints are provided in this blog on SCN: http://scn.sap.com/docs/DOC-56967. As of SAP UI AddOn SPS10 a Customizing activity is available to invalidate all server-side caches used in SAP NetWeaver user interface services. It is recommended executing this activity after the import of a support package, as the cached data might not match the updated services (http://help.sap.com/saphelp_uiaddon10/helpdata/en/5d/bad3ee1b78427c98eb9fe68999b9a4/content.htm). Related to caching on the frontend server is client side caching challenges which are described in subchapter on devices.

f) End User Personalization

End User Personalization is not touched during an update. The personalization data is kept consistent throughout a user's life cycle, for example, upon deleting users, the personalization data assigned to them is also deleted.

3.4.3 Authorizations Description Authorizations on the Frontend Sever are required for each single app (start authorizations for oData services and for accessing HTML5 based app/UI) and the SAP Fiori Launchpad which is used by all apps as entry point. In addition authorizations for design tools must be provisioned to administrators for configuration tasks. Authorizations are assigned via PFCG roles which contain the relevant technical and business authorization objects. Below figure shows the setup of catalogs, groups and roles in the SAP Fiori Launchpad.

Figure 12: Setup of catalogs, groups and roles in the SAP Fiori Launchpad

Challenge Updating SAP Fiori should not impact existing authorizations. When introducing new apps these should seamless integrate into existing authorization concepts.

Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues Authorizations not touched

X App Update Authorizations not touched

X New App New app must be embedded in existing concept

X Regular Maintenance Authorizations not touched

Solution / Mitigation SAP delivers predefined business roles for users of SAP Fiori apps, which can be used as templates for building custom roles. Business roles provide access to a sample of apps relevant for specific business users. The authorization for each app is included in the business role delivered by SAP. The technical catalogs delivered by SAP can be used as repositories for creation of custom catalogs. All delivered roles, catalogs and groups are specified per app in the SAP Fiori Apps Reference Library (http://sap.com/fiori-apps-library) and the SAP Fiori Apps documentation on SAP Help Portal (http://help.sap.com/fiori). When updating SAP Fiori the catalogs, groups and roles might get extended with new apps and authorizations might be adjusted. The Profile Generator (transaction SU25) allows an administrator to compare old and new authorization default values. Authorization default values are maintained by SAP via transaction SU22 and can be customized by customers via transaction SU24. The result of the comparison

UPDATING SAP FIORI APPLICATIONS

20

conducted by the Profile Generator allows an administrator to adjust the custom authorization concept according the new requirements. The authorizations related to a SAP Fiori App (respective the SAP Gateway service) are in most cases quite stable. That means authorizations typical need only special attention when new apps are introduced.

Figure 13: Profile Generator

3.4.4 Custom Code Description SAP Fiori Apps can be extended on multiple layers: Business Suite, Gateway, HANA, UI, Search Model. Custom enhancements and modifications on the Frontend Server are related to the UI (UI layer) of the application and/or how the data provided by the Backend Server is consumed (Gateway layer). Details on SAP Fiori extensibility are available on SAP Help Portal (http://help.sap.com/fiori). In addition SAP Fiori independent application such as SAP Gateway for Microsoft might run on the Frontend Server as well. Challenge

a) SAP Fiori Extensibility Neither custom enhancements nor modifications should require re-implementation after updating SAP Fiori.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues No action required if extensions are implemented modification-free using the extensibility concept

X App Update No action required if extensions are implemented modification-free using the extensibility concept

New App New app not yet modified

X Regular Maintenance No action required if extensions are implemented modification-free using the extensibility concept

UPDATING SAP FIORI APPLICATIONS

21

b) Custom UI5 Apps and other Applications Custom SAP UI5 application and other solutions independent from SAP Fiori should not be impacted by SAP Fiori Update. This is especially challenging for custom SAP UI5 applications and other solution built on top of the SAP UI AddOn, which is integral part of SAP Fiori as well.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues Potential impact only if SAP UI AddOn and / or SAP Gateway AddOns are updated

App Update

New App

X Regular Maintenance Potential impact only if SAP UI AddOn and / or SAP Gateway AddOns are updated

Solution / Mitigation

a) SAP Fiori Extensibility (only available for SAP Fiori Launchpad Apps) SAP Fiori comes with an extensibility concept (http://help.sap.com/fiori). This includes extension points in each app allowing modification free enhancements. A typical SAP-delivered standard application consists of bootstrap files, views, view controllers, and internationalization files. A custom application extends an SAP-delivered standard application and consists of the bootstrap file Component.js, which extends the Component.js of the SAP standard application, internationalization file, view fragments, views, and view controllers. Modification-free extensions are possible in the following cases:

o View extensions o View modifications o View replacements o Configuration for overriding or extending the navigation routes o Controller extension o Controller replacement o Extending the internationalization (i18n) strings o Overriding or adding OData service URLs

All extension points are documented per App on the SAP Help Portal (http://help.sap.com/fiori) and the SAP App Reference Library (http://sap.com/fiori-apps-library).

Modification-free extensibility of oData services are achieved by using the Redefine Gateway Service function. For more information, see Redefining OData Services (GW).

b) Custom UI5 Apps and other Applications

If a standard SAP Fiori App has been modified not following the extensibility concept, the modifications are overwritten when applying an update. In case modifications have been implemented at a copy of the original app new features will not be automatically available and modifications need to be re-implemented at the new version of the app. Updates of the SAP Product Specific UI AddOns only do not impact custom UI5 app as they are SAP Fiori specific. If the SAP Fiori update includes the SAP UI AddOn it might impact any other solution using the SAP UI AddOn. Nevertheless if these other solution uses SAP UI AddOn public APIs only, updating the SAP UI AddOn should not interfere. The SAP UI AddOn is backwards compatible: a more recent Support Package Stack is compatible to any Support Package Stack shipped before (1971640 - NW UI add-on: Recommendation to installing the most recent SP available). Other Applications running on the Frontend Server but not using the UI AddOns are only impacted when the SAP Fiori update include SAP Gateway or the SAP Application Server ABAP itself. Tools for

identifying potential dependencies between software components are described in chapter ‎3.4.1

Software Components.

UPDATING SAP FIORI APPLICATIONS

22

3.4.5 Tools Description Multiple tools supporting SAP Fiori implementation exists. Some of them, such as Maintenance Optimizer, have already been discussed in chapter Software Components. This chapter will focus on SAP Fiori specific tools on application level. These are SAP Fiori Launchpad Designer, SAP Theme Designer and SAP Web IDE.

a) SAP Fiori Launchpad Designer SAP Fiori Launchpad Designer is a browser-based administration tool that enables an administrator to configure tiles, create groups for the home page, and create catalogs for the tile catalog. For using the Launchpad Designer the dedicated SAP Fiori Launchpad oData services and ICF nodes must be

activated as described in chapter ‎3.4.2 Configurations. The SAP Fiori Launchpad Designer is

designed to optimally work on desktop and runs in MS Internet Explorer 9 and above, Safari, Mozilla Firefox and Chrome. All SAP Fiori apps must be configured upfront, before they are assigned via the SAP Fiori Launchpad Designer. Details are provided on SAP Help Portal via the SAP Fiori Launchpad link (http://help.sap.com/fiori).

b) SAP Theme Designer

The SAP Theme Designer is used across SAP solutions and not for SAP Fiori only (1852400 - UI theme designer (main note)). In context of SAP Fiori it is shipped with the SAP UI AddOn (1852401 - UI Theme Designer for SAP NetWeaver AS ABAP (main SAP Note)) but comes with dedicated documentation (http://help.sap.com/nw-uiaddon/; http://scn.sap.com/docs/DOC-52952) and SAP Notes (1953840 - UI theme designer for ABAP: Support information). The UI theme designer allows a customer to develop custom themes by using an SAP standard theme as the base of the custom theme and making adjustments to it (e.g. change the color scheme, add company's logo, etc.).

Figure 14: Theming Lifecycle

c) SAP Web IDE SAP Web IDE is an extensible development environment with a growing set of embedded tools covering the end-to-end development process. It lets you rapidly design, build, and deploy Fiori-like web applications based on SAPUI5 (http://scn.sap.com/docs/DOC-55465).

d) SAP Fiori Toolkit (deprecated) SAP Fiori toolkit is an Eclipse plug-in that simplifies the standard SAP Fiori app development process and increases developer productivity. The usage of the SAP Fiori Toolkit is deprecated. There will be

UPDATING SAP FIORI APPLICATIONS

23

no further updates/improvements to the SAP Fiori Toolkit. The SAP Web IDE is recommended for creating new Fiori applications or for extending existing applications

Challenge

a) SAP Fiori Launchpad Designer After updating SAP Fiori the SAP Fiori Launchpad Designer should be fully operational and all configurations applied with it still in place.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues Potential impact only if SAP UI AddOn and / or SAP Gateway AddOns are updated

X App Update Check outdated objetcs

New App

X Regular Maintenance Potential impact only if SAP UI AddOn and / or SAP Gateway AddOns are updated

b) SAP Theme Designer After updating SAP Fiori the SAP Theme Designer and themes should be fully operational.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues Only if UI AddOn is updated

App Update Cache refresh might be required

New App

X Regular Maintenance Cache refresh and rebuilt custom themes

c) SAP Web IDE When using the SAP Web IDE on SAP HANA Cloud Platform the customer on premise systems needs to be integrated. To directly deploy custom applications an additional component is required on the Frontend Server. SAP Web IDE uses the latest SAP UI5 versions. When the on premise Frontend Server has not the latest SAP UI5 version deployed, none of the new features should be used during development.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues Only if UI AddOn is updated

App Update

New App

X Regular Maintenance

d) SAP Fiori Toolkit (deprecated) As the SAP Fiori Toolkit is no longer recommended by SAP it is not covered in this document.

Solution / Mitigation

a) SAP Fiori Launchpad Designer SAP Fiori Launchpad Designer is part of the SAP UI AddOn. Any challenges related to the UI AddOn

as described in chapter ‎3.4.1 Software Components might impact the SAP Fiori Launchpad Designer.

The predefined SAP Fiori Launchpad content uses the Web Dynpro configuration as persistence tool. The content is stored in the following scopes: Configuration (system wide), Customizing (client-specific) and Personalization (user specific directly maintained by user in SAP Fiori Launchpad). Changes on catalogs must not be done on the pre-delivered standard catalogs (configuration scope) but on custom copies (customizing scope). By doing so updates do not overwrite customizations. As

UPDATING SAP FIORI APPLICATIONS

24

long as an object is not changed in the copy, changes to the original object are directly reflected in the copy. When new features are delivered customizing catalogs might be highlighted as outdated and the administrator has to decide if the new features should be adapted to the copies as well.

b) SAP Theme Designer

Themes are always based on SAP themes. If the SAP theme on which a custom theme is based was upgraded to a new version with a higher SP stack or patch, rendering issues may occur. To avoid them, the CSS files must be rebuilt. Upgrade safety is not provided for any changes made in the CSS itself (expert mode), only Quick Parameter changes are upgrade safe. If custom CSS are used, manual adjustments after an upgrade or patch might be required. After the SAP Fiori update the Server Cache should be invalidated via the tool for customer themes maintenance using transaction /UI/THEME_TOOL. When updating SAP Fiori keep in mind that SAP Theme Designer might require dedicated SAP Notes to be deployed beside the generic SAP UI AddOn SAP Notes (e.g. see SAP Note 2072730 - UI theme designer for ABAP: Version 1.4.6). A dedicated SAP Note describing all tasks in context of SAP Theme Designer upgrade is currently in development: SAP Note 2119552 - UI Theme Designer Upgrade Guide.

c) SAP Web IDE The SAP Web IDE running on SAP HANA Cloud Platform requires a secure connection to customers on premise system. The SAP HANA Cloud Connector is used for achieving this. For deploying apps from the cloud to the on premise system the SAP UI5 Team Provider need to be installed on the Frontend Server coming with the SAP UI AddOn. To ensure the standard transport mechanisms for the apps following SAP Note must be applied: 2046730 - Call ADT resources via HTTP end point and 1684342 - AiE: Transport check cuts off Transport Key after 40 chars. SAPUI5 is a so-called Release Independent Component (RIC). An important constraint for this is that it must be as simple as possible to upgrade to a newer version. As long as only public API are used for custom development there should be no impact when updating the underlying SAP UI AddOn. Nevertheless it is recommended to keep development and runtime in sync from a SAP UI5 versions perspective. This is achieved by pointing the SAP Web IDE to a dedicated SAP UI5 version in the neo-app.json property file. Detailed information on the SAP Web IDE is published as part of the SAP HANA Cloud Documentation (https://help.hana.ondemand.com/SAP_RDE/frameset.htm?0221845d73ad403ab2852142f3179177.html)

d) SAP Fiori Toolkit (deprecated)

As the SAP Fiori Toolkit is no longer recommended by SAP it is not covered in this document.

3.5 Backend Server In the ABAP back-end server, the SAP Business Suite products are installed, which provide the business logic and the back-end data, including users, roles, and authorizations. The add-ons for the SAP Fiori apps are continuously released in Support Packages. The back-end server is based on SAP NetWeaver Application Server ABAP. 3.5.1 Software Components Description The SAP Fiori related software components required on the Backend Server depend on the release level of the Backend Server. So called principal apps are transactional apps which run on older backend server releases (SAP NetWeaver Release 7.00 or higher but below 7.40 and ECC 600 / SRM 7.00 or higher). Major differences of Principal Apps to Transactional Apps running on latest versions are:

On SAP NetWeaver releases below 7.40 SAP Gateway software component SAP IW_BEP requires a dedicated deployment. SAP NetWeaver 7.40 already includes software component Gateway Foundation SAP_GWFND, which is a prerequisite for running oData services.

UPDATING SAP FIORI APPLICATIONS

25

oData services are delivered via integration AddOns per app on former releases and not as part of backend Support Package Stacks as with SAP Business Suite 7i2013

Details on the different SAP Fiori packaging principles are provided in the SAP Fiori Packaging Guide (https://scn.sap.com/docs/DOC-59342).

Figure 15: Backend Server (former release) Figure 16: Backend Server (most recent release)

Challenge When updating SAP Fiori impacts on the Backend Server should be at a minimum. The business processes running on the Backend Server must not be impacted by SAP Fiori deployments and updates.

a) Backend Server oData services (Integration AddOns) For the recent Backend Server release (SAP Business Suite 7i2013) the required oData services are already included in the standard support package stacks. Former releases require dedicated oData Integration AddOns. Configuration and deployment of these oData services should not affect the core business processes.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues Only when backend oData services are affected

X App Update UI product versions have a logical dependency to SP stack of the backend product version

X New App UI product versions have a logical dependency to SP stack of the backend product version; Principal Apps require dedicated oData Integration AddOns per app

X Regular Maintenance UI product versions have a logical dependency to SP stack of the backend product version

b) SAP Gateway enabling component (IW_BEP or IW_FND)

For enabling the communication between Backend and Frontend Server the SAP Gateway enabling component is required on the backend server. SAP NetWeaver 7.40 already includes component IW_FND. Former releases require a dedicated deployment of SAP IW_BEP. Dependencies between SAP Gateway server component on frontend server and SAP Gateway enabling component on the backend server must be reduced to a minimum.

Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues

App Update

New App

X Regular Maintenance SAP recommends usage of latest version

c) Logical Dependencies

The SAP Fiori UI product versions have a logical dependency to a particular SP stack of the backend product version. When updating SAP Fiori customers must be aware of these dependencies.

Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues In most cases done on component level

X App Update UI product versions have a logical dependency to SP

UPDATING SAP FIORI APPLICATIONS

26

stack of the backend product version

New App Only if update of existing products is required

X Regular Maintenance UI product versions have a logical dependency to SP stack of the backend product version

Solution / Mitigation

a) Backend Server oData services (Integration AddOns) By decoupling UI rendering logic and business processes into Frontend and Backend Server dependencies between frontend and backend components have been reduced to a minimum. As this guide focus on SAP Fiori updates it is assumed that all required cross components are already deployed and only app specific components might be required when introducing new apps. This is only true for former backend releases where oData services are delivered as integration AddOns per app. This means when introducing a new app the according oData integration AddOn needs to be deployed on the Backend Server. Nevertheless this integration AddOn is non-modifying and does not affect implemented business processes. In case of backend upgrades, the integration component remains unchanged. When the backend is upgraded to the latest Suite release (for example, ERP EhP7), these integration components are merged into the standard backend SPS. Details on the required oData Integration AddOns / Support Package Stacks are provided in SAP Fiori Standard Documentation (http://help.sap.com/fiori) and SAP Fiori App Reference Library (http://sap.com/fiori-apps-library). If the corresponding backend application component is not yet on the required SPS an update of the backend system is necessary.

b) SAP Gateway enabling component (IW_BEP or IW_FND)

Even on former backend releases, where SAP IW_BEP requires a dedicated deployment, SAP Gateway components on frontend and backend server can be upgraded independently (1830198 - SAP NW Gateway: Dependencies Between IW_BEP and IW_FND). Nevertheless it is strongly recommended by SAP to use the latest available version of SAP Gateway components when upgrading a system.

c) Logical Dependencies

For identifying logical dependencies between frontend and backend server components SAP

Landscape Planner must be used. In addition the tools described in chapter ‎3.4.1 Software Components (SAP Innovation Discovery, SAP Fiori App Reference Library, SAP Maintenance Optimizer, SAP Fiori Standard Documentation) are providing as well information on backend server software components. SAP recommends applying the complete Support Package Stack of SAP Fiori Principal Apps. Nevertheless depending on SP stack level it is supported as well to update the SP stack only the frontend or on the backend server. Find details in the release notes per app bundle which are linked from the SAP Fiori App reference library (e.g. 1930165 - Release Information Note: SAP Fiori principal apps for SAP ERP 1.0). SAP strongly recommends using SAP Solution Manager to identify & implement the required SPs. The Solution Manager - Maintenance Optimizer (MOPz) provides the option to automatically calculate the recommended SPs levels and add them to the related download basket. It provides a combined import queue that includes the Enhancement Package SPs as well as the required SAP ERP 6.0 SP Stack components

3.5.2 Configurations Description SAP Fiori builds on top of already implemented business processes of SAP Business Suite. For transactional apps and fact sheets, data and services from the ABAP back-end server are provided to the ABAP front-end server by using OData services. For communication between the ABAP front-end server and the ABAP back-end server, a trusted RFC connection is established. This guide focus on SAP Fiori Updates only and therefore assumes that all required backend server configuration has already been done initially -see SAP Fiori Standard Documentation (http://help.sap.com/fiori) and SAP Fiori Quick Guide (http://service.sap.com/~sapidb/012002523100011778012014D). SAP Fiori Updates does not impact the existing configuration. Nevertheless, when introducing new apps or updating existing apps a few topics such as caching should be considered for the backend as well.

UPDATING SAP FIORI APPLICATIONS

27

Challenge a) Caching

SAP Gateway enabling component on the Backend Server caches data as well. After SAP Fiori update the cache should be invalidated for assuring consistency.

Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues

X App Update

New App

X Regular Maintenance

b) oData Services

On the backend server for each SAP Fiori App dedicated oData services exists. These should be fully functionally after an update and need to be deployed/configured when introducing new apps.

Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues

App Update

X New App

Regular Maintenance

Solution / Mitigation

a) Cache Clear cache via transaction /IWBEP/CACHE_CLEANUP manually or configure regular clean up jobs (SAP Gateway Tips & Tricks on SCN - http://scn.sap.com/community/developer-center/netweaver-gateway/blog/2013/07/18/nw-gateway-tips-tricks)

b) oData services In case of the recent SAP Business Suite release the relevant oData services on the backend server are already shipped as part of the support package stacks. Former releases require a dedicated deployment of the oData Integration AddOns per app. For new apps the according authorizations must be assigned.

3.5.3 Authorizations Description Enabling an end user to work with SAP Fiori Apps assigned to him on the Frontend Server the user requires three types of authorizations on the backend server:

a) RFC Authorizations

Frontend and Backend Server communicate via RFC. SAP Fiori user require authorizations S_RFC

and S_RFCACL for trusted RFC

b) oData PFCG roles

For each app dedicated oData services exist. The according oData service authorizations must be assigned to SAP Fiori Users.

c) Business Authorizations SAP Fiori provides a new UI for existing business processes. SAP Fiori users require according business authorizations

Challenge

a) RFC Authorizations RFC Authorizations are applied once. When updating SAP Fiori no actions are required.

UPDATING SAP FIORI APPLICATIONS

28

Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues

App Update

New App

Regular Maintenance

b) oData PFCG Roles oData service authorizations must be assigned when introducing new apps. No actions are typically required for existing apps without custom modifications (custom oData services). In seldom cases new features of an app might require additional oData services, which require the according authorizations. Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues

App Update Only if new app version comes with new oData services

X New App Authorizations for oData service related to new app

Regular Maintenance

c) Business Authorizations

No actions are required regarding SAP Fiori Update. When new apps are introduced and a user has not yet the according business authorizations these must be assigned. Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues

App Update

New App Only if the user is new to the business process

Regular Maintenance

Solution / Mitigation

a) RFC Authorizations n.a.

b) oData PFCG roles For each app, a dedicated authorization role (PFCG role) is delivered containing the respective OData service authorization for the back-end server. This delivered role serves as an example. To grant users access to an app, you have to assign each of them to the respective role on the back-end server by integrating it into your existing backend role model. Multiple OData service authorizations can be bundled in a dedicated authorization role. For example, you can include the OData service authorizations for all HCM apps based on the technical catalog for HCM. As described for authorizations on the frontend server the Profile Generator (transaction SU25) should be used to compare old and new authorization default values.

c) Business Authorizations n.a.

3.5.4 Custom Code Description Custom code in the backend is needed when additional data, not yet provided by the standard app, or extended business functionality is required. This means either a SAP Fiori Standard App is extended or a custom SAP Fiori App developed.

UPDATING SAP FIORI APPLICATIONS

29

a) Extend Standard SAP Fiori App In many SAP Fiori standard implementations the business processes on the backend server are already implemented. When this is done without modifications no custom coding is necessary for SAP Fiori as well. When the SAP Standard business processes have been modified according adoption of the SAP Fiori Apps are necessary. These might be custom oData services in the backend only, but includes in most cases custom enhancements on all layers.

b) Custom SAP Fiori App SAP Fiori Principles, Design and Technology can be applied to custom apps as well. For a custom Fiori app besides the business logic custom service interfaces exposing the data to the frontend server are required on the backend server.

Challenge

a) Extend Standard SAP Fiori App Custom extensions should not be overwritten when updating SAP Fiori Backend Server components. Relevance in context of update scenarios

Relevance Scenario Comment

X Fixing Product Issues Only when oData Integration AddOn / SPS updated

X App Update Only when oData Integration AddOn / SPS update

New App oData Integration AddOn per app

X Regular Maintenance Only when oData Integration AddOn / SPS update

b) Custom SAP Fiori App

The custom SAP Fiori App should not be impacted when updating SAP Fiori Backend Server components. Relevance in context of update scenarios

Relevance Scenario Comment

Fixing Product Issues Custom oData services and authorization roles

App Update Custom oData services and authorization roles

New App Custom oData services and authorization roles

Regular Maintenance Custom oData services and authorization roles

Solution / Mitigation For extending SAP Fiori Standard Apps multiple extensibility options are provided on the frontend server –

see ‎3.4.4 Custom Code. Modifications on the backend server often require adoptions on the frontend server.

On the backend server no SAP Fiori specific tools or concepts are provided, but standard ABAP development principles and tools used (e.g. dedicated BAdIs used in SAP Fiori context).

a) Extend Standard SAP Fiori App In SAP Fiori architecture with SAP Gateway Hub Deployment Gateway services are developed directly on the backend server. Standard SAP Fiori services, shipped as oData Integration AddOns (releases below SAP NetWeaver 7.40) or with standard support package stacks (SAP NetWeaver 7.40), can be extended modification free by redefining the existing oData services via the Service Builder (SAP Help Portal – Redefining oData Services). When standard services are modified manual these modifications need to be re-implemented after an update. If custom Gateway services have been developed and are accessed by an extended standard SAP Fiori App no actions are required on the backend server after an update, but only on the frontend server.

b) Custom SAP Fiori App The custom code on the backend server is not influenced by an SAP Fiori update, as long as no Gateway services delivered via a standard SAP Fiori App are used.

UPDATING SAP FIORI APPLICATIONS

30

4 APPENDIX

4.1 List of references 4.1.1 Overview and Guides

What is SAP Fiori? - http://scn.sap.com/docs/DOC-41598

SAP Fiori Packaging - https://scn.sap.com/docs/DOC-59342

SAP Fiori Apps – Quick Guide - http://service.sap.com/~sapidb/012002523100011778012014D

SAP Fiori for SAP Business Suite - http://help.sap.com/fiori

SAP Fiori Products - http://help.sap.com/fiori_products

SAP Fiori Deployment Options - http://help.sap.com/fiori_bs2013/helpdata/en/4c/ca4152fc94b610e10000000a44176d/content.htm

Migration of SAP Fiori Apps from SAP Fiori 1.0 to SAP Fiori Apps based on SAP Fiori Launchpad - http://scn.sap.com/docs/DOC-55889

1949366 - Bereitstellung von SAP-Fiori-Apps über das Internet

2062518 - General Information: FIORI UI Infrastructure Components Q4/2014

2062465 - General Information: FIORI SAP Gateway 2.0 Q4/2014 4.1.2 Tools

SAP UX Explorer - https://uxexplorer.hana.ondemand.com/

SAP Innovation Discovery - http://service.sap.com/innovation-discovery

SAP Landscape Planner - http://www.service.sap.com/sap/support/lp/ui

SAP Fiori App Reference Library - http://sap.com/fiori-apps-library

SAP Product Availability Matrix (PAM) - https://support.sap.com/release-upgrade-maintenance/pam.html

UI Theme Designer Developer Center - http://scn.sap.com/docs/DOC-52952

SAP UI Theme Designer - http://scn.sap.com/docs/DOC-52952

SAP Web IDE – Enablement - http://scn.sap.com/docs/DOC-55465

SAP HANA Cloud Documentation – SAP Web IDE - https://help.hana.ondemand.com/SAP_RDE/frameset.htm?0221845d73ad403ab2852142f3179177.html

1852400 - UI theme designer (main note)

1852401 - UI Theme Designer for SAP NetWeaver AS ABAP (main SAP Note)

2072730 - UI theme designer for ABAP: Version 1.4.6

1953840 - UI theme designer for ABAP: Support information

1906793 - FAQ: UI Theme Designer for SAP NetWeaver AS ABAP

2043817 - UI theme designer for ABAP: Accessing themes via the theme root (Cache handling)

2119552 - UI Theme Designer Upgrade Guide (as of January 2015 not yet available for customers)

2046730 - Call ADT resources via HTTP end point

1684342 - AiE: Transport check cuts off Transport Key after 40 chars. 4.1.3 Device / Browser / Mobile

SAP Fiori Client: iTunes, Google play

SAP Fiori Client Documentation- http://help.sap.com/fiori-client

SAP Fiori Client in SAP Mobile Platform - http://help.sap.com/saphelp_smp305sdk/helpdata/en/b2/99923cc0b94400acab320c812cc026/content.htm

SAP Mobile Secure - http://help.sap.com/afaria-cloud/

SAP Afaria 7 SP5 On Premise - http://help.sap.com/afaria7sp5/

1728946 - Browser: Browser Support Strategy for NetWeaver

1716423 - SAPUI5 Browser Support

1935915 - Fiori for Business Suite: Browser / Devices / OS Information

2043432 - Browser cache is not invalidated after version or patch update of SAP Fiori components

2075016 - SAPUI5 Applications: No need to clear the Browser Cache manually and Customizing of HTTP Response Headers

UPDATING SAP FIORI APPLICATIONS

31

4.1.4 SAP Product Specific UI AddOns

Deinstalling ABAP AddOns - http://scn.sap.com/people/karin.spiegel/blog/2014/08/20/deinstalling-abap-add-ons-yes-you-can

2034588 - Deinstallation FIORI I UI Softwarekomponenten

1930165 - Release Information Note: SAP Fiori principal apps for SAP ERP 1.0

1914499 - Release Information Note: UI FOR EHP7 FOR SAP ERP 6.0

1914501 - Release Information Note: UI FOR EHP3 FOR SAP CRM 7.0

1928934 - Release Information Note: UI FOR SAP PORTF PROJ MGMT 6.0

1914502 - Release Information Note: UI FOR EHP3 FOR SAP SRM 7.0

1931160 - Release Information Note for SAP Fiori Approve Requests 4.1.5 SAP UI AddOn

SAP UI AddOn - http://help.sap.com/nw-uiaddon/

What’s new in SAP Fiori Launchpad - http://help.sap.com/saphelp_uiaddon10/helpdata/en/5d/bad3ee1b78427c98eb9fe68999b9a4/content.htm

SAP Fiori Launchpad Troubleshooting - http://scn.sap.com/docs/DOC-56967

SAP Fiori Launchpad Configuration - http://help.sap.com/saphelp_uiaddon10/helpdata/en/98/cb0b6355094b2e91a0e6de030cd4ea/content.htm

Running Standalone Application - http://help.sap.com/saphelp_uiaddon10/helpdata/en/53/7758e0deb0477386ea400c915073b3/frameset.htm

UI Theme Designer Developer Center - http://scn.sap.com/docs/DOC-52952

SAP UI Theme Designer - http://scn.sap.com/docs/DOC-52952

SAP UI Development Toolkit for HTML – Demo Kit - https://sapui5.netweaver.ondemand.com/sdk/#content/Overview.html

Translating Custom Tiles, Catalogs and Groups - http://help.sap.com/saphelp_uiaddon10/helpdata/en/4c/9eb085d3884bdca468d7ec284be2e2/content.htm

SAP Help Portal: Activate ICF Services for SAP Fiori Launchpad - http://help.sap.com/fiori_bs2013/helpdata/en/d7/383953fcabff4fe10000000a44176d/content.htm

(SAP Help Portal – Activate ICF Services of UI5 Application - http://help.sap.com/fiori_bs2013/helpdata/en/0e/263e53a97fe547e10000000a441470/content.htm

1759682 - UI Add-On for SAP NetWeaver: Central Note

1666367 - Release strategy for UI add-on 1.0 for SAP NetWeaver

1931157 - General Information: UI Infrastructure Components

1971640 - NW UI add-on: Recommendation to installing the most recent SP available

1666368 - Installing UI add-on 1.0 for SAP NetWeaver

1666369 - Support Packages for the UI add-on 1.0 for SAP NetWeaver

1686090 - Translation Object for SAPUI5 (ABAP)

2029333 - Fiori Launchpad displays no tiles: reset CHIP cache

1923300 - SAPUI5 Cache Buster for Applications: Outdated text on UI

1852400 - UI theme designer (main note)

1852401 - UI Theme Designer for SAP NetWeaver AS ABAP (main SAP Note)

2072730 - UI theme designer for ABAP: Version 1.4.6

1953840 - UI theme designer for ABAP: Support information

1906793 - FAQ: UI Theme Designer for SAP NetWeaver AS ABAP

2043817 - UI theme designer for ABAP: Accessing themes via the theme root (Cache handling) 4.1.6 SAP Gateway

SAP Gateway Tips & Tricks - http://scn.sap.com/community/developer-center/netweaver-gateway/blog/2013/07/18/nw-gateway-tips-tricks

Redefining OData Services (GW) - http://help.sap.com/fiori_bs2013/helpdata/en/e3/cf9c0e0b234be08f0b4ae4a0af16f6/frameset.htm

2017117 - Resetting the gateway metadata cache following UI add-on upgrade

UPDATING SAP FIORI APPLICATIONS

32

1830198 - SAP NW Gateway: Dependencies Between IW_BEP and IW_FND

1931156 - General Information: SAP Netweaver Gateway 2.0

1995693 - General Information: FIORI SAP Netweaver Gateway 2.0 Q2/2014

2027160 - General Information: FIORI SAP Netweaver Gateway 2.0 Q3/2014

2062465 - General Information: FIORI SAP Gateway 2.0 Q4/2014 4.1.7 SAP Business Suite

1830198 - SAP NW Gateway: Dependencies Between IW_BEP and IW_FND 4.2 SAP Fiori Wave 1 (Fiori Launchpage) Migration The 25 apps originally delivered with the SAP Fiori 1.0 (based on SAP Fiori launch page) have been redeveloped to run on the new SAP Fiori launchpad. Only the UI layer of the apps has been redeveloped. The back-end OData services used in SAP Fiori 1.0 are used for SAP Fiori principal apps as well. This means the update from SAP Fiori Wave 1 (Launchpage) to a recent SAP Fiori versions is a special case. The guide “Migration of SAP Fiori Apps from SAP Fiori 1.0 to SAP Fiori Apps based on SAP Fiori Launchpad” published on SAP Community Network (http://scn.sap.com/docs/DOC-55889) provides details on how to migrate from SAP Fiori Launchpage based apps to SAP Fiori Launchpad based apps. SAP Fiori Wave 1 is based on dedicated app specific UI AddOns, which are not used in later versions. These AddOns should be deleted after the migration. Deletion of ABAP AddOns in general are described in following blog on SCN: http://scn.sap.com/people/karin.spiegel/blog/2014/08/20/deinstalling-abap-add-ons-yes-you-can. Specific information on deinstalling SAP Fiori UI AddOns is provided in following SAP Note: 2034588 - Deinstallation FIORI I UI Softwarekomponenten. Due to the changes in SAP Fiori UI Architecture some solutions mentioned in this document are not applicable to SAP Firoi Wave 1 migration scenarios. These are in particular:

Device: Browser and Mobile Clients The custom BAdI development for cache devalidation (2075016 - SAPUI5 Applications: No need to clear the Browser Cache manually and Customizing of HTTP Response Headers) positioned as a solution for devalidating browser caches automatically requires SAP NetWeaver 7.30. Further the SAP Fiori Client and Kapsel SAP Fiori Plugin of SAP Mobile SDK only support SAP Fiori Launchpad Apps.

Frontend Server: Software Components The listed tools include SAP Fiori Launchpad Apps only, not SAP Fiori Wave 1 Apps. In SAP Fiori Wave 1 UI AddOns had been shipped per app and not bundled in SAP Product Specific UI AddOns.

Frontend Server: Configurations All Launchpad related configurations (e.g. caching, icf configurations, personalization, etc.) are not relevant for SAP Fiori Wave 1 Apps.

Frontend Server: Authorizations The concepts of catalogs and groups do not apply to SAP Fiori Wave 1 Apps.

Frontend Server: Custom Code SAP Fiori extensibility is not available for SAP Fiori Wave 1 Apps. That means modification free enhancements are not possible. When updating the custom enhancements need to be re-implemented using the SAP Fiori Extensibility Concept.

Frontend Server: Tools SAP Theme Designer can be used for SAP Fiori Wave 1 apps, but all other tools mentioned (e.g. SAP Web IDE, SAP Fiori Launchpad Designer, etc.) support only later versions.

4.3 Maintenance Optimizer - Correction of installed software information (CISI) Description SAP Fiori updates leverages the existing Software Logistic Toolset (1563579 - Central Release Note for Software Logistics Toolset 1.0). It is strictly recommended using Maintenance Optimizer and according tools for updating SAP Fiori. Many processes in application lifecycle management rely on information of the current state of an SAP technical system (1877731 - Installed Software Information (ISI) ): These are maintenance, update (including EHP installation), and upgrade, most importantly.

UPDATING SAP FIORI APPLICATIONS

33

Challenge Inconsistencies or wrong data might prevent usage of the tools and require manual actions for cleaning. Wrong installed software information must be corrected at the source, on the technical system itself. It is not sufficient to delete the information in the SLD or in the LMDB of SAP Solution Manager. Solution / Mitigation Correct the installed software information information with Software Update Manager (SUM) according SAP Note 1816146 - Correction of installed software information (CISI).

www.sap.com

© 2014 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. Please see http://www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.