在 ADT 里创建一个新的 CDS Type 时,编辑器最终给出的核心代码可能只有一行define type。代码看起来非常简单,但如果把它仅仅理解成 ABAP CDS 版本的TYPES,很容易低估它在现代 ABAP 数据模型中的作用。
SAP 引入 CDS Simple Type 的一个重要目的,是让「类型」不仅描述一个字段占多少字节、是字符还是整数,还可以同时承载业务语义。
在传统 ABAP Dictionary 世界里,这类能力很大程度上由 Domain 和 Data Element 承担。到了 CDS、RAP、ABAP Cloud 以及 Clean Core 的开发模型中,SAP 又提供了一套更加贴近 CDS 元数据体系的类型定义机制,也就是 CDS Simple Type。
SAP 官方把 Simple Type 定义为 ABAP CDS 中的 user-defined elementary data type,也就是用户自定义的基本类型。它通过DEFINE TYPE定义,可以携带 CDS annotation,并且这些 annotation 能够继续传播给使用该类型的 CDS 对象。
最基本的语法并不复杂。
// optional header annotationsdefinetypeTypeName : typing