Skip to end of metadata
Go to start of metadata

Purpose

The following WIKI page is designed to explain most of the known issues related to SAPUI5 Application Index specific and be able to know how to resolve most known issues. This applies to S/4HANA Cloud Platform (NEO and ABAP).

Overview

In this WIKI you will find all the steps needed in order to troubleshoot or fix a known SAPUI5 Application Index (ABAP) issues.

Cannot Load Tile

  1. Issue ( FCLM_ANALYSIS)

    • Symptom
      Console shows following error: App fin.acc.query.analyze has errors and may not run correctly; please see SAP Note 2364579 - fin.acc.query.analyz
      Error in app dependency sap.ui.core.UIComponent: No descriptor was found - fin.acc.query.analyze
      failed to load Javascript resource: sap/ui/core/UIComponent/Component-preload.js - sap.ui.ModuleSystem
      error in App pop-up:
      Application 0FCLM_ANALYSIS could not be loaded
      Could not instantiate planning service "".
      error ],"Error":,"ErrorDetails":[]}
      Runtime error CALL_FUNCTION_NOT_FOUND has occurred

    • Solution
      Implement SAP Note: 2700065 - Tile for Cash Flow Detailed Analysis is not loading

  2. After transport from dev to quality system application still has old code
    • Reason
      Customer used transaction SE80 directly to modify and transport a single file.

    • Solution
      Follow this KBA 2696956 - Launchpad still using old version of UI5 after transporting new code to product.
      SAP recommends using the SAP WebIDE to create/maintain Fiori artifacts. Using SE80 for this is not supported.

  3. Issue Smart Business tile cannot load - 1
    • Symptom
      Console shows following error: Cannot read property 'indexOf' of undefined

    • Solution

      1. Follow this KBA:  2713719 – Smart Business KPI Tile is hanging during loading
      2. Note: A workbench request must be transported from client to a client even in the same system when it comes to Smart Business application
      3. See also:  KBA 2732972 - How to Transport KPI Tile Application Step-by-Step Guide
      4. See also: KBA 2662463  - KPI activation fails when transport request is used


  4. Issue Smart Business tile cannot load - 2

    • Symptom
      1. Failed to load tile after configuring a numeric KPI tile.
      2. Error: No Vocabulary Annotation File found for ID xxx Version xx 
      3. "Failed to initialize" message when launching KPI tile 
      4. "Metadata or annotation document load failed" message displayed in console 
      5. EntitySet is not displayed

    • Solution
      1. To resolve this issue, please follow this KBA: 2536551 - KPI tile failed to load after configuring a numeric KPI tile

  5. Issue Smart Business tile cannot load - 3
    • Symptom
      1. Smart Business Tiles 'Cannot Load Tile' randomly after configuring Fiori launchpad to display Smart Business tiles

    • Solution
      1.  The following KBA,  2779630 - Smart Business tiles showing cannot load tile randomly, needs to be followed.

  6. Issue HTTP Status Code 403 - cannot load - 4
    • Symptom
      • After upgrade several fiori apps of an application cannot be launched in the Fiori Launchpad. The error received is: App could not be opened because the SAP UI5 component of the application could not be loaded. Look at the http trace. If there are requests with http status code 403 unauthorized this may be an indication that the ICF node is not active.
    • Solution
      • Call trx SICF and activate the corresponding node. The name of the ICF node is part of the URL.
      • UI5 app: .../sap/bc/ui5_ui5/<namespace or 'sap'>/<bsp app name> The ICF node is either <bsp app name> or <namespace>/<bsp app name>
      • OData service: .../sap/opu/odata/<namespace>/<odata service name> The ICF node is <odata service name> or <namespace>/<odata service name 

