ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

ABAP CDS Association 实战,从 Travel 与 Customer 关系建模到路径导航

ABAP CDS Association 实战,从 Travel 与 Customer 关系建模到路径导航 在 ABAP CDS 数据模型里看到_Customer、_SalesOrder、_Supplier、_Product这类以下划线开头的名称时,背后通常不是普通字段,而是一条 Association。很多刚接触 CDS 的开发人员会把 Association 理解成一种写法更漂亮的 SQL Join。这样的理解只能解释一部分现象,却很难解释为什么 Association 可以被下层 CDS 暴露给上层 CDS,为什么 ADT 的 Data Preview 可以直接执行Follow Association,为什么_Customer.FirstName能出现在字段列表中,也无法解释为什么一个已经定义好的 Association 在某些 SQL 场景下甚至不会产生实际的数据库 Join。理解这些问题,需要把 CDS Association 看成数据模型中的结构关系,而不是一条提前固定好的 Join。SAP 官方对于 Association 的描述也非常明确,Association 用于描述 CDS Entity 之间的结构关系。当 Association 被路径表达式真正使用时,它才会根据上下文转化成相应的 Join。特别是在 CDS Entity 的元素列表中通过 Association 访问目标字段时,默认会在数据库层形成LEFT OUTER JOIN。本文用 SAP Flight Reference Scenario 中的 Travel 和 Customer 模型来把整条链路拆开。我们有两个
返回列表