01 发生了什么
SAP 发布了关于 CDS 表实体字段定义的技术指南。开发者可为 LOB 和地理数据列显式使用 null。客户端依赖现在通过 @ClientHandling.type 注解隐式处理;不再需要显式客户端字段。abap.int1 现映射至 HANA TINYINT(经典表使用 SMALLINT)。类型 abap.clnt、abap.dats、abap.tims、abap.accp、abap.lchr、abap.varc、abap.df16_raw 及 abap.df34_raw 已弃用。
02 关键细节
- 字段语法:field_definition ::= [field_annotation] [key] field_name : type_reference [null];官方支持空值;abap.string 与 abap.rawstring 必须使用 null 关键字。
- 客户端依赖通过 @ClientHandling.type 注解隐式处理;不再支持 abap.clnt。
- abap.int1 映射至 TINYINT——与经典表唯一的类型映射差异;abap.dats 和 abap.tims 被 abap.datn (DATE) 和 abap.timn (TIME) 取代。
- DF16_RAW、DF34_RAW 和 LCHR 已弃用。DF16_RAW 和 DF34_RAW 需表转换才能切换至 DEC、DECFLOAT16 或 DECFLOAT34。
03 为什么重要
创建或迁移至 CDS 表实体的开发者须采用可为空的 LOB/地理数据类型、处理隐式客户端依赖,并规划弃用类型的替换,以免阻碍后续开发或强制进行表转换。
04 适合谁
ABAP开发者、数据架构师及SAP HANA 管理员。
原始来源