打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SAP CDS view自学教程之三:ABAP Development Tool里的CDS view源代码如何传递到ABAP后台

Let’s review what we have learned so far. Through SQL trace and debugging, we have learned below:

(1) When we click activate button in ABAP development tool ( I call it Eclipse now in this blog ), there are several corresponding ABAP objects generated and table entries inserted. Through debugging we know lots of related logic are implemented in package SDDL.

(2) When we test read & search function against the odata service created on top of the CDS view, the operation is delegated to CL_SQL_STATEMENT~EXECUTE_QUERY.

And now I ask myself, since what we have typed in Eclipse is pure text, how does ABAP backend interpret the text and convert it into ABAP DDIC objects? The only hint we have is the SDDL package. There are more than 10 classes in it. Although an experienced ABAP developer can easily identify which class is responsible for the text->ABAP view conversion just according to the class name and description, whereas ABAP newbies need more time to practice their intuition.

The tip here is, if you are not sure which class is what you are looking for, then always start with what you have already known. In our case it is CL_SQL_STATEMENT~EXECUTE_QUERY. Set breakpoint on this method and type some more characters in Eclipse, the breakpoint is triggered immediately.

From the callstack, we know that every time after you type something in Eclipse, it will fire Syntax check request to ABAP backend.

You can observe this via in the bottom part of your Eclipse.

From the callstack we find a class CL_DD_DDL_HANDLER which implements interface IF_DD_DDL_HANDLER which seems is what we look for. Open this class and there is a method GET_VIEWDEF_FROM_SRC, which indicates the method converts the SouRCe code to ABAP VIEW–DEFinition. Set breakpoint in it and click activate button again in Eclipse.

This class will parse source code:

From the code, it is very clear that the parse output, view definition in ABAP format is used to generate ABAP database view.

There is also another approach which can allow you to get a clearer view: Open the “ABAP Communication Log” view:

Switch on Logging:

Then make some dummy change on your view, then you can observe the following six requests sent to ABAP backend.

The highlighted “abapCheckRun” is just the syntax check we already learned.

Double click on the request to see request detail. Here the view source code is encoded in Base64 format stored in chkrun:content.

We can of course see the original text from some decode-encode online conversion website:

If you could like to debug any request you see in ABAP communication log view, please refer to this document: An example to help you understand how does ADT work.

When you click activate button in Eclipse, you can know that a syntax check is always performed before the real activation.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Code Analysis with the Eclipse Profiler
Eclipse debug Source not found
maven项目在eclipse中debug时看不到源码?
Unknown Source的出现及解决
解决 Android 在Eclipse 开发中 Class Not Found ...
eclipse debug (调试) 学习心得 (转) - 咫尺天涯 - JavaEye技...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服