我使用 SAP UI5 Tools
的 CLI 工具,运行命令 npm run deploy
将 Visual Studio Code 里开发的 SAP UI5 应用,部署到 ABAP 服务器后,成功生成了 url:
https://er9.sap:44300/sap/bc/ui5_ui5/sap/zjerrypureui5?sap-client=001
但是浏览器打不开:
错误消息:ICF Node NOT found!
登录后台执行事物码 sicf
,确实没有在路径 ui5_ui5
下面发现 zjerrypureui5
这个节点。
下面的 url 是我之前这篇文章本地开发好的 SAP Fiori Elements 应用,如何部署到 ABAP 服务器上?成功部署到 ER9 系统后生成的 url:
https://er9:44300/sap/bc/bsp/sap/jerryfioriapp/index.html
一些常见的错误
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
去掉即可。
部署成功: