三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

华为MetaERP Oracle Fusion Cloud DOO(Distributed Order Orchestration)分布式订单编排全业务流程详解一、DOO 核心定位与底层设计思想1

华为MetaERP Oracle Fusion Cloud DOO(Distributed Order Orchestration)分布式订单编排全业务流程详解一、DOO 核心定位与底层设计思想1

Oracle Fusion Cloud DOO(Distributed Order Orchestration)分布式订单编排全业务流程详解

一、DOO 核心定位与底层设计思想

1.1 DOO 本质

分布式订单编排并非简单的 “销售订单录入模块”,是全渠道统一订单调度中枢:承接线上商城、线下门店、经销商 EDI、第三方平台、呼叫中心等多来源订单,基于配置化业务规则自动拆解履约任务、跨模块 / 跨系统串行 + 异步驱动履约全链路,统一管控订单全生命周期、异常拦截、变更重编排、闭环对账,打通订单捕获→定价校验→全局承诺→履约执行→发货交付→开票收款→售后退换完整 O2C 闭环。

1.2 核心架构分层(业务实体三层解耦,区别 EBS 两层结构)

  1. 订单头层(DOO_HEADERS_ALL):业务订单整体属性,客户、渠道、订单类型、付款条款、全局管控标记;
  2. 业务订单行(DOO_LINES_ALL):客户原始下单商品、数量、需求交期、基础定价,纯业务诉求;
  3. 履约执行行(DOO_FULFILL_LINES_ALL):DOO 编排引擎自动拆解生成的最小可执行履约单元(核心),一张业务行可拆 N 条履约行,支持分仓、分批、分履约模式、外协直发、内部调拨等分布式交付,所有编排动作围绕履约行执行Oracle。

1.3 核心能力特征

  • 事件驱动异步编排,无 EBS 手动并发请求;
  • 配置化编排流程,无需大量二开改代码;
  • 订单变更智能局部重编排,不重做全流程;
  • 跨异构系统(Fusion 库存 / WMS、外部第三方仓、外协工厂、第三方物流)统一调度;
  • 全链路状态可视、异常自动预警、挂单人工介入修复。

二、整体流程总览(7 大阶段完整生命周期)

  1. 阶段 1:全渠道订单捕获与数据入池
  2. 阶段 2:订单保存、校验、定价、产品配置、信贷风控、合规校验
  3. 阶段 3:全局订单承诺 GOP(Global Order Promising)智能供需排程
  4. 阶段 4:编排引擎初始化、拆分行、绑定编排流程、启动正式编排
  5. 阶段 5:分布式履约核心编排(库存预留→挑库装箱→发运确认)
  6. 阶段 6:自动触发应收开票、收款核销、财务入账闭环
  7. 阶段 7:订单关闭 / 变更 / 取消 / 售后 RMA 逆向编排

三、分阶段精细化拆解(业务动作 + 系统行为 + 后台表 + 关键服务)

阶段 1:全渠道订单捕获(Order Capture)

1)订单接入渠道
  • 前端手动录入:Fusion OM 工作台人工建单;
  • API 实时接入:REST/fscmRestApi/resources/latest/salesOrders、SOAP 服务对接电商、CRM;
  • 批量接口导入:接口表DOO_HEADERS_INTERFACE_ALL/DOO_LINES_INTERFACE_ALL,云定时导入作业批量拉取 EDI、历史迁移订单;
  • OIC 集成中转:对接外部第三方 WMS、线下 POS、经销商系统。
2)数据落地与临时存储

外部数据写入接口表→标准云作业「Import Sales Orders」校验清洗,转正写入正式DOO_HEADERS_ALLDOO_LINES_ALL,订单初始状态:Draft 草稿态,未锁定库存、未启动编排。

3)前置默认值填充

系统自动按业务单元 BU、渠道规则回填:付款条款、收货地址、默认履约仓库、税码、订单类型等基础字段。

阶段 2:订单提交前置全维度校验(Submit 前强校验链)

点击「提交订单」后系统串行执行一整套校验,任一校验失败订单退回草稿态并输出异常日志,顺序如下:

  1. 基础数据合法性校验客户有效性、收货 / 开票地址、物料主数据(EGP_SYSTEM_ITEMS_B)有效性、数量为正、必填字段完整性;
  2. 产品配置校验(选配 / 套件 BOM)对接 Fusion Configurator 配置器,校验选配组件合规性、套件子件完整性,拆分套件行;
  3. 智能定价计算调用独立 Fusion Pricing 云定价服务:价目表基准价、阶梯折扣、满减促销、运费分摊、税费自动计算,定价结果存入DOO_PRICING_ADJUSTMENTS
  4. 全球贸易合规 GTM 校验进出口禁运国家、海关编码合规、出口许可证校验,拦截违规跨境订单;
  5. 客户信贷额度审核对接应收 AR 信贷模块,实时校验客户可用信用;超信用自动触发审批流冻结订单,人工审批通过后放行;
  6. 自定义扩展校验DOO 预置 Extension 扩展点,可嵌入企业自定义规则(如大客户专属审批、超金额订单总经理审批);
  7. 订单锁定保护校验通过后订单上锁,防止并行篡改数据,状态更新为「Submitted 已提交」。