Cannot Load App

    1. Cannot load app - 1
      1. Symptom
        User has created a KPI tile with the KI Modeler. However the tile cannot be loaded in the Fiori Lauchpad. The Startup service shows following error for target mapping xxxxxxxxKPI-display~64wp
        "Error in app component customer.kxxx: No descriptor was found"

      2. Reason
        Execute report /UIF/GET_FILES_4_NS and specify in field 'Namespace' customer.kxxx. The app variant does not exist in the system.

      3. Solution
        Refer to “Smart Business tile cannot load” In this WIKI above.

    2. Cannot load app  - 2

      1. Symptom
        Fiori app "Inspection app" is not working properly, and shows error message -  Could not open app. Please try again later. Console error msg - Failed to resolve navigation target: "#XXXXXX-display". This is most likely caused by an incorrect SAP Fiori launchpad content configuration or by missing role assignment. - Could not resolve navigation target sap.ushell.renderers.fiori2.Shell.controller

      2. Solution
        BSP application <APP> has a dependency to <APP> component and this dependency cannot be found. This can happen if either the required component or library is not deployed to the system or the name of the component is misspelled. 
        1. To check this run a TA sui_support in the target system and run the report 'Check of SAP NetWeaver Infrastructure for SAPUI5 Apps'. (Support for UI Technology ->SAPUI5 -> System Checks -> Check of SAP NetWeaver Infrastructure for SAPUI5 Apps)
        2. After executing this report, press Show As Text and search for your BSP application name '<APP>'. => SAPUI5 library/component <COMPONENT> used in application <APP> does not exist.

    3. Cannot open app – 3
      1. Symptoms
        SAPUI5 App cannot be loaded 

      2. Reason
        App cannot be loaded beca
        use the main component sap.<comp> cannot be also loaded. This is because 
        one of its sub-component sap.<comp>.<sub-comp> cannot be loaded.App cannot be loaded because component <COMPONENT> cannot be loaded .
        The main component is <COMPONENT> which embeds among their sub-component
        COMPONENT>. This sub-component embeds component <COMPONENT>.
        The startup service does not return <COMPONENT>

      3. Solution
        BSP <BSP-APPLICATION> is constructed as an app and not as a library user has to remove "sap.app": { "embeddedBy": "../"} from the embedded component.
        Specifics for the Manifest of "reuse" Components
        "Reuse" Components embedded by a library must have an explicit entry in the manifest underneath the section sap.app/embeddedBy:
        "sap.app": {
        "embeddedBy": "../"
        }
        The embeddedBy should be the relative path to the namespace root of the library. This would allow that tooling like the AppIndex can discover embedded libraries and will not include them into the transitive scope which could cause unwanted 404 requests. Additionally, user should declare a library dependency to the embedding library. This will ensure that the library containing the Component preload will be loaded automatically instead of the try to load the Component preload by itself

    4. Cannot load app - 4
      1. Symptom
        User has created a KPI tile with the KI Modeler. However the tile cannot be loaded in the Fiori Lauchpad. The Startup service shows following error for target mapping xxxxxxxxKPI-display~64wp
        "Error in app component customer.kxxx: No descriptor was found"

      2. Reason
        Execute report /UIF/GET_FILES_4_NS and specify in field 'Namespace' customer.kxxx. The app variant does not exist in the system.

      3. Solution
        Refer to Smart Business tile cannot load In this WIKI above.

    5. Cannot load app - 5
      1. Symptom
        Fiori app "Inspection app" is not working properly, and shows error message - Could not open app. Please try again later. Console error msg - Failed to resolve navigation target: "#XXXXXX-display". This is most likely caused by an incorrect SAP Fiori launchpad content configuration or by missing role assignment. - Could not resolve navigation target sap.ushell.renderers.fiori2.Shell.controller

      2. Solution
        BSP application <APP> has a dependency to <APP> component and this dependency cannot be found. This can happen if either the required component or library is not deployed to the system or the name of the component is misspelled.
        1. To check this run a TA sui_support in the target system and run the report 'Check of SAP NetWeaver Infrastructure for SAPUI5 Apps'. (Support for UI Technology ->SAPUI5 -> System Checks -> Check of SAP NetWeaver Infrastructure for SAPUI5 Apps)
        2. After executing this report, press Show As Text and search for your BSP application name '<APP>'. => SAPUI5 library/component <COMPONENT> used in application <APP> does not exist.

    6. Cannot load app - 6
      1. Symptoms
        SAPUI5 App cannot be loaded

      2. Reason
        App cannot be loaded beca use the main component sap.<comp> cannot be also loaded. This is because
        one of its sub-component sap.<comp>.<sub-comp> cannot be loaded.App cannot be loaded because component <COMPONENT> cannot be loaded .
        The main component is <COMPONENT> which embeds among their sub-component
        COMPONENT>. This sub-component embeds component <COMPONENT>.
        The startup service does not return <COMPONENT>

      3. Solution
        BSP <BSP-APPLICATION> is constructed as an app and not as a library user has to remove "sap.app": { "embeddedBy": "../"} from the embedded component.
        Specifics for the Manifest of "reuse" Components
        "Reuse" Components embedded by a library must have an explicit entry in the manifest underneath the section sap.app/embeddedBy:
        "sap.app": {
        "embeddedBy": "../"
        }
        The embeddedBy should be the relative path to the namespace root of the library. This would allow that tooling like the AppIndex can discover embedded libraries and will not include them into the transitive scope which could cause unwanted 404 requests. Additionally, user should declare a library dependency to the embedding library. This will ensure that the library containing the Component preload will be loaded automatically instead of the try to load the Component preload by itself
    7. Cannot load app - 7
      1. Symptoms
        Application with intent #<SEMANTICOBJ-ACTION> cannot be opened. 

      2. Reason
        To debug or trace this issue,
        a. Create an HTTP trace. 
        b. Look for the Startup request: GET /sap/bc/ui2/start_up?so=*&action=*&shellType=FLP&depth=0
        Find out how many target mappings matching the navigation intent. Here is an example if what was found in this situation

        LeaveRequest-approve~XX is assigned to an inexistent SAPUI5 component, "applicationData": "SAPUI5.Component=leave".

        Further the SAP UI5 application index complains that application leave has errors: "applicationDependencies": "{\"name\":\"leave\",\"self\":{\"name\":\"leave\"},\"messages\":[{\"severity\":\"error\",\"text\":\"App leave has errors and may not run correctly; please see SAP Note 2364579\"},{\"severity\":\"error\",\"text\":\"Error in app component leave: No descriptor was found\"}]}".

        It is contained in business catalog SAP_HR_BC_EMPLOYEE_T.

        The Fiori Launchpad runtime selected the erroneous target mapping which you can also see at the bottom of the trace:

        - GET /sap/bc/ui5_ui5/ui2/ushell/resources/~xxxxxxxxxx~/leave/Component-preload.js HTTP/1.1  -> HTTP code 404

        - GET /sap/bc/ui5_ui5/ui2/ushell/resources/~xxxxxxx~/leave/Component.js HTTP/1.1  -> HTTP code 404


        It attempted to read component 'leave' which does not exist

      3. Solution
        Please follow the following KBA, 2803677 - Cannot load application leave has errors and may not run correctly, to address this issue.

    8. Cannot load app - 8

      • Symptom
        • When clicking on app Sales Contract Fulfillment Rates you receive error dialog App could not be opened because the SAP UI5 component of the application could not be loaded. Pressing the 'i' button there is some more information: Failed to load UI5 component for navigation intent "#SalesContract-analyzeSBKPIDetailsS4HANA?EvaluationId=.E.xxxxxxxxxxxxx"
        • Looking at the console tab in the browser development tools there is following entry: The issue is most likely caused by application F1905. Please create a support incident and assign it to the support component of the respective application. - Failed to load UI5 component with properties: '{...

      • Reason
        F1905 is not a valid application. In fact it is the Fiori id. You can verify it in the Fiori Apps Library. The reason for the error is that the target mapping that is used for this UI5 app was configured wrong in the Fiori Launchpad Designer. Meaning the ID under the target mapping was set to the Fiori application library id which is not correct.

      • Solution
        For this particular case the id in the target mapping should be set to ssuite.smartbusiness.runtime.s1
        For more information on how to set this up, please follow up this KBA: https://launchpad.support.sap.com/#/notes/2864086

