从 Association 引入字段,掌握 ABAP CDS View Extension 的完整链路

📅 2026/7/17 4:31:54
从 Association 引入字段,掌握 ABAP CDS View Extension 的完整链路
我们今天处理的场景很典型。一个基于 SAP Fiori 的业务伙伴列表已经投入使用,页面能够显示业务伙伴编号、组织名称、地址等信息。业务部门又提出了一个很具体的需求,希望在列表中直接看到联系人的电子邮件地址。问题在于,电子邮件地址并不属于原始 CDS View 当前使用的数据源。它存放在另一个业务对象中,需要沿着业务伙伴与联系人之间的关系才能找到。面对这种需求,最直接的做法似乎是打开原始 CDS View,把联系人数据源连接进来,再把 EmailAddress 放入字段列表。但在 SAP 标准对象、合作伙伴交付对象或者已经稳定运行的核心数据模型中,直接修改原始定义会带来升级覆盖、补丁冲突、对象所有权混乱等问题,也不符合 SAP Clean Core 的扩展思路。更合适的方案,是创建独立的 CDS View Extension,在不修改原始 CDS View 源代码的前提下,为它增加一条新的 Association,并通过这条 Association 引入需要的字段。SAP 对经典 DDIC-Based CDS View 提供了extend view语法。扩展对象可以向原始 CDS View 的字段列表中加入新元素,也可以定义新的 Association。扩展激活后,系统会创建对应的 Append View,并把扩展字段合并进原始数据库视图。整个过程属于 Modification-Free Extension,原始对象仍然保持不变。从业务伙伴跳转到联系人数据这里使用的原始 CDS View 是 DEMO_PARTY_ORIG。它已经包含业务伙伴或组织相关的信息,但