一个具体的例子学习SAP S/4HANA里Fiori应用的排错分析

98 阅读1分钟

在浏览器里访问如下url遇到错误:
er9.sap.corp:44300/sap/opu/oda…

clipboard1

如何debug这个错误,找到哪一行ABAP code抛出的exception?
tcode /IWFND/ERROR_LOG, 选择对应的entry,点Active Source:

clipboard2

在自动navigate到的地方设置断点,刷新UI:

clipboard3

断点触发,观察callstack :

clipboard4

line 51的方法,正常情况下返回的参数ls_bep_metadata应该有填充好的metadata:

clipboard5

但是现在遇到了exception:

clipboard6

双击lx_exception,点击这个hyperlink能看到具体是哪一行报的error message:

clipboard7

line 39抛的error message:

clipboard8

clipboard9

逻辑就是这个query 2CCSDSLSCONTRIQ不valid。

clipboard10

clipboard11

设置一个watchpoint:
clipboard12

clipboard13

clipboard14

clipboard15

这个FM会基于query生成对应的metadata:
clipboard16

clipboard17

错误的根源还是在于CDS view 本身的error:
clipboard18

从callstack里能很清楚看到:
clipboard19

当更换了另一个CDS view之后,metadata能够成功取回:
clipboard20