App Descriptor has outdated version

    1. App Descriptor is outdated - 1
      1. Symptom
        The developers made changes to the app descriptor of an app. However, when the app is run in the Fiori Launchpad the manifest does not show the latest changes.

      2. Reason
        The LOAD layer in LRep was for some reason not updated. To check do the following:
        1. Call tcode SUI_SUPPORT
        2. Click on Layered Repository
        3. Execute Check load for consistency (support only)
        4. In field 'Namespace' specify *<BSP repository in lower case>* Note:  In an S/4 Hana Cloud customer cannot go to the frontend server to call the report directly. Instead, SAP product support engineer use transaction SUI_SUPPORT to select the appropriate report.


      3. Solution Execute report /UI5/APP_INDEX_CALCULATE for that app. In an S/4 Hana Cloud system use tranaction SUI_SUPPORT → SAPUI5 → Application Index → Calculation of UI5 Application Index.

    2. App Descriptor is outdated  - 2
      1. Symptom
        When calling an app a button is missing

      2. Reason
        There are several reasons why a button or some other UI element is missing

      3. Solution
        User needs to execute report /UI5/APP_INDEX_CALCULATE, please refer to this SAP Note 2364579 - SAPUI5 application index is not calculated, is outdated or contains errors

    1. App Descriptor is outdated - 3
      1. Symptom 
        After upgrade a button in an app is missing. Some changes files have the right version and others don't. The correct version is identical to the version in the manifest.json file. Regenerating the App Index for the BSP repository in question always fixes the issue. To verify this, do the following:
        1. Get the name of the BSP repository from the manifest 
        2. Call transaction SUI_SUPPORT and navigate to Layered Repository -> List repository files (Support only)
        3. In field 'Namespace' specify *<BSP repository in lower case>*, set the layer to 'Vendor'
        4. You are interested in file types 'appdescr' and change.

      2. Solution
        Executing report /UI5/APP_INDEX_CALCULATE for that app always solves it. You can also execute analysis report /UI5/ANALYSE_LEVEL0_CHANGES that shows all BSP repositories in the system for which the changes have not the same version as the manifest. The report may also be used to fix the issue.

