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

在浏览器里访问如下url遇到错误:

https://er9:44300/sap/opu/odata/sap/C_SALESCONTRACTITMFLFMTQ_CDS/$metadata

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



如何debug这个错误,找到哪一行ABAP code抛出的exception?

tcode /IWFND/ERROR_LOG, 选择对应的entry,点Active Source:


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

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

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



断点触发,观察callstack :


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


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


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


但是现在遇到了exception:


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


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

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


line 39抛的error message:


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


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


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


设置一个watchpoint:


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

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


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


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

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

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

从callstack里能很清楚看到:


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

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

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


上一篇:8月20日科技联播:世界首个漂浮农场采用机器人挤奶,美国科技巨头联手打击印度“数据本地化”


下一篇:SAP Kyma和SAP云平台上的Service instance