Uploaded by tim.lin

Fiori Troubleshooting

advertisement
Troubleshooting Tips and Tricks
Fiori for S/4HANA
Jorge “Javier” Baltazar
November 2017
Fiori for S/4HANA
Troubleshooting Tips and Tricks
Fiori Troubleshooting:
➢
•
Learn the basics
•
Most Common Errors – Examples
•
Authorizations – CDS views
•
Identify what’s being consumed by the services
•
Enterprise Search
•
Webdispatcher
•
Webdynpro
•
WebGUI
•
Always remember these facts and transactions
Fiori Performance
➢
•
Tips and Tricks
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
2
Fiori Troubleshooting
Learn the basics
Learn the basics
Fiori Integration Flow
NW 7.5x
RFC
NW 7.5x
SAP
Backend
SAP
Frontend
HTTP(S)
UI5 Add-ons
Web
dispatcher
HTTP(S)
HTTP(S)
Webdynpro & ESH
HDB
Intranet
DMZ
▪ SAP Backend contains RFC functions, Odata Models, CDS Views
and Webdynpro objects.
▪ These development objects contain the business logic to perform
any business function in SAP.
▪ Frontend server consumes these objects and exposes them through
web services.
▪ Frontend server consumes web services by implementing a UI layer
based on Html5, javascript, xml.
▪ Exposes UI layer web services
for remote access through
public internet
▪ Handles cross-domain requests
▪ URL redirect, filtering,
rewriting
▪ Can connect to the
backend or frontend
▪ Masks internal server names
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Internet
▪ Consume apps
4
Learn the basics
Understand the S/4HANA ABAP Programming Model for Fiori
Fiori Launchpad
User Interface
(Fiori)
OData Service
Application
(ABAP | CDS)
Database Table
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
SAP Fiori
is a collection of apps with a simple and easy-touse experience for broadly used SAP software
functions that work seamlessly across devices –
desktop, tablet, and smartphone.
OData (Open Data Protocol)
is an OASIS standard that defines the best practice
for building and consuming RESTful APIs.
CDS (Core Data Services)
CDS is an enhancement of SQL which provides a
data definition language (DDL) for defining
semantically rich database tables/views (CDS
entities) in the database. The enhancements
include annotations, associations, and expressions
5
Learn the basics
U Understand the S/4HANA ABAP Programming Model for Fiori
Fiori Launchpad
User Interface
(Fiori)
Rendering errors
Wrong app routing
Wrong app navigation
Missing tiles
Missing Frontend Authorizations
High UI load times
OData Service
Application
(ABAP | CDS)
Database Table
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
6
Learn the basics
Understand the S/4HANA ABAP Programming Model for Fiori
Fiori Launchpad
User Interface
(Fiori)
Inactive OData services
OData Service
Inactive CDS views (DCL, DDL)
ABAP coding error
Inactive ABAP objects
Application
(ABAP | CDS)
Inactive Business Functions
Missing / Wrong Functional configurations
Missing Backend Authorizations
High OData response times
Database Table
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
7
Learn the basics
Understand the S/4HANA ABAP Programming Model for Fiori
Fiori Launchpad
User Interface
(Fiori)
OData Service
Application
(ABAP | CDS)
Data inconsistencies
Database Table
Errors in data replication
No data
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
8
Learn the basics
How to start a troubleshooting session?
1.
Always start by reviewing available
information in Fiori Apps Library
You need to obtain:
✓ Frontend/Backend Role
✓ Business Catalog/Group
✓ Application Type (UI5, Webdynpro, WebGUI)
✓ ICF Nodes
✓ Search Connectors
✓ Mandatory SAP Notes
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
9
Learn the basics
How to start a troubleshooting session?
2.
As a minimum prerequisite you must assign the required roles to the analysis user.
3.
Log on to Fiori Launchpad and identify the object that is causing the error.
4.
Open the browser’s “Developer Tools”
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
10
Learn the basics
How to start a troubleshooting session?
5.
Once the “Developer Tools” are open, clear the “Developer Tools” logs and do a webpage
refresh as you will notice errors that may not correspond to the context of your app.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
11
Learn the basics
How to start a troubleshooting session?
6.
With the logs cleared, try to replicate the error conditions.
Tip:
Always check the Network and Console
section of the “Developer Tools”, they will
offer valuable details of the error.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
12
Learn the basics
How to start a troubleshooting session?
7.
In the console area, analyze the error texts…
Might not look like, but the error tells us a lot:
OData call error in service:
OData collection/entity:
OData operation:
Preliminary analysis:
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
ISU_BI_OUTSRTD_RESOLVE
C_OutsrtUtilsBillgDoc
Count
OData service is not active or configuration is missing, additionally a CDS view may be involved
13
Learn the basics
How to start a troubleshooting session?
8.
In the network area select the entry in red, navigate to the preview tab and expand the error
details to find the “Error Message”.
By reading the error message we can understand that there is a missing system alias assignment for service
ISU_BI_OUTSRTD_RESOLVE, this confirms our preliminary analysis.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
14
Learn the basics
How to start a troubleshooting session?
9.
Perform corrective measures…
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
15
Learn the basics
How to start a troubleshooting session?
10.
Test and validate behaviour.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
16
Learn the basics
How to start a troubleshooting session?
11.
Troubleshooting never stops…
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
17
Learn the basics
How to start a troubleshooting session?
12.
Repeat steps 4-10
Preliminary analysis:
SICF node is not active
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
18
Learn the basics
How to start a troubleshooting session?
12.
Keep troubleshooting…
In this scenario we know there is no data
in the system so troubleshooting is
finished
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
19
Fiori Troubleshooting
Most Common Errors – Examples
Most Common Errors – Examples
Clearing Cache
In Fiori application, there is a persistence layer that uses caching mechanism. To begin every
troubleshooting session, recommendation is to “Always clear the cache”
– Clear Metadata Cache:
▫ Transaction /IWFND/CACHE_CLEANUP on Frontend Server
▫ Transaction /IWBEP/CACHE_CLEANUP on Backend Server
– Synchronize Chip Cache (Frontend):
▫ Run report: /UI2/CHIP_SYNCHRONIZE_CACHE
▫ Run report: /UI2/DELETE_CACHE_AFTER_IMP or /UI2/DELETE_CACHE
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
21
Most Common Errors – Examples
OData Services not active
Hint: Error loading tiles, error “403”
Resolution Steps:
– Use task list
“SAP_GATEWAY_ACTIVATE_OData_SERV
to activate missing service
Manual Step:
– Transaction /n/IWFND/MAINT_SERVICE
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
22
Most Common Errors – Examples
OData Services not active
Hint: Factsheet is not displayed, error
“403”
Resolution Steps:
– Use task list
“SAP_GATEWAY_ACTIVATE_OData_SERV
to activate missing service
– SICF service will get activated as part of the
task list
Manual Step:
– Transaction /n/IWFND/MAINT_SERVICE
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
23
Most Common Errors – Examples
OData Services not active
Hint: OData call error, “No service
found for namespace”
Resolution Steps:
– Use task list
“SAP_GATEWAY_ACTIVATE_OData_SERV to
activate missing service
– SICF service will get activated as part of the
task list
Manual Step:
– Transaction /n/IWFND/MAINT_SERVICE
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
24
Most Common Errors – Examples
Backend Authorization Issue
Hint: Request failed, error “500”
Resolution Steps:
– In the backend server, the S_RFCACL
authorization object is missing in the user
– Logon to backend server and assign the
authorization object to the end user
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
25
Most Common Errors – Examples
Web Dynpro and/or Web Gui
Hint: Launchpad Designer,
“Reference lost”
Resolution Steps:
– Logon to frontend server and run
program
/UI2/GET_APP_DESCR_REMOTE
– Run for Catalog ID in test mode
– Run for Catalog ID in non test mode
2269272 - "Reference Lost" Error for
FLP Tiles after applying new UI
component version http://service.sap.com/sap/support/no
tes/2269272
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
26
Fiori Troubleshooting
Authorizations – CDS Views
Fiori Troubleshooting
Authorizations – CDS Views
Starting in S/4HANA 1511 many Fiori Applications make use of Service Adaptation Definition Language
(SADL) based OData services in order to consume and expose CDS views
SADL models are entities that are used in business applications – for example, business objects, database
tables, search views.
A SADL model is a data model like:
▪ DDIC tables or views
▪ CDS
▪ BOPF
The authorization enforcement in this process is interposed between query specification by application or end
user and data retrieval from the database
Blog: Fiori for S/4HANA – Troubleshooting Authorization concept in SADL based OData Services
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
28
Fiori Troubleshooting
Authorizations – CDS Views
1.
Identify the OData request
executed by the app using
your browser’s developer
tools. In this example:
OData Service:
MM_PUR_PO_MAINTAIN
Collection: POHeaderLists
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
29
Fiori Troubleshooting
Authorizations – CDS Views
2.
Based on the collection, try
to identify if the ABAP code
implements SADL
Navigate to the implementation
class using transaction
/IWFND/MAINT_SERVICE,
select the required service and
click in the “Service
Implementation” button.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
30
Fiori Troubleshooting
Authorizations – CDS Views
3.
Once the service details are
displayed, double click on
the “Data Provider Class”
name.
Try to identify any reference to
CDS coding.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
31
Fiori Troubleshooting
Authorizations – CDS Views
4.
Once you confirm that the
OData service consumes a
CDS view navigate to
transaction SEGW and
identify the associated CDS.
In this example:
C_PURORDMAINTAINHEADER
LIST
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
32
Fiori Troubleshooting
Authorizations – CDS Views
5.
Using ADT, find the required
CDS view and open the
“Access Control” object.
In this example:
C_PURORDMAINTAINHEADER
LIST
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
33
Fiori Troubleshooting
Authorizations – CDS Views
6.
The “Access Control” object
will display the required
authorization objects.
In this example:
C_PURORDMAINTAINHEADER
LIST
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
34
Fiori Troubleshooting
Authorizations – CDS Views
7.
In transaction PFCG
generate a new role with the
required authorization
objects.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
35
Fiori Troubleshooting
Authorizations – CDS Views
8.
In transaction SACM use the
Runtime Simulator. Enter the
name of the CDS view you
wish to test and the user
whose authorizations need
to be checked.
Tip:
You can skip steps 5–7 and jump directly
to transaction SACM to identify the
required authorization objects
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
36
Fiori Troubleshooting
Authorizations – CDS Views
9.
When you run the simulator
you will notice the required
authorization objects and the
values used for the query
execution
Notice that a result list will be
displayed and you will be able to
identify any clashing
authorization definitions .
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
37
Fiori Troubleshooting
Identify what’s being consumed by the
services
Fiori Troubleshooting
Identify what’s being consumed by the services
The first step to troubleshoot an OData service is to
identify which objects will be consumed by the service.
However, not all OData services are the same, we can
classify them depending on the artifacts they consume:
➢ Enterprise Search
➢ CDS view
➢ ABAP
Depending on the objects that are being consumed you
will need to define the troubleshooting path.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
39
Fiori Troubleshooting
Identify what’s being consumed by the services
Enterprise Search
You can easily find them as the technical name of the service starts with prefix: “CB_”
1
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
40
Fiori Troubleshooting
Identify what’s being consumed by the services
Enterprise Search
2
3
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
41
Fiori Troubleshooting
Identify what’s being consumed by the services
Enterprise Search
4
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
42
Fiori Troubleshooting
Identify what’s being consumed by the services
CDS
There are two ways to identify these type of services.
The first one, when the technical name of the service starts with prefix: “C_” and ends with suffix:
“_SRV”
1
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
43
Fiori Troubleshooting
Identify what’s being consumed by the services
CDS
2
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
3
44
Fiori Troubleshooting
Identify what’s being consumed by the services
CDS
4
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
45
Fiori Troubleshooting
Identify what’s being consumed by the services
CDS
There are two ways to identify these type of services.
The second one, when the technical name of the service starts with prefix: “C_” and ends with
suffix: “_CDS”
1
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
46
Fiori Troubleshooting
Identify what’s being consumed by the services
CDS
2
Tip:
This implies that the OData services was
generated using the annotation
“@OData.publish: true”
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
47
Fiori Troubleshooting
Identify what’s being consumed by the services
ABAP
Easiest to identify, technical service name does not start with “C_” or “CB_”
1
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
48
Fiori Troubleshooting
Identify what’s being consumed by the services
ABAP
2
3
Tip:
Note that an entity (collection) in this type
of service may end up consuming a CDS
view. This will depend on how the service
model was defined.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
49
Fiori Troubleshooting
Identify what’s being consumed by the services
ABAP
4
Tip:
Add an “External Breakpoint” to the code
to perform debugging sessions
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
50
Fiori Troubleshooting
Enterprise Search
Fiori Troubleshooting
Enterprise Search
Transaction STC02:
– During the configuration of task list, transaction STC01 was used to execute each task lists from the configuration
guide.
– If for some reason, you logoff after saving a task list run, you can go back and modify a save task list run with
transaction STC02 to search for it.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
52
Fiori Troubleshooting
Enterprise Search
Easiest way to troubleshoot enterprise search is by using transaction: ESH_TEST_SEARCH
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
53
Fiori Troubleshooting
Enterprise Search
Easiest way to troubleshoot enterprise search is by using transaction: ESH_TEST_SEARCH
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
54
Fiori Troubleshooting
Webdispatcher
Fiori Troubleshooting
Webdispatcher
To troubleshoot Webdispatcher you need OS access or a Webdispatcher Visual Administration user.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
56
Fiori Troubleshooting
Webdispatcher
Check Configuration Profile (OS level only)
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
57
Fiori Troubleshooting
Webdispatcher
Analyze Webdispatcher Logs (OS level)
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
58
Fiori Troubleshooting
Webdispatcher
Analyze Webdispatcher Logs (Visual Administration)
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
59
Fiori Troubleshooting
Webdynpro
Fiori Troubleshooting
Webdynpro
General Steps:
1.
Make sure you are using a supported browser based on the backend
system's SP level: Browser supporting
2.
While running a debugging session, make sure the webdynpro content
calls are being redirected to the backend server. An important number of
issues are caused by incorrect url dispatching.
3.
Check the Common Issues, maybe it is already a known problem.
4.
Run the webdynpro application without any outer framework (Portal,
NWBC) and check if the issue persists that way.
•
5.
Look for notes using the keywords provided in the dump, or using the
class and method involved in the application.
•
•
6.
2083790 - How to test a function outside NWBC environment
How to find a solution for short dumps from ST22
If no relevant results are displayed, run a new search removing the filter by
component.
Check the WDABAP Home page for other troubleshooting guides and
analysis documents.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
61
Fiori Troubleshooting
Webdynpro
Issue not solved, what needs to be provided when opening an Incident:
•
URL of the Web Dynpro application
•
Step-by-step description with screenshots about the exact reproduction of the issue.
•
HTTPWatch trace of the issue being reproduced. For more details on the HTTPWatch or Fiddler traces, please refer
to Tools
•
Screenshot of the report WDG_MAINTAIN_UR_MIMES ran from transaction SE38.
•
If possible open R/3 and HTTP connections to the system. For the HTTP connection the URL must be set to the affected
application. e.g. http://yourdomain.com/sap/bc/webdynpro/sap/wdapplication
For more details on how to open the connections please refer to SAP
Notes:
• HTTP - according to SAP Note 592085
• R/3 - according to SAP Note 812732
• Store Customer logon data in Secure Area - according to SAP
Note 508140
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
62
Fiori Troubleshooting
WebGUI
Fiori Troubleshooting
WebGUI
Most of the problems can be solved by following the below 5 STEPS in
the affected system:
1.
Configuration and Routing
•
•
•
•
2.
While running a debugging session, make sure the WebGUI content
calls are being redirected to the backend server. An important number of
issues are caused by incorrect url dispatching.
If you are using App Finder or App Descriptors make sure the
configuration and required notes have been set up properly
Step-by-step guide to enable Transactions in Fiori Launchpad using
Application Descriptors in S4HANA On-Premise
Step-by-step guide to enable Easy Access Menu in S-4HANA OnPremise
Latest Kernel
•
•
•
Try using the latest kernel version available.
Component "disp+work" should be checked.
Click here for more details on ITS-fixes delivered in the latest kernel
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
64
Fiori Troubleshooting
WebGUI
3.
Latest CL_HTTP_EXT_ITS
•
•
4.
Review ITS Service Configuration (GUI Configuration).
•
•
•
5.
The first point when an HTTP request meets the ITS layer is the ITS HTTP request handler, called CL_HTTP_EXT_ITS. This handler
class is very important, because it is responsible to build ITS frameset. The ITS frameset handles session management, XSRF
protection, correct page sizing, parameter handling, rendering modes and more features.
Newer versions of the class CL_HTTP_EXT_ITS are always delivered in the latest BASIS Support Packages (SAP_BASIS, SAPKB...
or SAPK-...INSAPBASIS). But in certain cases it is also possible to apply correction instructions via transaction SNOTE for this class.
In order to use the latest version of the handler (CL_HTTP_EXT_ITS), please apply the appropriate SAP Note and all of its
prerequisites.
Are the used GUI Parameters correct?
Check ITS related profile parameters.
Learn more about ITS feature flags: List of Features
Special Cases and Troubleshooting Tools
•
If you believe, that all of the above are correct (i.e. latest kernel, latest handler and correct configuration), go trough the special cases
and troubleshooting tools in the ITS Troubleshooting Guide.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
65
Fiori Troubleshooting
Always remember these facts and
transactions
Troubleshooting
Always remember these facts and transactions
1. Understand Landscape Architecture:
– Transactional Apps implement OData calls from the Frontend server but Webdynpro and Object
Page require a direct connection the Backend server.
– Several RFC connections are required.
▫ Firewall adjustments may be needed in complex network architectures.
2. Catalog Replication / Index Calculation:
– Set up Fiori Catalog Replication and Index Calculation jobs to run at least once a day, this will
make sure that Catalog and Application ID status is consistent.
▫ Report /UI5/APP_INDEX_CALCULATE
▫ Report /UI2/GET_APP_DESCR_REMOTE
3. Update UI libraries:
–Important corrections are delivered in UI libraries (+1.40.x) that will help stabilize Fiori apps.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
67
Troubleshooting
Always remember these facts and transactions
4. One frontend for multiple backends:
Backend
Frontend
100
100
200
200
300
300
Launchpad
– In this case, try to maintain 1 frontend client per backend client within the same landscape.
5. Security:
– Enabling trust relationship between the frontend and backend server requires all users to
possess authorization object: S_RFCACL
– Replication of user ID’s between frontend and backend clients is required.
Backend
ID: JOHNDOE
Auth. Obj.
S_RFCACL
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Frontend
Sys. Trust
ID: JOHNDOE
Auth. Obj.
S_RFCACL
68
Troubleshooting
Always remember these facts and transactions
6. Know your troubleshooting tools:
Tools
Description
/IWFND/MAINT_SERVICES
(transaction)
OData Frontend Service Activation / Alias Assignment /
SICF(/sap/opu/OData/sap)
/IWBEP/ERROR_LOG (transaction)
OData Backend Error Log
/IWFND/ERROR_LOG (transaction)
OData Frontend Error Log
/IWFND/GW_CLIENT (transaction)
OData Frontend Service Execution
SE80, SE37, SE38 (transaction)
ABAP Object/Code Analysis
Chrome Browser
Chrome Browser Developer Tools works best for troubleshooting
OData Browser Debugging
Add parameter: “?sap-ds-debug=true” to OData calls
SACM
Troubleshoot CDS Authorizations
1797736 – Troubleshooting Guide for SAP NetWeaver Gateway
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
69
Troubleshooting
Always remember these facts and transactions
7. Useful reports for FLP checks and system alias:
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
70
Troubleshooting
Always remember these facts and transactions
8. Many issues relate to cached content.
– Make sure to delete cache in case of issues and also particularly after deployment of corrections / FPS.
Run report /UI2/INVALIDATE_GLOBAL_CACHES to clear the FLP caches.
9. Intents (combination of semantic object and action) not resolving.
– Make use of FLP Intent Resolution Analyzer (TA code /UI2/FLIA)
10. Data missing in app typically related to Authorizations.
– TA code SU53 for authorization traces (see SAP Note 2147808)
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
71
Fiori Performance
Tips and Tricks
Fiori Performance
Tips and Tricks
Understanding the overall architecture of the solution is key to identify performance issues because
in the Fiori architecture, your browser is directly accessing the back-end via each Fiori tile. Each tile
on the FLP is making numerous calls to (and receiving) data from the server, which can cause
latency issues.
Note that when referring to the backends in the S/4HANA model we are talking about the
integration between 3 main components:
•
Web Dispatcher
•
Frontend Server
•
Backend Server
Depending on the network configurations of these servers, network performance issues may arise.
Blog: Fiori for S/4HANA – Performance tips and Tricks in S/4HANA 1610 On-Premise
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
73
Fiori Performance
Tips and Tricks
You will find some cases where performance issues may go deep into code or network debugging,
however, there are some quick actions you can take in every project to ensure the best
performance of your Fiori Launchpad (FLP).
We will list some performance tips and tricks for all your current implementations
Blog: Fiori for S/4HANA – Performance tips and Tricks in S/4HANA On-Premise
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
74
Fiori Performance
Tips and Tricks
Use what you need
✓
The more tiles you have on your FLP, the longer it will
take to load
✓
To lessen any latency issues, only add the tiles you
need.
✓
It is recommended that you do not exceed 7x7 (49
tiles) per FLP group, also notice the more catalogs you
have assigned, the longer it’s going to take to load the
home screen.
✓
Go through Design Thinking workshops at the early
stages of the project in order to build “Personas” which
will later help you define the required business roles
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
75
Fiori Performance
Tips and Tricks
All tiles are not equal
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
✓
KPI and dynamic tiles have a bigger impact on
bandwidth, as they are in constant communication with
the back-end servers to update.
✓
Static tiles do not change; once they are loaded onto
the FLP, they are not making any additional “calls” to
update.
✓
For KPI and dynamic tiles try to define a refresh
interval or cache duration suitable to your end user
needs and SAP landscape capabilities.
76
Fiori Performance
Tips and Tricks
All tiles are not equal - UPDATE
✓
Analytical apps in S/4 HANA may cause expensive
analytical queries to be executed in SAP HANA. While
with SAP HANA incredible on-the-fly calculations are
possible, there are still some boundaries in the amount
of data that can be processed in a reasonable time
✓
KPI’s based on CDS views can be cached via “View
Result Caches”
•
•
•
•
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Note 2337199
Requires “altering” views directly in HANA
Requires implementation of Badi:
BADI_DEF_CDS_VIEW_CACHE_REACT
Available for a limited number of CDS views
77
Fiori Performance
Tips and Tricks
Introducing Tab Bar Navigation
✓
This feature changes the interaction of the end user
with FLP as tiles are displayed per group.
✓
Can be switched on for all users by the system
administrator or enabled through user
personalization.
Blog: Fiori for S/4HANA – What is Tab Bar?
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
78
Fiori Performance
Tips and Tricks
Introducing CDN (Content Delivery
Network)
✓
One of the main reasons for slow performance is the
fact that the SAP UI5 libraries are located in the
ABAP Front-end Server (FES), when the Fiori web
page is rendered it needs to make a call to the ABAP
FES to load the JavaScript libraries. In high-latency
networks this results in high rendering time lapses
which affect end-user performance.
✓
One way to overcome this situation is to load UI5
libraries from a Content Delivery Network (CDN,
Akamai) which enables users to load the UI5
libraries from a network server closest to their
current location.
Blog: Fiori for S/4HANA – What is CDN?
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
79
Fiori Performance
Tips and Tricks
Take advantage of CDN and Tab Bar
✓
By mixing these two features you will be able to improve FLP performance around 40%
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
80
Fiori Performance
Tips and Tricks
Improve Webdynpro, Webgui and App Finder performance
✓
Webdynpro, Webgui and App Finder  Check kernel version and try to update as this is
required by the new unified rendering concept.
✓
To load Webdynpro or Webgui apps FLP uses the NWBC runtime, it is recommended to update
NWBC runtime by implementing the following notes in order:
•
•
•
✓
2408184
2405259
2433839
Try running report /UI2/NWBC_DELETE_MENU_CACHE every now and then as you may find
wrong entries in table /UI2/NWBC_NAV_TR (column NWBC_VERSION will have the value
“LOADING”).
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
81
Fiori Performance
Tips and Tricks
Improve Webdynpro, Webgui and App Finder performance - UPDATE
✓
As of August 25th, 2017 you no longer need to update the entire kernel package.
✓
A new package, called sapwebgui, is now delivered. It contains only the WEBGUI related files.
✓
If you have interest in this new approach, then you can find more information in
KBA 2221289 (How to install package sapwebgui).
Blog: Sapwebgui Package Now Available
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
82
Fiori Performance
Tips and Tricks
Improve OData performance
✓
In some very specific cases you will find that
OData requests execution time is longer
than expected.
✓
This will usually occur for OData services
that expose very large data sets. If this is
the case, you can try configuring OData
services in Co-deployed mode.
Blog: How to take advantage of the performance improvements in SAP Gateway in SAP NetWeaver 7.50 SP04
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
83
Fiori Performance
Tips and Tricks
Make sure your browser’s cache is
optimized
✓
Ensure your browser cache settings are optimized for
maximum performance and try not to use any settings
that bypass the browser cache:
•
•
•
•
•
•
✓
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Do not run the Fiori Launchpad in private mode
Select a sufficient cache size limit
Do not clear the cache history automatically when the
browser closes
Enable browser caching
Do not disable the browser cache in the browser developer
tools
Enable HTTP compression
You can find a detailed how-to document describing
these settings in all three major browsers (Chrome,
Firefox, Internet Explorer) in note 2447857
84
Fiori Performance
Tips and Tricks
Get the right Certificates (HTTPS)
✓
Make sure HTTPS connectivity is correctly setup.
Monitor this in the browser’s dev tools – network tab.
✓
If you are using self-signed certificates or your
certificate has not been signed by a valid Certificate
Authority (CA) you will face performance issues as any
error with the certificate means that the webpage will
not be loaded. You can find additional details here and
here.
✓
Note that versions 58 or higher of Chrome now
mandatorily require that the SAN (Subject Alternative
Name) field of the server’s SSL certificate is correctly
populated, you’ll find the detailed issue and resolution
in this blog.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
85
Fiori Performance
Tips and Tricks
Still facing performance issues?
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
✓
Take a look at note 2471635, you will find
some common performance issues and
their solution.
✓
Note that some solutions may require
additional development efforts.
86
R EGIONAL
I MPLEMENTATION
G ROUP
Thank you!
Jorge “Javier” Baltazar
© 2017 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.
The information contained herein may be changed without prior notice. 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 or its affiliated
companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP 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,
and they should not be relied upon in making purchasing decisions.
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. All other product and service names mentioned are the trademarks of their respective companies.
See http://global.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Download