让 To-One 关联真正理解草稿状态,SAP Fiori 业务对象跨根节点导航的完整设计

让 To-One 关联真正理解草稿状态,SAP Fiori 业务对象跨根节点导航的完整设计 在员工主数据的 SAP Fiori Elements 对象页里,员工记录正在编辑,直属经理字段也已经改成了另一位员工。页面仍处于草稿状态,保存动作尚未发生。此时业务人员点击经理姓名,希望进入关联的经理对象页。界面看起来只是沿着一个普通的 CDS Association 做导航,可后端面对的并不是一个简单问题。源记录究竟是活动版本,还是草稿版本,目标记录应该落到活动表,还是草稿表,这条关联是否能够保持两端版本一致,都会直接影响页面看到的数据。这种问题很容易被低估。很多开发人员看到association [0..1],会自然地把它理解成一条带有最大一条结果限制的关联,只要ON条件写对,导航就应该正确。可在 Draft 场景中,关联不仅承担关系建模,还承担版本路由。SAP 官方文档给出的核心规则很明确,启用 Draft 的关联从活动源实例出发时应读取活动目标数据,从草稿源实例出发时应读取草稿目标数据。没有启用 Draft 的关联,即使源实体是草稿实例,仍可能只返回目标实体的活动数据。(SAP Help Portal)问题也正出在这里。Fiori Draft 并不是给原表增加一个状态字段那么简单,而是在活动持久化与草稿持久化之间维持一套成对的数据语义。对于组合层