天天看點

一個具體的例子學習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應用的排錯分析

繼續閱讀