SAP ABAP CDS view里的注解在ABAP后台是如何被解析的?
我們在ABAP Development Tool里編寫SAP CDS view,為視圖維護這些以@開頭的注解,同Java Spring里廣泛應(yīng)用的annotation一樣,都是一種為development object維護元數(shù)據(jù)的方式。
如上圖所示,我維護了五個不同的注解,一旦保存,這個cds view的源代碼被發(fā)送到ABAP后臺,通過CL_DD_DDL_HANDLER解析,DDL此處是Data Definition Language的縮寫。
這個類的ANNOTATIONS字段包含了一個內(nèi)表M_ENTRIES,里面的內(nèi)容即代表五個被解析出來的注解。
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端實現(xiàn)的,能高效的把文本格式的CDS view源代碼解析成ABAP結(jié)構(gòu):
如下圖所示:
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的SAP ABAP CDS view里的注解在ABAP后台是如何被解析的?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全部预付资本是指的什么
- 下一篇: SAP Hybris的Convertor