ABAP CDS View in ABAP 7.55
在 ABAP 版本 7.55 中,我们可以创建以下 7 种类型的 ABAP CDS 实体:
功能特点
- CDS View Entities:
- 作为经典 CDS DDIC 视图的升级版,它在继承原有视图优势的基础上,可能在诸如数据查询性能优化、对复杂业务逻辑的支持程度、与其他模块或系统的兼容性等方面有所改进。例如,在处理多表关联查询时,能更高效地整合数据,或者更灵活地应对不同业务部门对数据展示格式的多样化要求。
- 依旧基于 ABAP 字典(DDIC)构建,利用其中已定义好的数据库对象信息,为上层应用提供经过整理和筛选的数据视图。
- CDS Projection Views:
- 核心在于 “直接投影”,能迅速将底层 CDS 实体的数据原样或按简单规则提取呈现。操作相对简洁直观,减少了中间复杂转换环节,适合快速获取特定 CDS 实体的数据,比如在开发调试阶段,想要快速查看某个已有 CDS 实体的部分数据情况时就很方便。
- 可基于多种不同类型的底层 CDS 实体进行操作,通用性较强,只要符合投影的基本规则,就能实现数据的快速投影展示。
- CDS Custom Entities:
- 最大特点是运行时需手动实现,这意味着开发人员有更大的自主性和灵活性,可以根据独特的业务需求编写高度定制化的代码逻辑,比如针对一些行业特定的、非标准化的数据处理流程,能够自行定义数据如何在运行时进行运算、转换以及对外提供服务等。
- 不依赖于常规的自动化数据处理机制,专为应对复杂、特殊的数据模型场景而设,可突破常规 CDS 实体在功能上的一些局限。
- CDS Hierarchies:
- 专注于从数据源构建层次结构,善于处理具有层级关系的数据,像企业的组织架构树、物料分类的多层级体系等。通过特定的配置和关联规则,将平面化的数据转化为具有清晰层级脉络的数据结构,便于进行层级相关的查询、统计以及权限管理等操作。
- 能够挖掘数据源中潜在的层级关系信息,并以直观的层次形式呈现出来,增强数据的可读性和可分析性,尤其在涉及复杂组织关系和分类体系的数据管理场景中作用显著。
- CDS Table Functions:
- 借助 AMDP 类和函数实现,紧密结合了 ABAP 开发与数据库的过程管理能力。可以利用数据库本身强大的函数功能,在 ABAP 环境下实现复杂的、针对表数据的操作,例如在处理海量数据时,通过编写高效的数据库函数实现分组聚合、复杂条件筛选等操作,提升数据处理效率和功能的丰富度。
- 能将复杂的表级数据操作封装在函数内,便于复用和维护,不同的业务模块可以通过调用这些表函数来获取经过特定处理的数据,保证数据处理逻辑的一致性和可扩展性。
- CDS Abstract Entities:
- 重点在于描述类型属性,相当于为数据库对象实例创建提供了一个抽象的 “模板”。先明确规定数据对象的类型、结构、各属性的约束等内容,后续基于此创建实际的数据库对象实例时就能保证规范性和一致性,避免出现数据结构混乱的情况。
- 从抽象层面规划数据对象体系,便于在大型项目中进行统一的数据库对象管理,尤其是涉及多个团队协作开发、需要遵循统一数据标准的场景下,发挥着重要的规范作用。
- CDS DDIC-based views:
- 基于 ABAP 字典中的数据库视图构建,直接利用了字典中已有的数据定义资源,例如数据表结构、字段含义等信息。这使得视图的创建有了坚实的基础,开发人员可以方便地在已有基础上进行视图的定制和扩展,快速构建出符合业务需求的视图。
- 与 ABAP 字典紧密关联,在 ABAP 系统的整体数据架构中能够很好地融入,确保所构建的视图与其他基于字典的数据库对象在数据一致性和交互性方面表现良好。
适用场景
- CDS View Entities:适用于需要对数据库数据进行常规查询、展示,同时又希望在功能和性能上有一定提升的通用业务场景,比如常见的业务报表生成、数据查询界面的数据呈现等,能满足大多数基于数据库数据展示的日常开发需求。
- CDS Projection Views:在需要快速提取底层 CDS 实体数据,或者对已有 CDS 实体数据进行简单、直接的展示,以及在临时的数据查看、验证等场景下使用效果较好,例如开发人员在测试某个 CDS 实体的输出结果是否符合预期时,可通过投影视图快速查看。
- CDS Custom Entities:针对那些不符合常规数据处理模式、具有特殊业务逻辑要求的复杂数据模型场景,例如特定行业的定制化业务流程,涉及到独特的数据运算、整合以及对外服务规则等情况,只有通过手动实现运行时逻辑才能满足业务需求。
- CDS Hierarchies:凡是涉及到具有层级关系的数据处理场景都非常适用,像企业内部的组织架构管理、产品分类管理、权限层级分配等,能够将原本无序或平面化的数据转化为有层次的结构,方便进行层级相关的操作和管理。
- CDS Table Functions:在需要借助数据库强大的函数处理能力来解决复杂的表数据操作问题时发挥作用,比如在处理大数据量的数据分析、复杂的数据关联计算以及需要频繁复用的特定表级数据处理逻辑等场景下,通过编写 AMDP 类和函数实现的表函数能高效地完成任务。
- CDS Abstract Entities:在大型项目开发中,需要统一管理数据库对象实例的创建,明确数据对象的类型和结构规范,确保不同团队开发的模块在数据层面的一致性和兼容性时,抽象实体的作用就凸显出来了,可作为数据对象创建的标准依据。
- CDS DDIC-based views:适合在基于 ABAP 字典已有数据库视图资源基础上进行视图的扩展、定制,以满足特定业务部门对数据展示、查询的个性化需求,同时保证与整个 ABAP 系统的数据架构紧密融合,便于数据的交互和整体管理。
通过对这些不同类型 ABAP CDS 实体的特点和适用场景的了解,可以在 ABAP 开发过程中根据具体的业务需求精准选择合适的实体类型,从而更高效地构建数据模型和实现相应的数据处理功能。

浙公网安备 33010602011771号