SAP Fiori for SAP S/4HANA Troubleshooting Tips and Tricks Jorge Baltazar November 2021 PUBLIC SAP Fiori for SAP 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 2 Fiori Troubleshooting Learn the basics Learn the basics Fiori Integration Flow – Hub Deployment NW 7.5x RFC NW 7.5x SAP Frontend SAP Backend 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC Internet ▪ Consume apps 4 Learn the basics Fiori Integration Flow – Embedded Deployment FES Add-ons NW 7.5x UI5 Add-ons SAP Backend HTTP(S) Web dispatcher HTTP(S) HDB Intranet ▪ 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 add-on components consume these objects and exposes them through web services. ▪ Frontend server add-on component consumes web services by implementing a UI layer based on Html5, javascript, xml. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC DMZ ▪ Exposes UI layer web services for remote access through public internet ▪ Handles cross-domain requests ▪ URL redirect, filtering, rewriting ▪ Connects to the backend ▪ Masks internal server names Internet ▪ Consume apps 5 Learn the basics Understand the S/4HANA ABAP Programming Model for Fiori and RESTful ABAP Programming Model Fiori Launchpad User Interface (Fiori) OData Service Application (ABAP | CDS) Database Table © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 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 6 Learn the basics Understand the S/4HANA ABAP Programming Model for Fiori and RESTful ABAP Programming Model 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7 Learn the basics Understand the S/4HANA ABAP Programming Model for Fiori and RESTful ABAP Programming Model 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 8 Learn the basics Understand the S/4HANA ABAP Programming Model for Fiori and RESTful ABAP Programming Model Fiori Launchpad User Interface (Fiori) OData Service Application (ABAP | CDS) Data inconsistencies Database Table Errors in data replication No data © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 9 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 10 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” © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 11 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 12 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 13 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: ISU_BI_OUTSRTD_RESOLVE C_OutsrtUtilsBillgDoc Count OData service is not active or configuration is missing, additionally a CDS view may be involved © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 14 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 15 Learn the basics How to start a troubleshooting session? 9. Perform corrective measures… © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 16 Learn the basics How to start a troubleshooting session? 10. Test and validate behaviour. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 17 Learn the basics How to start a troubleshooting session? 11. Troubleshooting never stops… © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 18 Learn the basics How to start a troubleshooting session? 12. Repeat steps 4-10 Preliminary analysis: SICF node is not active © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 19 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 20 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 22 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 23 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 24 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 25 Most Common Errors – Examples Backend Authorization Issue – Hub Deployment 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 26 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 27 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 29 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 30 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 31 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 32 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_PURORDMAINTAINHEADE RLIST © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 33 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 34 Fiori Troubleshooting Authorizations – CDS Views 6. The “Access Control” object will display the required authorization objects. In this example: C_PURORDMAINTAINHEADERLI ST © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 35 Fiori Troubleshooting Authorizations – CDS Views 7. In transaction PFCG generate a new role with the required authorization objects. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 36 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 37 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 . © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 38 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 40 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 41 Fiori Troubleshooting Identify what’s being consumed by the services Enterprise Search 2 3 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 42 Fiori Troubleshooting Identify what’s being consumed by the services Enterprise Search 4 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 43 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 44 Fiori Troubleshooting Identify what’s being consumed by the services CDS 3 2 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 45 Fiori Troubleshooting Identify what’s being consumed by the services CDS 4 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 46 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 47 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” © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 48 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 49 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 50 Fiori Troubleshooting Identify what’s being consumed by the services ABAP 4 Tip: Add an “External Breakpoint” to the code to perform debugging sessions © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 51 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 53 Fiori Troubleshooting Enterprise Search Starting point to troubleshoot enterprise search is by using transaction: ESH_TEST_SEARCH © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 54 Fiori Troubleshooting Enterprise Search To monitor the status of all search connectors and obtain useful troubleshooting information for the whole Enterprise Search engine use transaction: ESH_DASHBOARD © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 55 Fiori Troubleshooting Webdispatcher Fiori Troubleshooting Webdispatcher To troubleshoot Webdispatcher you need OS access or a Webdispatcher Visual Administration user. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 57 Fiori Troubleshooting Webdispatcher Check Configuration Profile (OS level only) with command sapwebdisp -checkconfig © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 58 Fiori Troubleshooting Webdispatcher Analyze Webdispatcher Logs (OS level) © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 59 Fiori Troubleshooting Webdispatcher Analyze Webdispatcher Logs (Visual Administration) © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 60 Fiori Troubleshooting Web Dynpro ABAP Fiori Troubleshooting Web Dynpro ABAP 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 62 Fiori Troubleshooting Web Dynpro ABAP 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 63 Fiori Troubleshooting SAP GUI for HTML (WebGUI) Fiori Troubleshooting SAP GUI for HTML (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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 65 Fiori Troubleshooting SAP GUI for HTML (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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 66 Fiori Troubleshooting Monitoring Monitoring – What to check? ▪ SAP Fiori activation status – SAP Gateway – ICF Nodes – System Aliases – OData Services ▪ Enterprise Search ▪ Embedded Analytics ▪ Running jobs ▪ Available logs ▪ Available traces ▪ Caches © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 68 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. – Hub Deployments: 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 that will help stabilize Fiori apps. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 70 Troubleshooting Always remember these facts and transactions 4. Hub Deployments - 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. Hub Deployments - 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 Frontend Sys. Trust Auth. Obj. S_RFCACL © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC ID: JOHNDOE Auth. Obj. S_RFCACL 71 Troubleshooting Always remember these facts and transactions 6. Know your tools: General Administration Transaction Code SU01 PFCG SICF SM59 SPRO SMICM SHMM STC01, STC02 ST22 /UI2/CUST SACM © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC Description User Maintenance Role Maintenance Maintain Services RFC Destinations (Display/Maintain) Configure SAP System as per client requirement ICM Monitor System Shared Objects Monitor Execute/Display Task List Runs System Dumps Customizing of UI Technologies Access Control Management 72 Troubleshooting Always remember these facts and transactions 6. Know your tools: Frontend Administration Transaction Code /UI2/FLP /UI2/FLC /UI2/FLP_CUS_CONF /UI2/FLP_SYS_CONF /UI2/FLP_DEL_PERS /UI2/CSU /UI2/FSAC /IWFND/CACHE_CLEANUP /IWFND/MAINT_SERVICE /IWFND/ERROR_LOG /IWFND/GW_CLIENT /IWFND/TRACES /IWFND/APPS_LOG /IWFND/CACHE_REBUILD © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC Description Launch SAP Fiori Launchpad Fiori Launchpad Checks Fiori Launchpad System Settings (client-specific) Fiori Launchpad System Settings (cross-client) Delete Personalization of SAP FLP Cache Statistics Utility System Alias Consistency Check Cleanup of Model Cache Activate and Maintain OData Services SAP NetWeaver Gateway Error Log Simulate OData Service execution SAP NetWeaver Gateway: Tracing Tools Application Log Viewer Rebuild Gateway Model Cache 73 Troubleshooting Always remember these facts and transactions 6. Know your tools: Frontend Administration (continued) Transaction Code Description /IWFND/V4_ADMIN OData V4 Administration (for Notifications) /IWNGW/R_HUB_CLEAR_CACHE OData Cache (for Notifications SBGRFCMON © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC Monitor bgRFC queues (for Notifications) 74 Troubleshooting Always remember these facts and transactions 6. Know your tools: Backend Administration Transaction Code /IWBEP/CACHE_CLEANUP Description Cleanup of Model Cache /IWBEP/ERROR_LOG /IWBEP/TRACES /IWBEP/VIEW_LOG SAP Gateway Backend Error Log SAP Gateway Backend Traces SAP Gateway Log Viewer /IWBEP/CONFIG_CHECK Check Configuration of BEP ESH_DASHBOARD Enterprise Search Connector Analysis and Troubleshooting ESH_TEST_SEARCH ESH_QUERY_LOG Enterprise Search Connector Test Enterprise Search Connector Query Log © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 75 Troubleshooting Always remember these facts and transactions 6. Know your tools: Business Role Administration Transaction Code /UI2/FLIA Description Fiori Launchpad Intent Analysis /UI2/FLC Fiori Launchpad Checks /UI2/FLPCM_CUST Fiori Launchpad Content Manager (client-specific) /UI2/FLPCM_CONF Fiori Launchpad Content Manager (cross-client) /UI2/FLPAM Fiori Launchpad App Manager /UI2/FLP_APPDESC_GET Replicate Backend Catalogs /UI2/FLPD_CONF Fiori Launchpad Designer (cross-client) /UI2/FLPD_CUST Fiori Launchpad Designer (client-specific) /UI2/SEMOBJ Define Semantic Object – Customer /UI2/SEMOBJ_SAP Define Semantic Object – SAP SACMDCLS CDS Access Controls © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 76 Troubleshooting Always remember these facts and transactions 6. Know your tools: SAP Fiori Administrator Launchpad Support Tools Tools listed in the SAP Reference Implementation Guide ▪ SAP GUI Transaction SPRO > SAP Ref IMG > SAP NetWeaver > UI Technologies > SAP Fiori > Launchpad Support Tools In the SAP Help Portal ▪ SAP Fiori launchpad > Administration Guide > Launchpad Support Tools © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 77 Troubleshooting Always remember these facts and transactions 7. Useful reports for FLP checks and system alias: © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 78 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) © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 79 Troubleshooting Always remember these facts and transactions 11. Rapid Activation is the recommended procedure to activate SAP Fiori since the release of SAP S/4HANA 1709 FPS01 – Rapid Activation is available on any version higher or equal to SAP S/4HANA 1709 FPS01. 12. Rapid Activation is available only on embedded SAP Fiori deployments 13. Rapid Activation – Error Troubleshooting. – Known issues and solutions are mentioned in the Rapid Activation note for each version of SAP S/4HANA. Overview note with links to version specific notes is available: 2902673 - Rapid Activation for SAP Fiori in SAP S/4HANA Overview © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 80 Troubleshooting Always remember these facts and transactions 14. Deploy App Support for the SAP Fiori Launchpad plugin in your landscape – App support is available for SAP S/4HANA as part of the SAP_UI component from the following versions: ▫ SAP_UI 7.54 SP06 in S/4HANA 1909 SP04 or Frontend Server 6.0 SP04 ▫ SAP_UI 7.55 SP02 in S/4HANA 2020 FPS01 or Frontend Server 2020 SP01 15. You can run SAP Fiori Launchpad health checks as a proactive maintenance activity in your system – Via task list /UI2/FLP_HEALTH_CHECKS – Using Launchpad Content Manager © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 81 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 On-Premise © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 83 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 84 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 85 Fiori Performance Tips and Tricks All tiles are not equal © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC ✓ 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. 86 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? © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 87 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”). © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 88 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 89 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 © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 90 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: • • • • • • ✓ © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 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 91 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. © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 92 Fiori Performance Tips and Tricks Still facing performance issues? © 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC ✓ 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. 93 Thank you! Follow us www.sap.com/contactsap © 2021 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 w ithout the express permission of SAP SE or an SAP affiliate company. The information contained herein may be changed w ithout 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, w ithout representation or w arranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions w ith respect to the materials. The only w arranties 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 w arranty. 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 platforms, 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 w ithout notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forw ard-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 forw ard-looking statements, and they should not be relied upon in making purchasing decisions. SAP and other SAP products and services mentioned herein as w ell 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 www.sap.com/copyright for additional trademark information and notices.