☰
从 Self-Association 到递归树,深入理解 ABAP CDS Hierarchy Definition 的设计与运行机制
2026/10/13 10:12:29 网站建设 项目流程

在 SAP S/4HANA 项目里,组织架构、成本中心树、利润中心层级、产品分类、物料分类以及员工与经理的汇报关系,看起来都是很自然的树形结构。但数据库真正保存这些业务数据时,通常并没有一棵可以直接展开和折叠的树,数据库表里保存的依旧是一行一行的记录。

以企业员工组织结构为例,一条员工记录可能只有EmployeeID、ManagerID、Name这样的字段。员工1002的ManagerID是1001,员工1003的ManagerID也是1001。从数据库关系模型的角度看,这只是两行记录引用了另一行记录,并没有什么所谓的树。

真正让这些数据变成层级结构的,是父节点和子节点之间反复递归的关系。

ABAP CDS 从较新的 ABAP 平台版本开始提供了专门的CDS hierarchy建模能力。SAP 官方文档将一个完整的 CDS hierarchy 拆成三个核心 Repository 对象,也就是底层数据源、带有 self-association 的 CDS view entity,以及通过define hierarchy定义出来的 CDS hierarchy。SAP 官方同时明确说明,self-association 会把当前 CDS view entity 自己作为 association target,由此建立递归的 parent-child relationship。

这三个对象如果只看名字

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询