阶段 3:全局订单承诺 GOP 供需智能排程(ATP 高级版)

核心价值

区别 EBS 简单 ATP 库存可用性检查,GOP 全局统筹现有库存、在途采购、生产工单、外协产能、跨 BU 调拨库存,给出最优履约仓库、精确交付日期、可行履约方案(本地直发 / 跨仓调拨 / 供应商直发 DropShip)。

  1. 履约需求接收:读取 DOO 订单行需求数量、客户要求到货日期;
  2. 全网供需扫描:
    • 现有可用库存、已预留占用库存;
    • 已下达采购 PO 在途到货时间;
    • MPS/MRP 计划生产完工时间;
    • 其他业务单元可调拨库存;
  3. 最优履约路由决策: 就近仓库优先发货→库存不足自动建议跨仓调拨→无现货触发供应商直发;
  4. 锁定交付承诺日期,回填至履约行计划发货时间,数据写入DOO_FULFILL_LINES_ALL计划字段。

阶段 4:DOO 编排引擎初始化、拆分行、绑定编排流程(最核心标志性步骤)

4.1 订单分解 Decomposition(DOO 核心差异化能力)

引擎读取 GOP 输出的履约方案,对一条原始业务订单行 DOO_LINES_ALL自动拆分多条DOO_FULFILL_LINES_ALL履约行,拆分触发场景:

  • 多仓库分仓发货;
  • 现货先发、在途货后发的分批交付;
  • 部分商品直发供应商、部分自有仓库发货;
  • 套件物料分开履约、不同承运商配送; 拆分后每条履约行独立生命周期、独立调度、独立状态流转。
4.2 编排分组归类 Orchestration Group

系统按规则将履约行分组,同一组绑定同一套编排流程:

  1. Standard 标准组:普通成品常规发货;
  2. Shipment Set 发货集:强制整套商品同一车次同步发货;
  3. Model/Kit 配置套件组:成套选配产品统一履约;
  4. DropShip 直发组:供应商直接发给客户,跳过自有仓库挑库;
  5. Back-To-Back 背靠背采购:接单后紧急采购再发货。
4.3 绑定编排流程模板

Fusion 预置标准编排模板,企业可视化配置流程步骤、执行顺序、超时预警:

  • ShipOrderGenericProcess:标准自有仓发货通用流程(最常用);
  • DropShipGenericProcess:供应商直发流程;
  • BackToBackGenericProcess:接单采购履约流程;
  • RMA_ReturnProcess:退货逆向订单编排。
4.4 启动编排实例

引擎生成独立编排实例 ID,履约行状态变为「Orchestration In Progress 编排执行中」,正式进入自动化串行任务调度。

阶段 5:标准自有仓正向履约编排(ShipOrderGenericProcess 标准六步执行)

以最主流自有仓库发货场景为例,编排引擎按顺序调用对应云服务,每一步完成后自动触发下一步,失败自动重试或挂起等待人工干预Oracle:

编排步骤编号步骤名称执行服务业务动作后台数据变更
Step100Schedule 排程确认Create Scheduling Service固化 GOP 敲定的发货仓库、计划发货日期、承运商DOO_FULFILL_LINES_ALL 固化履约仓库 ID
Step200库存预留锁定Create Inventory Reservation向 INV 库存模块发起硬预留,锁定对应库存不被其他订单占用INV_RESERVATIONS 生成库存预留单据
Step300创建发运请求Create Shipment Request推送履约明细至 Fusion Shipping 发运模块,生成交货单 WSH_DELIVERIES_ALLWSH 交货单、交货明细 WSH_DELIVERY_DETAILS 绑定履约行 ID
Step400等待挑库 & 装箱确认Wait for Shipment Advance仓库端执行挑库发放 Pick Release→波次拣货→拣货确认→装箱打包;完成后 Shipping 回传确认消息给 DOOMTL_MATERIAL_TRANSACTIONS 库存挑库事务扣减预留
Step500等待发运确认 Ship ConfirmWait for Shipment Advice物流装车出库、承运商揽收,仓库执行 Ship Confirm 发运确认;Shipping 推送出库完成事件至 DOO库存正式扣减,履约行标记为已发货
Step600触发应收开票Create Invoice Service履约行发货完成后自动推送开票数据至 AR 应收模块推送至 AR 开票接口,生成正式应收发票 RA_CUSTOMER_TRX_ALL
特殊履约模式差异化编排逻辑
  1. DropShip 供应商直发跳过自有仓预留、挑库步骤;编排直接下发采购申请→自动生成 PO 给供应商→供应商发货回传物流单据→DOO 收到发货回执后直接触发开票;
  2. Back-To-Back 背靠背接单后自动生成采购申请→审批下达 PO→供应商到货入库→入库完成后自动触发本订单挑库发货;
  3. 跨 BU 内部调拨履约编排触发调拨申请,调出仓出库→调入仓入库→入库完毕自动执行客户端发货。

