本地開發的 SAP UI5 應用,部署到 ABAP 伺服器執行出錯的問題分析

注销發表於2022-02-20

我使用 SAP UI5 Tools 的 CLI 工具,執行命令 npm run deploy 將 Visual Studio Code 裡開發的 SAP UI5 應用,部署到 ABAP 伺服器後,成功生成了 url:

https://er9.sap:44300/sap/bc/...

但是瀏覽器打不開:

錯誤訊息:ICF Node NOT found!

登入後臺執行事物碼 sicf,確實沒有在路徑 ui5_ui5 下面發現 zjerrypureui5 這個節點。

下面的 url 是我之前這篇文章本地開發好的 SAP Fiori Elements 應用,如何部署到 ABAP 伺服器上?成功部署到 ER9 系統後生成的 url:

https://er9:44300/sap/bc/bsp/...

一些常見的錯誤

HTTP Status 504 - An internal application error occurred

如果應用程式包含一個相當大的檔案,並且 HTML5 dispatcher(位於從 SAP Web IDE 到 SAP 系統的 route 上)在嘗試 dispatch 時出現超時,則可能會發生這種情況。

有時,HTML5 dispatcher 的超時時間 (30s) 比 ABAP 系統本身 (5m) 更短。發生這種情況時,ABAP 系統實際上能夠處理大檔案的上傳,但 HTML5 排程程式會在此過程中引發超時。

解決方法是增加 HTML5 Dispatcher 的超時時間。為此,請按照訪問 REST 服務中目標屬性下的說明進行操作,並將超時增加到最大值 300 秒。

如果您在提高超時後仍然遇到此錯誤,您可能需要執行 ICM 硬關機。 ICM (Internet Communication Manager) 處理所有 inbound HTTP/HTTPS/SMTP 連線。

使用 SMICM 事務檢視這些連線的狀態。如果您從 SAP Web IDE 推送應用程式,則可能需要硬關機,因為連線可能由於某種原因保持開啟狀態。透過選擇 Administration ICM 從選單觸發該操作。

如果問題仍然存在,請找到大檔案並透過 SE80 事務手動上傳。

Namespace Errors

info builder:custom deploy-to-abap Creating new SAPUI5 ABAP repository ZJERRYPUREUI5
ERR! builder:custom deploy-to-abap Remote creation in customer namespace not possible in SAP systems
ERR! builder:custom deploy-to-abap Upload canceled: SAPUI5 ABAP repository has not been created (successfully).

遇到該錯誤訊息後,如果到 ABAP 系統後臺手動建立一個 SAP BSP 應用,就會遇到本文開頭提到的錯誤:ICF Node NOT found!

這些錯誤是由我們提供的名稱空間 Z 引起的。

目標系統在 SAP 或客戶模式下執行。

如果它在 SAP 模式下執行,則只能使用給定應用程式名稱中的 SAP 名稱空間,不能以 Z 開頭。

解決方案

ui5-deploy.yaml 裡 SAP UI5 部署到 ABAP 系統生成的應用前面的 Z 去掉即可。

部署成功:

更多Jerry的原創文章,盡在:"汪子熙":

相關文章