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的原创文章,请关注公众号"汪子熙":