SAP OData 服務在 gateway 層出錯,應該如何處理?經過一個錯誤消息來舉例說明

在瀏覽器裏訪問以下url遇到錯誤:
https://jerry.sap.corp:44300/...瀏覽器

clipboard1

如何debug這個錯誤,找到哪一行ABAP code拋出的exception?
tcode /IWFND/ERROR_LOG, 選擇對應的entry,點Active Source:url

clipboard2

在自動navigate到的地方設置斷點,刷新UI:spa

clipboard3

斷點觸發,觀察callstack :debug

clipboard4

line 51的方法,正常狀況下返回的參數ls_bep_metadata應該有填充好的metadata:code

clipboard5

可是如今遇到了exception:ip

clipboard6

雙擊lx_exception,點擊這個hyperlink能看到具體是哪一行報的error message:rem

clipboard7

line 39拋的error message:get

clipboard8
clipboard9

邏輯就是這個query 2CCSDSLSCONTRIQ不valid。it

clipboard10
clipboard11

設置一個watchpoint:io

clipboard12
clipboard13
clipboard14
clipboard15

這個FM會基於query生成對應的metadata:

clipboard16
clipboard17

錯誤的根源仍是在於CDS view 自己的error:

clipboard18

從callstack裏能很清楚看到:

clipboard19

當更換了另外一個CDS view以後,metadata可以成功取回:

clipboard20

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":