阶段 6:财务开票、收款、总账入账闭环

  1. 自动开票DOO 调用 AR 开票服务,无需 EBS 手动跑 AutoInvoice 并发;按履约行发货明细生成应收发票,支持整单开票、分批次发货分次开票;
  2. 客户收款核销财务录入收款单 AR Receipt,自动匹配应收发票核销应收款;
  3. 自动总账记账系统根据销售事务、库存出库成本、应收收款自动生成会计分录,过账至 GL 总账:
    • 出库:借主营业务成本、贷库存商品;
    • 开票:借应收账款、贷主营业务收入、应交增值税销项税。

阶段 7:订单收尾、变更、取消、逆向 RMA 售后编排

7.1 正常订单关闭

所有履约行全部发货、开票完成且收款核销完毕,定时云作业「Update or Close Sales Orders」自动将订单头状态更新为Closed 已关闭,整条订单生命周期结束Oracle。

7.2 订单变更智能重编排(DOO 核心优势)

客户中途改数量、改地址、取消部分商品:

  1. 前端发起变更申请,DOO 校验当前履约节点:
    • 未库存预留:直接修改业务行,引擎重新拆分履约行、重启编排;
    • 已预留未挑库:释放原有库存预留,重新预留库存,局部重启编排;
    • 已挑库未发货:取消挑库任务,回退库存,调整后重新执行挑库;
    • 已发货出库:不允许修改实物履约信息,仅可发起退货 RMA;
  2. 引擎仅对受影响的履约行重新编排,未变更履约行继续正常执行,无需整单回滚。
7.3 订单取消
  1. 未发货:一键取消履约行,释放库存预留、撤销后续所有待执行编排任务;
  2. 部分取消:仅作废指定履约行,其余正常履约;
  3. 已发货:无法直接取消,强制走退货 RMA 逆向流程。
7.4 RMA 退货逆向订单编排
  1. 创建退货订单 RMA,DOO 生成逆向履约行;
  2. 编排流程:创建收货通知→仓库接收退货入库质检→合格入库后自动生成贷项红字发票冲减应收;
  3. 库存退回可用库存,财务冲减收入与应收,闭环售后逆向流程。

四、DOO 编排引擎底层执行机制

4.1 任务调度模式

  1. 事件驱动异步通信:DOO 与库存、发运、AR、定价之间通过云事件消息队列交互,非同步阻塞等待;上游模块执行完成推送事件通知 DOO 执行下一步;
  2. 状态机管控履约行:每条履约行内置独立状态机,编排步骤推进同步更新状态:Created→Scheduled→Reserved→Shipped→Invoiced→Closed/Canceled
  3. 超时与异常处理机制
    • 配置步骤超时时间(例如预留 24 小时未挑库自动预警);
    • 执行失败自动重试 N 次,重试失败后订单挂起,工作台推送异常工单给订单专员人工介入修复;
    • 所有操作全日志留存:DOO_ORCHESTRATION_HISTORY记录表编排每一步执行记录、时间、执行人、报错详情。

4.2 配置化编排优势(对比 EBS 硬编码工作流)

  1. 可视化工作台拖拽配置流程步骤、执行条件、审批分支;
  2. 新增履约模式无需开发,直接复制模板微调规则;
  3. 支持条件分支:如大客户订单强制人工审核、小额订单全自动无人值守编排。

五、EBS OM 与 Fusion DOO 流程核心差异对照

对比维度Oracle EBS R12 OMFusion DOO 分布式编排
订单层级订单头 + 订单行两层固定结构订单头→业务行→履约行三层,自动拆解履约单元
执行模式同步工作流 + 手动触发并发请求(Pick Release、AutoInvoice 需人工跑)事件驱动全自动异步编排,无需人工触发后台程序
分批发货处理必须人工手动拆分订单行引擎自动拆履约行,全自动分批履约
订单变更整单重新执行信贷、ATP 全流程局部重编排,仅刷新受影响履约任务
多渠道统一需大量二开集成适配各渠道原生多渠道接入,统一一套编排规则
跨系统调度紧耦合本地模块调用松耦合云服务消息通信,支持对接外部第三方系统
流程扩展PLSQL 硬编码修改工作流可视化配置编排流程,低代码配置

六、典型业务数据流全链路(物理表流转链路)

外部订单接口表 → DOO 正式头 / 行表 → GOP 排程 → DOO_FULFILL_LINES 履约行 → INV 库存预留表 → WSH 发运交货单 → MTL 库存事务表 → AR 应收发票表 → GL 总账凭证表

七、落地实施关键要点

  1. 优先标准化预置编排流程,尽量少定制开发;
  2. 梳理企业履约模式(直发 / 背靠背 / 调拨),针对性配置对应编排模板;
  3. 合理设置异常预警规则,减少人工盯单;
  4. 禁止直写 DOO 后台物理表修改数据,所有变更通过标准 API / 前台操作,避免编排状态机错乱;
  5. EBS 迁移 Fusion 时历史订单迁移至 DOO 接口表,标准导入程序转正,保证编排链路数据一致性。
← 返回列表