从 CDS 元数据到 Fiori 页面,Framework-Specific Annotations 到底是谁在读取

📅 2026/8/8 7:53:42
从 CDS 元数据到 Fiori 页面,Framework-Specific Annotations 到底是谁在读取
在 ADT 里维护一个 ABAP CDS View 时,经常会看到一种很有意思的现象。同样都是以@开头的 Annotation,有些注解会直接影响 CDS 对象自身,有些注解却像是埋在数据模型里的提示信息,CDS 激活时看起来没有发生多少变化,等数据来到 SADL、OData、Analytics Engine 或 SAP Fiori Elements,作用才突然显现出来。Framework-Specific Annotations就属于后一类。SAP 官方对 CDS Annotation 的划分很明确,SAP 提供的 CDS Annotation 大体可以分成 ABAP Annotation 和 Framework-Specific Annotation。前一类主要由 ABAP Runtime Environment 解释,可以参与 CDS 激活以及 ABAP SQL 对 CDS Entity 的访问行为。后一类更多承担组件级元数据的角色,由 OData、UI、Analytics 等对应的软件组件通过相应 API 读取和解释,并不单纯依赖 ABAP Runtime 完成语义处理。这件事对理解 SAP Fiori 开发特别重要。因为 SAP Fiori Elements 的一个核心思想,就是尽量不把业务语义、展示语义、搜索语义、分析语义全部硬编码进 JavaScript Controller 或 XML View,而是把大量信息放在 CDS、OData Metadata 和 Annotation Vocabulary 组成的元数据体系里。后端声明数据是什么、字段之间是什么关系、哪些字段可以搜索、哪些字段代表金额、哪些字段属于列表列、哪些数据可