物理实体完整深度解析前置定义物理实体(Physical Entity):数据库层真实存储表(ONT Schema),具备主键、)
Oracle EBS R12 OMONT 模块物理实体完整深度解析前置定义物理实体Physical Entity数据库层真实存储表ONT Schema具备主键、外键、索引、存储参数 区分基表 (Base Table)正式业务交易存储接口表 (Interface Table)外部导入中转参考表 (Lookup/Master Table)配置主数据重要原则_ALL后缀 多组织分区表依靠ORG_ID实现 MOAC 多 OU 隔离禁止直接 DML 更新任何 OE 基表标准入口OE_ORDER_PUB所有业务流转最终体现为基表字段变更 FLOW_STATUS_CODE状态更新主键规则HEADER_ID / LINE_ID系统自增序列生成业务单号ORDER_NUMBER业务标识不做主键。一、核心主交易物理实体订单骨架1. OE_ORDER_HEADERS_ALL 【销售订单头表】逻辑实体映射Order Header主键HEADER_IDNUMBER所有者ONT表空间APPS_TS_TX_DATA核心外键ORDER_TYPE_ID → OE_TRANSACTION_TYPES_ALLPRICE_LIST_ID → QP_LIST_HEADERS_BORG_ID → HR_OPERATING_UNITSSOLD_TO_ORG_ID / BILL_TO_ORG_ID → HZ_CUST_SITE_USES_ALL关键字段清单字段业务含义关键业务标识HEADER_ID订单头唯一 ID主键关联所有行、价格、HoldORDER_NUMBER订单业务单号手工 / 自动生成ORG_ID业务实体 OUMOAC 多组织隔离TRANSACTION_TYPE_CODE单据类型ORDER / QUOTATION / RETURN 区分销售订单 / 报价 / RMABOOKED_FLAG是否已登记YBooked启动 WorkflowFLOW_STATUS_CODE头汇总状态所有行状态聚合结果ORDERED_DATE下单日期定价日期默认取值PRICE_LIST_ID价目表 IDQP 定价上下文SOLD_TO_ORG_ID下单客户地点BILL_TO_ORG_ID开票地点SHIP_TO_ORG_ID收货地点PAYMENT_TERM_ID付款条款INVOICING_RULE_ID开票规则分期开票ATTRIBUTE1~30头级弹性域客户扩展字段业务特征一张订单一条头记录报价单、销售订单共用本表头状态不驱动履约履约状态由订单行独立控制Book 后才允许调度、挑库发放支持头级 Hold、头级价格附加费。2. OE_ORDER_LINES_ALL 【销售订单行表OM 最重要物理表】逻辑实体映射Order Line主键LINE_ID 外键HEADER_ID → OE_ORDER_HEADERS_ALL.HEADER_IDEBS OM 一切履约、发运、开票、状态全部下沉到行。关键字段字段业务含义核心作用LINE_ID订单行唯一主键全模块关联核心键HEADER_ID关联订单头 ID主从关联LINE_TYPE_ID行类型 ID标准行、运费行、模型行、组件行、退货行INVENTORY_ITEM_ID物料 IDMTL_SYSTEM_ITEMS_BORDERED_QUANTITY订购数量原始需求数量SHIPPED_QUANTITY已发运数量Ship Confirm 回填INVOICED_QUANTITY已开票数量AutoInvoice 回填CANCELLED_QUANTITY取消数量UNIT_SELLING_PRICE单品售价FLOW_STATUS_CODE行状态ENTERED/AWAITING_SHIPPING/SHIPPED/CLOSED【状态机核心】SHIP_FROM_ORG_ID发货库存组织INV 库存组织REQUEST_DATE客户要求到货日SCHEDULE_SHIP_DATE计划发运日调度后更新TOP_MODEL_LINE_ID顶层模型行 IDPTO/ATO 选配子行指向父模型 LINE_IDSHIP_SET_ID发货集 ID多条行捆绑同时发货ATO_LINE_IDATO 配置物料关联 IDOPEN_FLAG是否未关闭Y/NATTRIBUTE1~30行级弹性域关键业务规则分批发运底层机制自动拆出新订单行原行保留剩余数量每一行独立 Workflow 实例、独立 Hold、独立生命周期WSH 发运明细表通过SOURCE_HEADER_ID / SOURCE_LINE_ID关联订单FLOW_STATUS_CODE由 Workflow 驱动禁止直接 UPDATE 修改。二、订单附属交易物理实体依附头 / 行3. OE_ORDER_SCHEDULES_ALL 【订单调度行表】逻辑实体映射Order Schedule 主键SCHEDULE_ID 外键HEADER_ID、LINE_ID → OE_ORDER_LINES_ALL 关键字段RESERVATION_ID → MTL_RESERVATIONS库存预留主键SCHEDULE_DATE 计划调度日期ATP_FLAG ATP 可用性标记业务作用存储订单行 ATP 调度结果建立订单与库存预留关联取消调度同步删除 MTL_RESERVATIONS 预留⚠️ 和 Fusion 区别EBS 调度行只负责 ATP 与预留不是履约单元Fusion 履约行 Fulfillment Line 承担更多能力。4. OE_PRICE_ADJUSTMENTS 【价格调整表】逻辑实体映射Price Adjustment 主键PRICE_ADJUSTMENT_ID 外键HEADER_ID / LINE_ID二选一区分头级 / 行级费用折扣 关键字段ADJUST_AMOUNT调整金额ADJUST_TYPE折扣 / 附加费 / 运费AUTOMATIC_FLAGYQP 自动生成N 手工录入LIST_LINE_TYPE_CODE价目行类型APPLIED_FLAG是否生效业务规则订单保存 / 重新定价由 QP 引擎自动写入不允许直接 DML 本表必须调用 OE_PRICE_PUB订单应收金额 行金额 ± 所有关联价格调整合计。5. OE_HOLDS_ALLOE_ORDER_HOLDS_ALL【订单冻结表】逻辑实体映射Order Hold 主键HOLD_ID 外键HEADER_ID / LINE_ID头冻结 / 行冻结 关键字段HOLD_SOURCE_ID → OE_HOLD_SOURCES_ALL冻结来源定义RELEASED_FLAGY 已释放 / N 有效冻结RELEASE_DATE释放时间核心逻辑只要存在未释放 HoldWorkflow 无法推进发运、开票履约节点 冻结来源信贷自动冻结、人工 Hold、审批流程冻结。6. OE_WF_PROCESSES 【订单工作流关联表】主键WF_PROCESS_ID 外键HEADER_ID、LINE_ID 关键字段ITEM_TYPEWorkflow Item TypeOM 订单流程标识ITEM_KEYWorkflow 引擎实例唯一键WF_ITEM_KEY物理意义绑定订单头 / 行与 Oracle Workflow 运行实例 Workflow 后台进程依靠本表找到对应订单推进状态、执行活动。7. OE_ORDER_CHANGE_HISTORY 【订单变更历史表】主键CHANGE_HISTORY_ID 外键HEADER_ID, LINE_ID 存储订单关键字段变更前后值。局限性仅审计日志无正式变更单业务对象、无版本基线直接原地修改订单数据这是 EBS 原生短板。8. OE_SETS 【发货集 / 到达集主表】主键SET_ID OE_ORDER_LINES_ALL.SHIP_SET_ID/ ARRIVAL_SET_ID 关联本表 用于成套订单强制多行统一调度、统一发货。三、退货业务物理实体RMA 单据9. OE_RMA_HEADERS_ALL 退货订单头10. OE_RMA_LINES_ALL 退货订单行一套独立表结构不和销售订单头行共用 TRANSACTION_TYPE_CODERETURN 支持参照原始销售订单创建退货退货接收后推送 AR 贷项通知单接口。关键字段 REFERENCE_HEADER_ID / REFERENCE_LINE_ID参照原销售订单 HEADER_ID/LINE_ID。四、开放接口物理实体外部系统导入订单11. OE_HEADERS_IFACE_ALL 订单头接口表12. OE_LINES_IFACE_ALL 订单行接口表13. OE_ACTIONS_IFACE_ALL 订单操作控制接口表运行机制外部系统写入接口表 → 运行并发请求【Import Orders】→ 内部调用 OE_ORDER_PUB 转正写入 OE_ORDER_HEADERS_ALL / OE_ORDER_LINES_ALL 关键字段ORIG_SYS_DOCUMENT_REF、ORIG_SYS_LINE_REF外部系统唯一标识OPERATION_CODECREATE/UPDATE/DELETE。开发规范外部集成优先使用接口表或 API禁止直写基表。五、OM 配套参考配置表主数据物理实体OE_TRANSACTION_TYPES_ALL订单事务类型定义区分销售订单、报价、退货定义配套 Line Flow 行工作流。OE_HOLD_SOURCES_ALL冻结原因定义OE_ORDER_SOURCES订单来源手工录入、EDI、CRMOE_SALES_CREDITS销售提成分配表六、跨模块关联外部物理表OM 频繁关联不属于 ONT Schema但 O2C 流程强依赖报表 / 开发必备关联关系WSH_DELIVERY_DETAILS_ALLWSHWDD.SOURCE_HEADER_ID OOL.HEADER_ID WDD.SOURCE_LINE_ID OOL.LINE_ID 订单行 ↔ 发运行核心关联MTL_RESERVATIONSINV库存预留RESERVATION_ID ↔ OE_ORDER_SCHEDULES_ALL.RESERVATION_IDMTL_SALES_ORDERSINV订单 Book 后生成库存事务溯源销售订单RA_INTERFACE_LINES_ALLAR 接口表Workflow 推送开票数据的中转表AutoInvoice 来源QP_LIST_HEADERS_B / QP_LIST_LINESQP 高级定价价目主数据七、OM 物理实体 ER 关系总览plaintextOE_ORDER_HEADERS_ALL (1) ├─ OE_ORDER_LINES_ALL (0..N) │ ├─ OE_ORDER_SCHEDULES_ALL (0..1) │ ├─ OE_PRICE_ADJUSTMENTS (0..N行级) │ ├─ OE_HOLDS_ALL (0..N行冻结) │ ├─ OE_WF_PROCESSES (0..1) │ └─ OE_ORDER_CHANGE_HISTORY (0..N) ├─ OE_PRICE_ADJUSTMENTS (0..N头级附加费) ├─ OE_HOLDS_ALL (0..N头冻结) └─ OE_WF_PROCESSES (0..1头流程) OE_ORDER_LINES_ALL (Model父行) ↳ OE_ORDER_LINES_ALL (Option子行) TOP_MODEL_LINE_ID自关联 【接口层】 OE_HEADERS_IFACE_ALL (1) ↳ OE_LINES_IFACE_ALL (0..N) 【退货独立分支】 OE_RMA_HEADERS_ALL (1) ↳ OE_RMA_LINES_ALL (0..N)八、EBS OM 物理模型架构核心特点和 Fusion 关键差异无独立履约层物理表不存在类似 FusionFUSION_FULFILLMENT_LINES_V履约行订单行直接对接 WSH 发运分批发运依靠拆行实现造成数据冗余。调度与履约分离OE_ORDER_SCHEDULES_ALL 仅管理 ATP 与预留不跟踪发货、开票履约任务。业务逻辑大量下沉数据库层价格计算、库存预留、状态更新、Workflow 触发全部依托 PL/SQL 包表与业务逻辑紧耦合。头行扁平主从模型两层结构头→行没有多层履约分解能力无变更单物理表变更直接更新 OE 基表仅留存日志缺少变更版本隔离同步调用模型OM 通过 API 直接调用 WSH、INV、AR不存在事件消息中间表跨模块故障容易事务回滚连锁影响。九、开发 / 运维重要禁忌基于物理实体特性严禁直接 UPDATE OE_ORDER_LINES_ALL.FLOW_STATUS_CODE会导致 Workflow 上下文断裂不要手动删除 OE_HOLDS_ALL 记录使用 OE_HOLD_PUB 释放冻结禁止绕过 OE_ORDER_PUB 直接 INSERT/DELETE 头行表会丢失定价、弹性域、工作流初始化逻辑接口导入必须填充 ORIG_SYS_DOCUMENT_REF否则无法后续通过接口执行订单变更查询订单完整信息必须关联 FLOW_STATUS不能仅依靠数量字段判断订单状态。