ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

华为MetaERP # Oracle EBS R12 AP:业务对象 (BO) 与逻辑实体 (LE)【聚合关系】深度解析## 前置概念界定(UML 标准 + EBS 落地口径,区分组合 / 聚合

华为MetaERP # Oracle EBS R12 AP:业务对象 (BO) 与逻辑实体 (LE)【聚合关系】深度解析## 前置概念界定(UML 标准 + EBS 落地口径,区分组合 / 聚合 Oracle EBS R12 AP业务对象 (BO) 与逻辑实体 (LE)【聚合关系】深度解析前置概念界定UML 标准 EBS 落地口径区分组合 / 聚合 / 关联1. 聚合关系 Aggregation共享聚合弱包含语义整体包含部分但部分具备独立生命周期整体和部分可独立创建、独立存在删除整体不会级联删除组成部分。通俗区分✅组合Composition强所有权零件不能脱离主体删主体→级联删除零件发票头→发票分配、付款→核销记录✅聚合Aggregation容器与成员容器只是临时分组、归类载体成员是独立完整业务对象脱离容器依然有效删除容器成员保留。✅关联Association平等引用两个独立 BO 互相引用不存在 “容器包含”供应商 ↔ 应付发票核心判定三条标准全部满足才是 AP 中的聚合关系存在一个容器业务对象 BO逻辑上收纳一批成员成员本身是完整业务对象自带一套独立组合逻辑实体删除容器成员数据不被级联删除成员可以脱离容器独立操作也可以加入其他容器。2. 重要前提EBS AP 中聚合发生在【BO ↔ BO】层面 组合发生在【BO ↔ 下属 LE】层面 不要混淆层级组合整体 BO → 内部从属逻辑实体 LE聚合容器 BO → 多个独立成员 BO一、AP 模块内典型聚合关系全景梳理聚合 1付款批 Payment Batch【容器 BO】 聚合 多个 付款 Payment【成员 BO】这是 EBS AP最典型、最重要的聚合关系也是和 Oracle Fusion AP 最大的差异点Fusion 彻底取消付款批容器。结构表达付款批 BO容器 └──【聚合】多个 付款 BO成员容器逻辑实体付款批头 LEAP_PAYMENT_BATCHES_ALL成员付款 BO付款 BO 自身拥有完整组合结构 付款头 LE 发票付款核销 LE聚合关系核心特征逐条验证判定标准成员具备独立生命周期付款本身是完整业务对象可以独立创建、独立确认、独立取消不依赖付款批存在。删除容器成员保留取消 / 删除付款批底层AP_CHECKS_ALL付款记录、核销记录不会被级联清除。成员可跨容器迁移一笔付款可以被撤销选取未来新一轮付款作业可以重新选取同一条付款计划生成新付款归入新付款批。业务语义付款批只是 “批量作业临时分组容器”用途统一筛选待支付负债、统一打印、统一导出银行付款文件、批量会计处理 不拥有底层资金负债数据仅做任务分组。业务场景举例新建付款批 A → 选取发票生成 10 笔付款 后续删除付款批 A 10 笔付款依旧完整存在可以新建付款批 B 再次处理若尚未确认付款。关键误区提醒❌ 错误认知付款批和付款是组合关系 ✅ 纠正如果是组合删付款批会连带删除付款实际系统无此级联因此只能是聚合。聚合 2发票批 Invoice Batch【容器 BO】聚合 多张应付发票 Invoice【成员 BO】结构表达发票批 BO导入容器 └──【聚合】多张 应付发票 BO成员容器逻辑实体发票批头 LE存储批名称、导入时间、来源标识成员应付发票 BO自带发票头、发票行、分配、付款计划等整套组合 LE聚合特征发票批主要用于批量导入发票接口导入、快速录入批次发票导入成功持久化后发票和发票批仅保留逻辑关联删除发票批不会删除已经生成的正式应付发票发票一旦创建完成可独立修改、验证、付款完全脱离发票批管控。边界发票批仅作为导入阶段管控容器日常业务很少使用聚合属性和付款批一致但使用频次远低于付款批。聚合 3应付发票 BO类型 预付款 Prepayment聚合 预付款扩展 LEAP_PREPAYMENTS_ALL这是「BO 聚合逻辑实体」的特殊场景区别于 BO 聚合 BO区分为什么是聚合、不是组合组合要求删除父 BO子实体必须级联删除。 业务规则 预付款发票一旦发生预付款应用冲抵标准发票产生AP_PREPAY_HISTORY_ALL历史记录系统禁止级联删除 AP_PREPAYMENTS_ALL需要保留预付核销轨迹用于审计。 因此 预付款扩展实体只是附加属性载体不属于强绑定的组合部件属于聚合关系。结构示意应付发票BO预付子类 ├─【组合】发票头、发票行、分配、付款计划基础骨架 └─【聚合】预付款扩展 LE AP_PREPAYMENTS_ALL附加属性补充AP_PREPAY_HISTORY_ALL预付款历史不属于聚合属于跨 BO 关联桥接实体连接预付发票与被冲抵标准发票。二、聚合关系 VS 组合关系 对照汇总AP 落地实例关系类型层级典型案例核心行为特征组合 CompositionBO → 内部从属 LE应付发票 BO → 发票分配 LE付款 BO → 发票付款核销 LE删除父 BO子实体级联删除子实体不能脱离父存在聚合 Aggregation容器 BO → 成员 BOBO → 附加 LE付款批 BO 聚合 付款 BO发票批 BO 聚合 应付发票 BO预付发票 BO 聚合预付款扩展 LE删除容器成员保留成员可独立生命周期关联 AssociationBO ↔ BO平等主体供应商 BO ↔ 应付发票 BO预付发票 BO ↔ 标准发票 BO无容器概念双向外键引用彼此独立高频踩坑澄清坑 1把 “付款批→付款” 当成组合根源直觉“付款批里面包含付款” 数据层面校验在 EBS 测试删除付款批AP_CHECKS_ALL记录完好无级联删除证明是聚合。坑 2混淆 “预付款扩展实体” 归属预付款发票基础骨架发票头、行、分配属于组合 AP_PREPAYMENTS_ALL 属于附加属性聚合不要全部归为组合。坑 3认为聚合只存在于 BO 与 BO 之间EBS AP 存在特例BO 也可以聚合一个逻辑实体附加扩展属性实体前提是不满足级联删除的组合条件。三、聚合关系在系统设计、开发实施上带来的影响1. 数据模型层面聚合容器实体只保存关联外键不拥有业务核心数据 核心业务数据全部存储在成员 BO 对应的一套逻辑实体中。例付款批表只存批次信息金额、供应商、核销明细全部在 AP_CHECKS、AP_INVOICE_PAYMENTS。2. API 操作约束删除付款批 API仅清除批次关联标识不会删除付款单据取消付款操作操作对象是【付款 BO】和归属哪个付款批无关 体现成员 BO 拥有独立完整操作接口。3. 业务流程设计启示付款批只是操作层面的工具不能作为资金管控的核心依据 资金审计、付款轨迹溯源必须以【付款 Payment BO】作为核心对象不能依赖付款批。4. 迁移 / 数据清理注意事项清理历史数据时 不能直接删除付款批期待连带清理付款 必须先单独清理付款、核销记录再清理付款批容器。四、结构化汇总清单可直接粘贴进 ERP 设计文档EBS AP 全部聚合关系清单付款批 BO 聚合 付款 BO最重要业务聚合容器 LEAP_PAYMENT_BATCHES_ALL成员付款 BO内部组合AP_CHECKS_ALL AP_INVOICE_PAYMENTS_ALL发票批 BO 聚合 应付发票 BO导入批量管控聚合容器 LE发票批头成员应付发票 BO 全套组合实体预付款类型应付发票 BO 聚合 预付款扩展 LE主体应付发票基础组合结构聚合附加 LEAP_PREPAYMENTS_ALL
返回列表