SAPUI5 ABAP Repository Issues

Please note that at the technical level the SAPUI5 ABAP Repository uses the BSP repository for storing UI5 apps. 

  1. When creating new BSP Application using SE80, it is limited to 15 characters Max

    • Symptom
      Name of BSP application is truncated.

    • Reason
      The name of an application is used to generate the corresponding ICF service which in turn is restricted to 15 characters. This would not have occured if the customer used the SAP WebIDE to create/ maintain apps.

    • Solution
      Please use the SAP WebIDE to create/maintains Fiori artifacts, using the se80 for this is not supported please refer KBA 2696956 - Launchpad still using old version of UI5 after transporting new code to product.
      If the customer insists on using SE80 he should not use more than 15 characters for his BSP application.

  2. Changes to a child application are not reflected in the parent application
    • Symptom
      One app which we call child app depends on another app which we call parent app. The customer made changes to the child app but these were not reflected in the parent app. Clearing the browser cache solved the issue.

    • Error
      Child UI5 application keeps showing old code in the browser.

    • Solution
      Please refer to this KBA 2732963 - Child UI5 application is not refreshed in parent application until browser cache is cleared

  3. After upgrade app cannot be loaded

    • Symptom
      The network trace shows following error: ui2/ushell/resources/~20180418080200~/sap/fin/central/lib/library-preload.json not found
      The console shows following message: File sap/mmimreusemats1/ui/s2p/mm/im/lib/materialmaster/library.js NOT found!
    • Solution
      The issue is caused by either a Firewall or a web dispatcher configuration. Verify Web dispatcher port configuration is mapped correctly to Fiori Launchpad port configuration

  4. UI5 app is not shown in Fiori Launchpad

    • Symptom
      An app is not shown in the Fiori Launchpad. The cache buster token does not seem to be working correctly, becuase a 'bad' token ending with ~C is returned, e.g. for resource ../~xxxxxxxxxx~C/webapp/Component-preload.js

      It also appears that when deploying a new version of the app it is not delivered to the browser.

      The  network trace shows the following error for the start up service:
      \"severity\":\"error\",\"text\":\"<APP-COMPONENT> has errors and may not run correctly; please see SAP Note 2364579
      Error in app component <APP-COMPONENT>: No descriptor was found

      The customer used report /UI5/UI5_REPOSITORY_LOAD to deploy the zip file containing the app to the SAPUI5 ABAP Repository.

    • Reason
      First we checked that the app index calculation job /UI5/APP_INDEX_CALCULATE is running which it does. However, its log showed that the manifest file is missing.
      When checking the BSP repository we discovered that manifest.json is not located in the root of the app but in folder webapp.

    • Solution
      This would not have occured if the customer used the SAP WebIDE to create/ maintain apps. SAP recommends to use the WebIDE to deploy the app in the SAPUI5 ABAP Repository (BSP) and not the above mentioned report, check KBA, 2696956 - Launchpad still using old version of UI5 after transporting new code to product
      If the customer insists on using report /UI5/UI5_REPOSITORY_LOAD he should modify the zip filesuch that the content of folder webapp is under the root and the folder webapp is removed.

  5. What is the difference between ~5 and ~C cache buster token
    • When the appindex cannot be calculated properly, the caching does not work correctly anymore.
    • The system applies a fallback mechanism which uses different cache tokens, which have to be invalidated manually. You can detect the bad tokens as they end with ~C which is the case here. A good token ends with ~5
    • Fixing the virus scanner setup is at least required to have it working. Please refer to this KBA 2382720 - "Could not open app. Please try again later." when trying to load a Financials Fiori application    

  6. Unable to deploy a UI5 application after deleting the application

    • Symptom
      Application does not exist in the SAPUI5 ABAP Repository; However', it exists in LREP by using the following:
      1. Get the name of the BSP repository from the manifest 
      2. Call transaction SUI_SUPPORT and navigate to Layered Repository -> List repository files (Support only)
      3. In field 'Namespace' specify *<BSP repository in lower case>*, set the layer to 'Vendor'
      4. The system returns some LRep files
    1. Workaround
      We assumed the application was deleted manually through SE80
      1. The files have to be cleaned up by using the tcode SUI_SUPPORT→Layered Repository→ Deletion of LRep file (support only) 
      2. Specify the full namespace in the list found in step d under Symptom above and execute
      3. Repeat this for every file found
        Note: In S/4HANA Cloud System user many not use this report directly
    2. Solution
      SAP recommend to use SAP WebIDE to delete the SAPUI5 app.
      Note: If you do not have access to SAP WebIDE, please use the following steps:
      1. Execute tcode SUI_SUPPORT
      2. Go to SAPUI5
      3. Expand UI5 Repository
      4. Click on Upload, Download, or Delete Apps...
      5. Specify the name of the BSP repository
      6. Click Execute


  7. App xyz has errors
    1. Symptom
      app <APP-NAME> has errors and may not run correctly, please see SAP Note SAP Note 2364579

    1. Solution
      It was discovered that the application id '<APP.ID>' which was extended (extended app id 'APP.ID') is contained multiple times in the system. Please note that the application id must be unique in the system.
      The original application was copied without changing the id. The application id '
      User either delete the repositories or change the corresponding application id to a unique value. The error is shown in the application log of report /UI5/APP_INDEX_CALCULATE

  8. Maven Style Apps

      1. Symptom
         User app appears to be a Maven style app which has to go through a Maven release build

      2. Solution
        The deployed manifest.json file in version xxx.xxx.xxxstill contains maven placeholder e.g. ${project.artifactId}, which is the reason that appindex replication rejects this version. Web IDE should have shown such an error after deployment. User either do standard Maven build for Fiori apps or completely turn your project into a non-Maven project and remove all Maven placeholders.

  9. SAPUI5 Text Repository should not be used

    1. Solution: It is not recommended to use the SAPUI5 Text Repository. Originally it was developed for customers, who want to build own standalone apps and want to have a simple translation mechanism, where they can perform translations with standard SAP transaction (with transaction se63)

