华为MetaERP Oracle EBS R12 库存模块(INV)vs Fusion Cloud Inventory 后台表、核心程序全维度详细拆解一、整体架构总览1. 定位差异表格项目 E Oracle EBS R12 库存模块INVvs Fusion Cloud Inventory 后台表、核心程序全维度详细拆解一、整体架构总览1. 定位差异项目EBS R12 INV本地部署Fusion Cloud InventorySaaS 云原生架构传统 Oracle EBS 多应用模块表单 并发请求 PL/SQL 底层表结构固化业务逻辑大量下沉数据库层云原生 PAASSAAS逻辑分层UI 层→REST API→应用服务→数据层核心业务逻辑 Java 服务化数据库仅做数据持久极少复杂业务 PL/SQL库存核心代码载体PL/SQL 包、并发程序、Form、Workflow、触发器Java 微服务、REST API、ESS 调度作业、BIP 报表数据库层轻量化数据模型高度冗余、事务驱动单库大表按 ORG、子库存隔离逻辑分区 物理分片全局账套隔离维度化模型历史事务做冷热分离归档第一部分Oracle EBS R12 InventoryINV后台核心表详解一、基础主数据表静态基础数据1. 物料主数据全系统核心MTL_SYSTEM_ITEMS_B核心作用物料主记录全 EBS 最核心基础表组织级物料属性定义关键字段 INVENTORY_ITEM_ID物料唯一主键 ORGANIZATION_ID库存组织 ID SEGMENT1~SEGMENT40物料编码弹性域 PRIMARY_UOM_CODE主单位 INVENTORY_ITEM_STATUS_CODE物料状态启用、报废、冻结 STOCK_ENABLED_FLAG是否可库存收发 PURCHASING_ENABLED_FLAG、WIP_ENABLED_FLAG、SALES_ENABLED_FLAG采购、生产、销售启用标记关联物料属性、批次、序列号、保质期、批号管控开关全部在此控制MTL_ITEM_CATEGORIES物料分类绑定分类集用于报表、权限、ABC 分类、科目自动分配MTL_UNITS_OF_MEASURE单位定义MTL_UOM_CONVERSIONS单位换算关系2. 库存组织、子库存、货位架构ORG_ORGANIZATION_DEFINITIONSEBS 业务组织区分库存组织、OU、法人主体MTL_SECONDARY_INVENTORIES子库存仓库、库区良品仓、不良仓、寄售仓 关键字段SECONDARY_INVENTORY_NAME、ORGANIZATION_ID、LOCATOR_TYPE是否启用货位MTL_ITEM_LOCATIONS库存货位库位货架、库区精细化库位编码MTL_SUBINVENTORY_LOCATORS子库存 货位绑定关系3. 批次、序列号、质保期管控基础表MTL_LOT_NUMBERS物料批次主数据生产日期、有效期、供应商批次、质检状态MTL_SERIAL_NUMBERS序列号台账单件全生命周期追踪入库→出库→返修MTL_ONHAND_QUANTITIES_DETAIL精准现有量明细子库存 货位 批次 序列号维度MTL_ONHAND_QUANTITIES汇总现有量日常查库存余量最常用视图级汇总表二、库存事务核心业务表所有出入库单据最终落地表核心主表MTL_MATERIAL_TRANSACTIONSMMT重中之重核心定位EBS 库存所有业务唯一事务总账入库、出库、调拨、盘点、杂收杂发、WIP 投料、销售挑库全部写入本表关键字段拆解字段含义典型业务场景取值TRANSACTION_ID事务唯一主键每一笔操作一条记录INVENTORY_ITEM_ID物料 ID关联物料主数据ORGANIZATION_ID库存组织业务所属仓库组织TRANSACTION_TYPE_ID事务类型 ID核心区分业务1采购入库2销售出库3子库存调拨27盘点调整32杂项接收33杂项发放SOURCE_TYPE_ID来源模块PO 采购、WIP 生产、OE 销售、INV 库存本身、总账杂项SOURCE_HEADER_ID/SOURCE_LINE_ID来源单据 ID采购订单号、销售订单行、工单 IDTRANSACTION_QUANTITY事务数量入库正数出库负数SUBINVENTORY_CODE子库存出入库仓库LOCATOR_ID库位 ID具体货架位置LOT_NUMBER批次号、SERIAL_NUMBER批次序列号ACTUAL_COST事务成本标准成本 / 移动平均成本TRANSACTION_DATE事务发生时间账务入账时间COSTED_FLAG成本是否已核算Y成本处理完成N等待成本管理器核算配套关联表MTL_TRANSACTION_ACCOUNTS当前事务对应的会计科目分录库存事务自动产生的借贷科目原材料、存货、主营业务成本、制造费用MTL_TRANSACTION_LOTS事务对应的批次明细MTL_TRANSACTION_SERIALS事务绑定序列号明细MTL_TRANSACTION_REASONS事务原因代码报废、领用、赠送、盘盈盘亏三、调拨、转移、盘点专用表子库存调拨MMT 一条出库记录负数量 一条入库记录正数量TRANSACTION_TYPE_ID3组织间调拨跨仓库组织MTL_INTERORG_TRANSACTIONS组织间调拨头行同步生成两边组织 MMT 事务库存盘点体系全套表MTL_PHYSICAL_INVENTORIES盘点表头盘点方案、盘点范围、冻结库存开关MTL_PHYSICAL_INVENTORY_TAGS盘点标签打印盘点单、现场录入实盘数量MTL_PHYSICAL_INVENTORY_ADJUSTMENTS盘点盈亏调整单审批后自动写入 MMT 调整库存四、库位现有量、预留、挑库、寄售、计划相关表MTL_RESERVATIONS库存预留 销售订单预留、工单物料预留锁定现有库存防止被其他业务占用发货挑库后预留释放WMS 相关高级仓储MTL_TASK_ASSIGNMENTS、MTL_PACKING_UNITS 上架、拣货、打包任务寄售库存表MTL_CONSIGNED_ONHAND、供应商寄售代管库存消耗后才入账采购结算五、成本核算配套表INV 成本核心CST_QUANTITY_LAYERS移动平均成本、先进先出成本的数量成本层CST_COST_ELEMENTS成本构成物料费、运费、关税、制造费用CST_ITEM_COSTS物料当前标准成本 / 平均成本二、EBS INV 核心后台执行程序并发请求 PL/SQL 包1. 核心 PL/SQL 标准包业务逻辑底层INV_MATERIAL_TRANSACTION_PUB官方标准 API外部系统对接、自定义程序插入库存事务标准入口禁止直接 INSERT MMT必须调用 API 保证数据一致性、库存现有量自动更新、会计分录自动生成 典型用法第三方 WMS 回传出入库、系统自动杂收杂发plsql--极简调用伪代码示例 DECLARE l_trans_rec INV_MATERIAL_TRANSACTION_PUB.TRANS_REC_TYPE; l_return_status VARCHAR2(1); BEGIN l_trans_rec.inventory_item_id : 12345; l_trans_rec.organization_id : 82; l_trans_rec.transaction_type_id :32;--杂项接收 l_trans_rec.transaction_quantity :100; INV_MATERIAL_TRANSACTION_PUB.CREATE_MATERIAL_TRANSACTION( p_trans_rec l_trans_rec, x_return_status l_return_status ); COMMIT; END;INV_ONHAND_QUANTITIES_PUB查询、锁定现有量标准 APIINV_RESERVATION_PUB预留创建、释放、修改 APIINV_PHYSICAL_INVENTORY_PUB盘点调整 API2.EBS 标准并发请求系统定时 / 手动提交后台作业成本管理器Cost Manager定时处理 MMT 中 COSTED_FLAGN 的事务计算存货成本、写入会计科目、传送总账 GLEBS 库存账务核心引擎库存事务处理器Transaction Manager处理界面录入、API 提交的异步库存事务更新 MTL_ONHAND_QUANTITIES 现有量表重新计算现有量Reconcile On-hand Quantities修复 MMT 事务和现有量表数据不一致问题日常数据修复常用冻结 / 解冻库存组织、子库存并发程序ABC 分类分析、库存周转率分析并发报表3.EBS 前端载体Form 界面、Workflow经典 FormINVNOI现有量查询、INVTMI手工录入库存事务、INVPPI盘点定义工作流盘点审批、组织间调拨审批流程底层调用 INV 标准 API 落地数据4.EBS 库存数据写入逻辑链路界面手动操作 / API 调用 → 入队事务队列 → 事务管理器后台解析 → 写入 MMT 事务表 → 更新 MTL_ONHAND_QUANTITIES 现有量 → 成本管理器核算成本 → 生成 MTL_TRANSACTION_ACCOUNTS 会计分录 → 接口同步至 GL 总账第二部分Oracle Fusion Cloud Inventory 库存模块拆解一、Fusion 和 EBS 数据模型本质区别无单张大事务表 MMTFusion 做了业务拆分、冷热数据分离活跃事务、历史归档分开存储数据库禁止自定义触发器、大批量 PL/SQL 业务逻辑业务逻辑全部封装在 Java 服务数据采用维度建模库存组织、库存维度子库存、库位、批次、序列号统一维度表宽表化表名前缀INV_、EGO_物料、MSC_计划租户 IDTENANT_ID做数据隔离多租户天然隔离。二、Fusion Inventory 核心后台数据表1. 物料主数据EGO 物料模块统一管理不再单独 INV 维护EGO_ITEMS_B全局物料主数据企业级EGO_ITEM_ORG_ASSIGNMENTS物料分配至对应库存组织等效 EBS MTL_SYSTEM_ITEMS_BEGO_ITEM_INVENTORY_ATTRIBUTES库存管控属性批次、序列号、库存启用、保质期拆分独立属性表不像 EBS 全部塞一张大表EGO_CATEGORIES_B物料分类2. 库存基础架构表INV_SUBINVENTORIES子库存INV_LOCATORS库位INV_ONHAND_QUANTITIES实时现有量汇总物化视图 实时计算结合INV_ONHAND_QUANTITIES_DETAIL明细维度现有量组织 子库存 库位 批次 序列号3.Fusion 核心库存事务表拆分设计INV_TRANSACTIONS库存事务主表替代 EBS MMT结构轻量化 关键字段TRANSACTION_ID、ITEM_ID、ORGANIZATION_ID、TRANSACTION_TYPE、QUANTITY、SOURCE_DOC_TYPEPO、SO、WIP、COST_AMOUNTINV_TRANSACTION_LOTS、INV_TRANSACTION_SERIALS批次、序列号事务明细INV_ACCOUNTING_ENTRIES库存事务会计分录由成本会计服务生成对接 Fusion 总账 GL不再单独 MTL_TRANSACTION_ACCOUNTSINV_RESERVATIONS库存预留表结构轻量化由预留服务统一管控4. 盘点、调拨、寄售配套表INV_PHYSICAL_INVENTORIES、INV_PHYSICAL_TAGS、INV_PHYSICAL_ADJUSTMENTS盘点全链路表INV_INTERORG_TRANSACTIONS跨组织调拨INV_CONSIGNED_INVENTORY供应商寄售库存三、Fusion Inventory 核心执行程序与接入方式1. 主流接入方式无 Form全 API 驱动1REST API最主流对接方式Fusion 官方提供标准 REST 资源无需操作后台表推荐所有集成通过 API物料同步 APIitems库存事务 APIinventoryTransactions杂收、杂发、调拨、盘点调整现有量查询 APIinventoryOnHandQuantities库存预留 APIinventoryReservations示例REST 提交一笔杂项入库极简请求json{ OrganizationId: 30000012345, ItemId: 10000004567, SubinventoryCode: FG_WH, TransactionType: Miscellaneous Receipt, Quantity: 50, UomCode: EA, TransactionDate: 2026-08-08 }2ESS 调度作业替代 EBS 并发请求Fusion ESSEnterprise Scheduler Service定时后台任务对标 EBS 并发程序库存成本计算作业Calculate Inventory Costs对标 EBS Cost Manager现有量同步刷新作业盘点标签生成、盘点差异自动调整 ESS 任务库存事务会计分录推送总账 ESS 任务3批量导入FBDIFile Based Data ImportExcel 模板上传导入库存事务、盘点数据、物料数据云端标准批量方案对标 EBS OPEN_INTERFACE 开放接口表。2.Fusion 底层业务执行链路前端 UI 操作 / REST API / FBDI 导入 → API 网关鉴权 → Java 库存微服务校验权限、库存规则、物料管控→ 写入 INV_TRANSACTIONS 事务表 → 实时更新现有量缓存 数据库现有量表 → 成本服务异步计算成本 → 会计服务生成分录 → 推送 Fusion GL 总账关键点业务校验全部在应用层 Java 完成数据库层只做简单约束没有复杂 PL/SQL 事务逻辑3.Fusion 禁止操作红线严禁直接 DML 增删改 INV 底层业务表会破坏缓存、事务一致性、租户隔离不支持自定义数据库触发器、自定义 PL/SQL 业务包个性化业务只能通过REST 扩展、BIP 报表、Page Composer 页面配置、自定义 ESS 作业实现。三、EBS INV 与 Fusion Inventory 关键差异对比表1. 数据层对比维度EBS R12 INVFusion Cloud Inventory核心事务表单张大表 MTL_MATERIAL_TRANSACTIONS 承载全业务事务拆分冷热数据归档轻量 INV_TRANSACTIONS业务逻辑承载70% 业务逻辑 PL/SQL 数据库层99% 业务逻辑 Java 应用层数据库纯存储多租户单实例多 ORG 隔离无原生租户原生云多租户 TENANT_ID 强隔离现有量更新事务管理器后台异步更新物理表实时缓存 数据库双写高性能查询会计分录MTL_TRANSACTION_ACCOUNTS 表存储会计服务统一生成分录对接云总账二次开发可写自定义 PL/SQL、触发器、直接 API仅开放官方 API/FBDI禁止直改表2. 程序开发 集成模式模式EBSFusion前端操作Oracle Form、OAF 页面Web UI、Redwood 界面集成对接PL/SQL API、OPEN_INTERFACE 接口表、并发程序REST API、FBDI、SOAP API、事件监听定时任务并发请求 Concurrent RequestESS 云调度作业数据导入开放接口表MTL_TRANSACTIONS_INTERFACEFBDI 文件导入、REST 批量提交成本引擎数据库端 PL/SQL 成本管理器云端 Java 异步成本计算服务四、经典实操案例示例案例 1EBS 通过标准 API 做杂项入库规范开发禁止直插 MMT前置填充接口表MTL_TRANSACTIONS_INTERFACEEBS 标准开放接口提交并发请求Import Inventory Transactions系统自动调用 INV 标准 API 校验数据、生成 MMT 正式事务成本管理器运行后自动生成会计凭证传入 GL案例 2Fusion 对接第三方 WMS 上架入库WMS 系统调用 Fusion/fscmRestApi/resources/latest/inventoryTransactionsREST 接口推送入库数据Fusion 库存服务校验物料、组织、子库存合法性写入 INV_TRANSACTIONS自动增加现有量夜间 ESS 成本作业核算入库成本生成存货借方会计分录。五、日常运维常见问题对应底层表定位EBS 库存数量对不上总账核查 MMT 中 COSTED_FLAGN 未成本处理事务、MTL_TRANSACTION_ACCOUNTS 分录缺失EBS 批次库存冻结检查 MTL_LOT_NUMBERS 中 LOT_STATUS_CODE 冻结标记Fusion 现有量查询不准排查 ESS 现有量刷新作业是否正常执行盘点差异EBS 看 MTL_PHYSICAL_INVENTORY_ADJUSTMENTSFusion 查看 INV_PHYSICAL_ADJUSTMENTS 调整记录。六、学习落地建议EBS 方向吃透 MTL_MATERIAL_TRANSACTIONS 全事务类型、INV 标准 API、成本管理器运行机制尽量使用官方 API 而非硬改表Fusion 方向放弃深耕数据库表优先吃透 REST 业务 API、FBDI 导入模式、ESS 调度云项目几乎不会给到数据库直连权限迁移改造EBS 迁移 Fusion 时存量历史 MMT 事务通过 FBDI 批量迁移至 Fusion INV_TRANSACTIONS业务切换全走新 API。