zl程序教程

您现在的位置是:首页 >  其他

当前栏目

如何根据 SAP Fiori UI 界面上的错误消息,找到后台 ABAP 对应的消息 ID 试读版

SAP错误后台消息UI 如何 界面 ID
2023-09-14 09:02:37 时间

笔者在长达16年的 SAP 从业生涯中,曾经接到过无数次类型的咨询:

Jerry,我在使用 SAP XXX 产品的 YYY 流程时遇到了错误消息 ZZZ,你遇到过这种情况吗?该如何解决?

其实这类问题除了直接求助专家之外,也可以尝试自己通过搜索引擎的方式来查找网络上是否有 SAP 从业者遇到类似的问题。可是通过什么作为搜索关键字呢?一种思路是将 SAP 产品名称 XXX 和 流程名称 YYY,以及错误消息文本 ZZZ 的组合作为关键字。

如果想让搜索结果更加精确,可以把 ZZZ 替换成其在 ABAP 后台服务器的消息 ID.

什么是消息 ID?我们看个具体的例子。

我们在事务码 SE38 里,随便输入一个不存在报表名称,比如 ZAAA,点击 Display 按钮:

看到错误提示消息:Program ZAAA does not exist. 点击 View details 超链接,就能看到弹出对话框。里面显示的 DS 就是消息文本所属的消息类名称 DS017 就是消息编号。

我们使用事务码 SE91,打开消息类 DS,定位到第 17 条记录,就能看到这条消息的模板文本:

选中这条编号为 17 的记录,点击工具栏上的 Where Used List 按钮,就能找到所有抛出了这条消息的 ABAP 程序列表。

由此可见,找准 UI 上一条错误消息的 ID,对使用技术手段找到这条消息被抛出的准确的 ABAP 代码位置至关重要。

但如果我们在 SAP UI5 框架开发的 Fiori UI,而不是 SAPGUI 里运行应用时出现错误,又该怎么找到错误消息在 ABAP 后台对应的消息 ID 呢?

比如下图是 SAP S/4HANA 里 Sales Order 的管理应用:

我们在明细页面对某个销售订单进行修改之后保存,会看到一些提示消息:

  • Document is incomplete
  • Standard Order 38500 has been saved.

如何在这种 Fiori UI 找到消息的 ID?请参考这篇文章的步骤来操作。