SAP Cloud Platform

 

  1. Application is not being displayed to all users after being deployed to SAP Cloud Platform

    1. Symptom
      Tile is blank

    2. Solution:   Refer to this KBA 2732936 Deploy SAP Cloud Portal application into a catalog not visible to all users

  2. Runtime Adaptation in NEO does not show 'publish' button
    1. Information
      The concept of async hints has been implemented for Fiori apps which are running against ABAP backend but not for Cloud platform Neo. Since your application is running against neo platform, the concept is not in place.

    1. Workaround
      User can adapt your manifest in WebIDE as followed:
      1. Add a new dependency sap.ui.fl in sap.ui5 => dependencies => libs with lazy false
      2. Deploy the application again. It should work thereafter

Troubleshooting

 

  1. Troubleshooting: Deploying an app from WebIDE to SAPUI5 ABAP Repository, chheck blog https://blogs.sap.com/2016/02/25/troubleshooting-deployment-to-abap-system-from-sap-web-ide/

  2. Note 2364579 - SAPUI5 application index is not calculated, is outdated or contains errors
  3. SAPUI5 ABAP Repository FAQs
  4. UI2 documentation on troubleshooting
  5. Note 2246386 - UI_700, SAP_UI: UI5 app change is not reflected in Fiori Launchpad

Documentation

 

The SAPUI5 ABAP Repository

  1. https://help.sap.com/viewer/0ce0b8c56fa74dd897fffda8407e8272/7.5.9/en-US/91f346786f4d1014b6dd926db0e91070.html
  2. https://help.sap.com/viewer/0ce0b8c56fa74dd897fffda8407e8272/7.5.9/en-US/5a814d9945d148b0a1ad941791c3c723.html 

Resource - Tips

  1. Translation a UI5 Application
    1. Solution: To translate an app, go to the WebIDE open sub-folder webapp/i18n and add a new i18n_<language>.properties file containing the translation
  2. Disabling SAML2 authentication
    1. Solution: Specify URL parameter saml2. See example below: 
      https://<HOST-NAME>:<PORT>/sap/bc/bsp/srmnxp/shoppingcart/defaults.htm?saml2=disabled

 

 

 

  • No labels