SAP ABAP CDS view里的注解在ABAP后台是如何被解析的?

简介: SAP ABAP CDS view里的注解在ABAP后台是如何被解析的?

我们在ABAP Development Tool里编写SAP CDS view,为视图维护这些以@开头的注解,同Java Spring里广泛应用的annotation一样,都是一种为development object维护元数据的方式。

image.png

如上图所示,我维护了五个不同的注解,一旦保存,这个cds view的源代码被发送到ABAP后台,通过CL_DD_DDL_HANDLER解析,DDL此处是Data Definition Language的缩写。

image.png

这个类的ANNOTATIONS字段包含了一个内表M_ENTRIES,里面的内容即代表五个被解析出来的注解。

image.png

cds view所有支持的annotation都在这个ABAP接口定义的常量里了:


if_dd_ddl_annotations


比如下图的if_dd_ddl_annotations=>AbapCatalog_sqlViewName就代表我在CDS view源代码里申明的注解:@AbapCatalog.sqlViewName: ‘znaming’


image.png

而ABAP Development Tool里采用文本方式编辑的ABAP CDS view,如何被ABAP后端解析的呢?通过这个CL_DD_DDL_HANDLER~GET_OBJDEF_FROM_SRC方法里的第163行parse_cds解析。

image.png

这个方法是在kernel端实现的,能高效的把文本格式的CDS view源代码解析成ABAP结构:


image.png

如下图所示:

image.png

image.png

image.png

相关文章
|
17天前
|
开发者 供应链 BI
SAP ABAP CALL SUBSCREEN 代码解析
SAP ABAP CALL SUBSCREEN 代码解析
65 0
|
17天前
|
JSON 数据格式
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
33 0
|
17天前
|
开发框架 容器
SAP UI5 控件的 aggregation 的概念解析
SAP UI5 控件的 aggregation 的概念解析
43 0
|
17天前
|
Web App开发 开发者 存储
介绍一个 webp 格式转 png 格式的软件:XNConvert
介绍一个 webp 格式转 png 格式的软件:XNConvert
35 6
介绍一个 webp 格式转 png 格式的软件:XNConvert
|
17天前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
20 0
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
|
17天前
|
数据库
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
12 0
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
|
17天前
|
数据库
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
12 0
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
|
17天前
|
数据库 SQL 应用服务中间件
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
32 0
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
|
8天前
|
移动开发 网络协议 安全
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
63 4
|
8天前
|
域名解析 网络协议 应用服务中间件
2024最新彩虹聚合DNS管理系统源码v1.3 全开源
聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:阿里云、腾讯云、华为云、西部数码、DNSLA、CloudFlare。 本系统支持多用户,每个用户可分配不同的域名解析权限;支持API接口,支持获取域名独立DNS控制面板登录链接,方便各种IDC系统对接。
58 0

推荐镜像

更多