Расширения Fiori Standard App «Мои преимущества» не работают после обновления GW [SAP Fiori, SAPUI5, SAP NW Gateway]

#sapui5 #sap-fiori #sap-gateway #sap-bsp

#sapui5 #sap-fiori #sap-gateway #sap-bsp

Вопрос:

Мы обновили нашу систему GW до версии 7.52 SP 7, а также перенесли системы из on-prem в Azure. Система ECC 7 включена. После завершения обновления и миграции открывается стандартная плитка «Мои преимущества» приложения Fiori, но работает только стандартная часть, а расширенные части выдают ошибки. Вот ошибки:

Ошибки в консоли (отладчик браузера)

Ошибка XMLTemplateProcessor-dbg.js: 98 не обнаружена: найдено в отрицательном кэше: ‘sap/m/columns.js — откуда ./resources/sap/m/columns.js : не удалось загрузить ‘sap/m/columns.js — откуда ./resources/sap/m/columns.js : 404 — в makeNestedError (https://host:port/sap/bc/ui5_ui5/sap/zmybenefitsext/resources/sap-ui-core.js:92:37 )

XHRInterceptor-dbg.js:58 ПОЛУЧИТЬ https://host:port/sap/bc/ui5_ui5/sap/zmybenefitsext/resources/sap/m/columns.js 404

XMLTemplateProcessor-dbg.js: ошибка 98 Uncaught: не удалось загрузить ‘sap/m/columns.js — откуда ./resources/sap/m/columns.js : 404 — Не найдено

Ошибка на вкладке Сеть (отладчик браузера)

404 (не найден) для https://host:port/sap/bc/ui5_ui5/sap/zmybenefitsext/resources/sap/m/columns.js

Я не смог найти никаких ошибок во внешнем интерфейсе или серверной части, я очистил кэши как во внешнем, так и во внутреннем интерфейсе, а также переиндексировал приложение на шлюзе. Я также повторно активировал узлы ICF.

Вот index.html

     <!DOCTYPE HTML>
<html>
<!-- IMPORTANT
  This HTML file is meant for testing the application/component standalone, outside the Unified Shell.
  Some integration functionality, personalization etc. will not be available when running standalone.
 -->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta charset="UTF-8">
<title>zMyBenefitsExtension</title>
<script id="sap-ui-bootstrap"
  src="./resources/sap-ui-core.js"
  data-sap-ui-libs="sap.m, sap.me"
  data-sap-ui-theme="sap_bluecrystal"
  data-sap-ui-xx-bindingSyntax="complex"
  data-sap-ui-compatVersion="1.16"
  data-sap-ui-resourceroots='{"hcm.mybenefits.zMyBenefitsExtension": "./"}'>
</script>
<!-- Application launch configuration -->
<script>
    sap.ui.getCore().attachInitEvent(function () {
        var oComponentContainer = new sap.ui.core.ComponentContainer({
            height : "100%",
            name:"hcm.mybenefits.zMyBenefitsExtension"
        });
        oComponentContainer.placeAt("content");
    });
</script>
</head>
<!-- UI Content -->
<body class="sapUiBody" id="content" role="application">
</body>
</html>
 

Вот исходный код для Component.js

 jQuery.sap.declare("hcm.mybenefits.zMyBenefitsExtension.Component");

// use the load function for getting the optimized preload file if present
sap.ui.component.load({
  name: "hcm.mybenefits",  
  url: jQuery.sap.getModulePath("hcm.mybenefits.zMyBenefitsExtension")   "/../HCM_BENF_MON" // provide parent project url
  // we use a URL relative to our own component; might be different if
  // extension app is deployed with customer namespace
});

hcm.mybenefits.Component.extend("hcm.mybenefits.zMyBenefitsExtension.Component", {
  metadata: {
    version : "1.0",
    config : {
      "sap.ca.i18Nconfigs": {
        "bundleName":"hcm.mybenefits.zMyBenefitsExtension.i18n.i18n"
      },
     
    },
    
    customizing: {
      "sap.ui.controllerExtensions": {
        "hcm.mybenefits.view.S7": {
          controllerName: "hcm.mybenefits.zMyBenefitsExtension.view.S7Custom",
        },

        "hcm.mybenefits.view.S6": {
          controllerName: "hcm.mybenefits.zMyBenefitsExtension.view.S6Custom",
        },


        "hcm.mybenefits.view.S5": {
          controllerName: "hcm.mybenefits.zMyBenefitsExtension.view.S5Custom",
        },


        "hcm.mybenefits.view.S3": {
          controllerName: "hcm.mybenefits.zMyBenefitsExtension.view.S3Custom",
        },


        "hcm.mybenefits.view.S4": {
          controllerName: "hcm.mybenefits.zMyBenefitsExtension.view.S4Custom",
        },
      },

    "sap.ui.viewExtensions": {
      
      "hcm.mybenefits.view.S7": {
        "extS7Header": {
          className: "sap.ui.core.Fragment",
          fragmentName: "hcm.mybenefits.zMyBenefitsExtension.view.extS7HeaderCustom",
          type: "XML",
        },
      },

      "hcm.mybenefits.view.S6": {
        "extS6Header": {
          className: "sap.ui.core.Fragment",
          fragmentName: "hcm.mybenefits.zMyBenefitsExtension.view.extS6HeaderCustom",
          type: "XML",
        },
      },

      "hcm.mybenefits.view.S5": {
        "extS5Header": {
          className: "sap.ui.core.Fragment",
          fragmentName: "hcm.mybenefits.zMyBenefitsExtension.view.extS5HeaderCustom",
          type: "XML",
        },
      },

      "hcm.mybenefits.view.S3": {
        "extS3Header": {
          className: "sap.ui.core.Fragment",
          fragmentName: "hcm.mybenefits.zMyBenefitsExtension.view.extS3HeaderCustom",
          type: "XML",
        },
      },

      "hcm.mybenefits.view.S4": {
        "extS4Header": {
          className: "sap.ui.core.Fragment",
          fragmentName: "hcm.mybenefits.zMyBenefitsExtension.view.extS4HeaderCustom",
          type: "XML",
        },
      },
    },
      
      "sap.ui.viewModifications": {
        "hcm.mybenefits.view.S7": {
          "MB_PLAN_PERIOD": {
            "visible": false
          },
        },

        "hcm.mybenefits.view.S6": {
          "MB_PLAN_PERIOD": {
            "visible": false
          },
        },

        "hcm.mybenefits.view.S5": {
          "MB_PLAN_PERIOD": {
            "visible": false
          },
        },

        "hcm.mybenefits.view.S4": {
          "MB_PLAN_PERIOD": {
            "visible": false
          },
        },

        "hcm.mybenefits.view.S3": {
          "MB_PLAN_PERIOD": {
            "visible": false
          },
        },
      },


    }      
  }
});
 

Вот ссылка на тот же вопрос на официальном форуме SAP со встроенными скриншотами для узла SICF для стандартного приложения Fiori и конфигурации LPD_CUST для приложения расширения.

https://answers.sap.com/questions/13230788/fiori-standard-app-my-benefits-extensions-not-work.html

Комментарии:

1. Поскольку эта проблема больше не воспроизводима, пожалуйста, рассмотрите возможность закрытия или удаления этого вопроса.

Ответ №1:

Я обнаружил проблему. Версия стандартного приложения Fiori использует SAPUI5 1.28.5, в котором columns агрегация по-прежнему является частью sap.m.List , но устарела. Кроме того, в GW до обновления была версия SAPUI5 1.52, которая все еще была columns указана как агрегация List . Вот почему приложение работало раньше, но обновленная версия GW SAPUI5 1.71.24, где columns агрегация не существует, отсюда и ошибка NOT FOUND.

Поскольку XML является частью стандартного кода, я не смогу изменить XML для замены столбцов таблицей.

Мы создали заявку в SAP, и они сказали, что им придется исправить это для нас.

Комментарии:

1. 1.28 вообще не поддерживается, я бы рекомендовал обновить, если у вас есть такая возможность. Самая низкая версия в долгосрочной поддержке — 1.38 (через здесь )

2. Это наш последний вариант, мы открыли заявку в SAP, чтобы узнать, какие альтернативы они рекомендуют или могут быть, потому что это проблема с их стандартным кодированием, они могут исправить это для нас.