我们在ABAP Development Tool里编写SAP CDS view,为视图维护这些以@开头的注解,同Java Spring里广泛应用的annotation一样,都是一种为development object维护元数据的方式。
如上图所示,我维护了五个不同的注解,一旦保存,这个cds view的源代码被发送到ABAP后台,通过CL_DD_DDL_HANDLER解析,DDL此处是Data Definition Language的缩写。
这个类的ANNOTATIONS字段包含了一个内表M_ENTRIES,里面的内容即代表五个被解析出来的注解。
cds view所有支持的annotation都在这个ABAP接口定义的常量里了:
if_dd_ddl_annotations
比如下图的if_dd_ddl_annotations=>AbapCatalog_sqlViewName就代表我在CDS view源代码里申明的注解:@AbapCatalog.sqlViewName: 'znaming'
而ABAP Development Tool里采用文本方式编辑的ABAP CDS view,如何被ABAP后端解析的呢?通过这个CL_DD_DDL_HANDLER~GET_OBJDEF_FROM_SRC方法里的第163行parse_cds解析。
这个方法是在kernel端实现的,能高效的把文本格式的CDS view源代码解析成ABAP结构:
如下图所示:
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/1882340.html
赞 (2)
打赏 微信扫一扫
「故宫金榜题名」开启华兴星起专场,揭秘京城最国潮网红打卡点
« 上一篇2019-12-29 13:41:17
将json多行数据传入到mysql中使用python实现
下一篇 »2019-12-29 13:45:08