
在 ADT 里新建一个CDS View Entity时,即使还没有写任何业务字段,编辑器通常也不会给出一个完全空白的定义。创建/dmo/adm_i_travel这样的view entity后,可以立即看到@AbapCatalog.viewEnhancementCategory、@AccessControl.authorizationCheck、@EndUserText.label、@Metadata.ignorePropagatedAnnotations和@ObjectModel.usageType等内容。这些以@开头的声明就是 ABAP CDS 的annotation。如果只把 annotation 理解成代码里的备注,很容易低估它在 SAP 数据模型中的作用。普通注释主要服务于开发人员阅读,annotation 则属于模型自身的一部分,它可以描述 CDS 对象及其字段的技术属性、业务语义、权限策略、金额和币种关系、时间戳含义,甚至影响 SADL、OData、Fiori、Analytics 等上层框架如何解释一个字段。SAP 官方文档将 CDS annotation 区分为由 ABAP Runtime 处理的 ABAP annotation,以及由特定框架消费的 framework-specific annotation。像AbapCatalog、AccessControl、