在一个运行了多年的 SAP S/4HANA 系统里,打开早期开发的 CDS Data Definition,经常能看到这样的组合,@AbapCatalog.sqlViewName、@AbapCatalog.compiler.compareFilter、@AbapCatalog.preserveKey,再配上一句define view。这些对象今天大多仍然可以运行,很多 OData 服务、报表、接口甚至自定义 ABAP 程序都可能建立在它们之上。但如果现在重新设计一个 RAP Business Object,情况已经完全不同。新代码通常会直接写成define view entity。SAP 官方文档已经把基于 DDIC 的传统 CDS View 标记为 obsolete,并明确推荐在新的数据模型中使用 CDS View Entity。SAP 给出的理由不只是语法更现代,也包括激活性能、技术模型简化以及后续 CDS 能力的发展方向。(SAP Help Portal)真正棘手的地方并不是把define view改成def