news 2026/7/4 3:08:32

华为MetaERP OM 一致性对账 SQL 脚本集合(OM-WSH、WSH-INV、OM-AR、异常订单筛查)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为MetaERP OM 一致性对账 SQL 脚本集合(OM-WSH、WSH-INV、OM-AR、异常订单筛查)

一、Oracle EBS OM 月末关账核对签字清单(财务架构交付版,可直接打印签字)

适用:多 OU MOAC,关账前必做,财务负责人 + 供应链负责人双签字归档

销售订单 OM 关账核对检查表

会计期间:年____月 业务实体 OU:核对日期:____ 核对人:____ 复核人:____ 审批:____

模块一:订单源头数据完整性检查

序号核对事项核对标准是否通过(√/×)异常说明 & 处理记录
1接口订单异常清理OE_HEADERS_IFACE_ALL / OE_LINES_IFACE_ALL 本期接口错误全部处理完毕,OE_INTERFACE_ERRORS_ALL 无未清除报错
2未 Book 录入订单清理ENTER 状态长期挂账订单确认是否作废 / 正常待下单,无滞留废弃订单
3订单 Hold 冻结清理信用 Hold、审批 Hold、价格 Hold 全部解除;冻结无理由滞留订单
4RMA 退货订单校验所有 RMA 均关联原销售订单行,累计退货数量≤原单发货量,无超额退货
5主数据有效性校验本期订单物料、客户、价目表、税码、会计规则无失效 / 空值

模块二:OM ↔ WSH 发运数量对账(核心数量勾稽)

序号核对事项核对标准是否通过(√/×)异常说明 & 处理记录
1订单行发货数量平衡OE_ORDER_LINES_ALL.SHIPPED_QUANTITY 合计 = WSH_DELIVERY_DETAILS.SHIPPED_QUANTITY 合计,分 OU、分期间无差异
2未确认交货 Delivery 清理无本期已拣货但未 Ship Confirm 交货单;跨月发货全部调整至正确期间
3行程同步检查运行 “连接行程停靠站” 并发,订单行状态与交货单状态同步,无 Shipped 状态但无 Delivery 明细数据
4直运 Drop Ship 订单校验直运订单无库存事务,Delivery 数量与订单行发货量匹配

模块三:WSH ↔ INV 库存出库成本对账(COGS 源头)

序号核对事项核对标准是否通过(√/×)异常说明 & 处理记录
1销售出库数量平衡WSH 发货总量 = MTL_MATERIAL_TRANSACTIONS 销售出库事务总量(事务来源 = 销售订单)
2无成本物料排查本期出库物料全部存在标准成本 / 移动平均成本,无零成本出库
3库存事务跨期检查关账前冻结库存,无下期日期出库事务混入本期
4批次 / 序列号一致性高价值物料发货批次、序列号与库存事务完全匹配

模块四:OM ↔ AR 应收收入对账(财务核心金额勾稽)

序号核对事项核对标准是否通过(√/×)异常说明 & 处理记录
1已发货未开票清单核对已 Ship 但未推送 AR 接口 / 接口报错订单全部处理完毕
2收入总额平衡本期 OM 已开票订单行含税 / 不含税收入合计 = AR 本期销售收入 + 贷项冲减总额
3重复开票校验同一交货明细无多张发票重复生成,INVOICED_QUANTITY≤SHIPPED_QUANTITY
4贷项通知单匹配RMA 生成贷项金额与退货订单扩展金额完全一致,无差额

模块五:内控与审计专项检查

序号核对事项核对标准是否通过(√/×)异常说明 & 处理记录
1订单变更审批留痕大额、折价、取消订单全部存在工作流审批记录
2超信用订单清理超信用额度已发货订单完成回款 / 信用豁免审批
3内部 ISO 关联交易核对内部销售收入与对方 OU 应付匹配,转移定价无异常差额
4手工后台改表排查本期无 DBA 直接更新 OE/WSH/AR 业务表操作,所有变更走前台 API

模块六:关账收尾确认

  1. 所有异常差异已查明根因并完成调整,无遗留跨期 / 单边差异:□是 □否
  2. OTC 全流程数据勾稽平衡,可正常结转收入、成本至总账:□是 □否
  3. 本期所有异常单据处理记录、修复脚本、审批附件归档留存:□是 □否

核对签字供应链核对人:__________ 日期:__________ 财务应收 / 成本复核:__________ 日期:__________ 财务负责人审批:__________ 日期:__________


二、可直接部署 Oracle EBS OM 对账 SQL 脚本集合

环境说明

  1. 适配 R12.1 / R12.2,MOAC 多 OU,增加 ORG_ID 筛选;
  2. 脚本均使用标准 EBS 表,无自定义表;
  3. 替换脚本中:P_ORG_ID:P_PERIOD_NAME为并发请求参数,可直接包装成标准报表并发程序;
  4. 仅查询,无 DML 操作,生产环境安全执行;
  5. 区分 4 大类:OM-WSH 数量对账、WSH-INV 成本对账、OM-AR 收入对账、异常订单筛查脚本。

脚本 1:OM 订单行 VS WSH 交货明细 数量对账(分 OU、分期间)

sql

/* OM-WSH发货数量平衡核对脚本 找出数量差异单据 */ SELECT ooh.org_id, ooh.order_number 销售订单号, ool.line_number 订单行号, ool.inventory_item_id, msit.segment1 物料编码, ool.ordered_quantity 订购数量, ool.shipped_quantity OM系统已发货数量, NVL(wsh_sum.delivery_shipped_qty,0) WSH交货实际发货数量, (ool.shipped_quantity - NVL(wsh_sum.delivery_shipped_qty,0)) 数量差异, ooh.flow_status_code 订单头状态, ool.flow_status_code 订单行状态 FROM oe_order_headers_all ooh INNER JOIN oe_order_lines_all ool ON ooh.header_id = ool.header_id INNER JOIN mtl_system_items_b msit ON ool.inventory_item_id = msit.inventory_item_id AND ool.org_id = msit.organization_id LEFT JOIN ( SELECT ddl.source_line_id, SUM(ddl.shipped_quantity) delivery_shipped_qty FROM wsh_delivery_details ddl WHERE ddl.source_type_code = 'OE' GROUP BY ddl.source_line_id ) wsh_sum ON ool.line_id = wsh_sum.source_line_id WHERE 1=1 AND ooh.org_id = :P_ORG_ID AND ool.shipped_quantity <> NVL(wsh_sum.delivery_shipped_qty,0) AND ooh.creation_date BETWEEN gl_periods.start_date AND gl_periods.end_date AND gl_periods.period_name = :P_PERIOD_NAME ORDER BY ooh.org_id, ooh.order_number, ool.line_number;

脚本 2:WSH 交货明细 VS INV 库存销售出库事务对账(成本核对)

sql

/* WSH发货与库存出库事务数量、成本核对,查找缺库存事务/成本异常 */ SELECT wdd.org_id, ooh.order_number 销售订单号, ool.line_number 订单行号, msit.segment1 物料编码, SUM(wdd.shipped_quantity) WSH发货总数, NVL(mtl_sum.trx_qty,0) 库存出库总数, SUM(wdd.shipped_quantity) - NVL(mtl_sum.trx_qty,0) 数量差异, NVL(mtl_sum.total_cost,0) 出库总成本 FROM wsh_delivery_details wdd INNER JOIN oe_order_lines_all ool ON wdd.source_line_id = ool.line_id INNER JOIN oe_order_headers_all ooh ON ool.header_id = ooh.header_id INNER JOIN mtl_system_items_b msit ON ool.inventory_item_id = msit.inventory_item_id AND ool.org_id = msit.organization_id LEFT JOIN ( SELECT mmt.trx_source_line_id, SUM(ABS(mmt.transaction_quantity)) trx_qty, SUM(mmt.transaction_cost * ABS(mmt.transaction_quantity)) total_cost FROM mtl_material_transactions mmt WHERE mmt.trx_source_type = 'Sales order' GROUP BY mmt.trx_source_line_id ) mtl_sum ON wdd.source_line_id = mtl_sum.trx_source_line_id WHERE wdd.source_type_code = 'OE' AND wdd.org_id = :P_ORG_ID AND ooh.creation_date BETWEEN gl_periods.start_date AND gl_periods.end_date AND gl_periods.period_name = :P_PERIOD_NAME GROUP BY wdd.org_id,ooh.order_number,ool.line_number,msit.segment1,mtl_sum.trx_qty,mtl_sum.total_cost HAVING SUM(wdd.shipped_quantity) <> NVL(mtl_sum.trx_qty,0) ORDER BY ooh.order_number;

脚本 3:OM 已开票订单 VS AR 应收发票收入对账(财务金额平衡)

sql

/* OM-AR对账:本期已开票订单收入与AR发票总额差异核对 */ -- 子查询1:OM本期已开票订单不含税收入 WITH om_invoice_data AS ( SELECT ool.org_id, ooh.order_number, SUM(ool.extended_selling_price) om_total_revenue, SUM(ool.extended_tax_amount) om_total_tax FROM oe_order_headers_all ooh INNER JOIN oe_order_lines_all ool ON ooh.header_id = ool.header_id WHERE ool.invoiced_quantity > 0 AND ooh.org_id = :P_ORG_ID AND TRUNC(ooh.creation_date) BETWEEN gl_periods.start_date AND gl_periods.end_date AND gl_periods.period_name = :P_PERIOD_NAME GROUP BY ool.org_id, ooh.order_number ), -- 子查询2:AR本期销售发票+贷项单收入 ar_trx_data AS ( SELECT rla.org_id, rla.source_order_number, SUM(rla.line_amount) ar_line_revenue, SUM(rla.tax_amount) ar_tax_amount FROM ra_customer_trx_all rct INNER JOIN ra_customer_trx_lines_all rla ON rct.customer_trx_id = rla.customer_trx_id WHERE rla.source_type = 'ORDER' AND rct.trx_date BETWEEN gl_periods.start_date AND gl_periods.end_date AND rla.org_id = :P_ORG_ID AND gl_periods.period_name = :P_PERIOD_NAME GROUP BY rla.org_id, rla.source_order_number ) SELECT COALESCE(om.org_id,ar.org_id) org_id, COALESCE(om.order_number,ar.source_order_number) 销售订单号, NVL(om.om_total_revenue,0) OM不含税收入, NVL(ar.ar_line_revenue,0) AR不含税收入, NVL(om.om_total_revenue,0) - NVL(ar.ar_line_revenue,0) 收入差额, NVL(om.om_total_tax,0) OM税金, NVL(ar.ar_tax_amount,0) AR税金差额 FROM om_invoice_data om FULL OUTER JOIN ar_trx_data ar ON om.org_id = ar.org_id AND om.order_number = ar.source_order_number WHERE NVL(om.om_total_revenue,0) <> NVL(ar.ar_line_revenue,0) OR NVL(om.om_total_tax,0) <> NVL(ar.ar_tax_amount,0) ORDER BY COALESCE(om.order_number,ar.source_order_number);

脚本 4:异常订单综合筛查脚本(关账前批量排查脏数据)

sql

/* 统一筛查四类异常:未处理接口、长期Hold、已发货未开票、超额RMA、零成本出库 */ -- 1. 接口导入错误订单 SELECT '接口错误订单' 异常类型, ohea.order_number, ohea.error_message FROM oe_headers_interface_all ohea WHERE ohea.process_status = 'ERROR' AND ohea.org_id = :P_ORG_ID UNION ALL -- 2. 长期存在Hold冻结订单 SELECT '订单Hold冻结' 异常类型, ooh.order_number, oh.hold_name FROM oe_order_headers_all ooh INNER JOIN oe_order_holds_all oohl ON ooh.header_id = oohl.header_id INNER JOIN oe_holds_all oh ON oohl.hold_id = oh.hold_id WHERE ooh.org_id = :P_ORG_ID AND oohl.release_date IS NULL UNION ALL -- 3. 已发货未开票订单 SELECT '已发货未开票' 异常类型, ooh.order_number, ool.line_number, ool.shipped_quantity, ool.invoiced_quantity FROM oe_order_headers_all ooh INNER JOIN oe_order_lines_all ool ON ooh.header_id = ool.header_id WHERE ool.shipped_quantity > 0 AND ool.invoiced_quantity = 0 AND ooh.org_id = :P_ORG_ID UNION ALL -- 4. RMA退货量大于原发货量(超额退货) SELECT 'RMA超额退货' 异常类型, rma.order_number, rma.line_number, rma.shipped_quantity rma退货量, src.shipped_quantity 原单发货量 FROM oe_order_headers_all rma INNER JOIN oe_order_lines_all rmal ON rma.header_id = rmal.header_id LEFT JOIN oe_order_lines_all src ON rmal.reference_line_id = src.line_id WHERE rma.order_type_id IN (SELECT transaction_type_id FROM oe_transaction_types_all WHERE type_name LIKE '%RMA%') AND rmal.shipped_quantity < 0 AND ABS(rmal.shipped_quantity) > NVL(src.shipped_quantity,0) AND rma.org_id = :P_ORG_ID UNION ALL -- 5. 库存零成本出库订单 SELECT '零成本出库' 异常类型, ooh.order_number, msit.segment1 物料编码, mmt.transaction_cost FROM mtl_material_transactions mmt INNER JOIN wsh_delivery_details wdd ON mmt.trx_source_line_id = wdd.source_line_id INNER JOIN oe_order_lines_all ool ON wdd.source_line_id = ool.line_id INNER JOIN oe_order_headers_all ooh ON ool.header_id = ooh.header_id INNER JOIN mtl_system_items_b msit ON ool.inventory_item_id = msit.inventory_item_id WHERE mmt.trx_source_type = 'Sales order' AND NVL(mmt.transaction_cost,0) = 0 AND mmt.organization_id = :P_ORG_ID;

脚本使用配套说明

  1. 参数适配
    • :P_ORG_ID:业务实体 OU ID,多 OU 并发报表绑定参数;
    • :P_PERIOD_NAME:会计期间名称(如2026-07),过滤当期单据。
  2. 部署方案
    • 在 EBS 标准并发程序中新建 “SQL 报表”,粘贴脚本,绑定参数;
    • 权限分配给成本会计、应收会计、供应链主管;
    • 设置定时请求:每日自动运行异常筛查脚本,月末手工执行三大对账脚本。
  3. 差异处理优先级① 接口报错单据 → ② WSH 与 OM 数量差异 → ③ 库存零成本出库 → ④ OM 与 AR 收入差额 → ⑤ RMA 超额退货 / 冻结订单。
  4. 修复前置约束所有差异禁止直接 update 业务表;数量不同步优先运行并发请求「连接行程停靠站」、重启 OM 工作流;接口异常修正源数据后重新提交导入。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 3:08:10

无感FOC与滑膜观测器在电机控制中的应用

1. 无感FOC与滑膜观测器概述在电机控制领域&#xff0c;无感FOC&#xff08;Field-Oriented Control&#xff09;技术正逐渐成为主流解决方案。这种技术最大的特点是不需要机械传感器就能精确控制电机运行&#xff0c;既降低了系统成本又提高了可靠性。而实现这一目标的核心&am…

作者头像 李华
网站建设 2026/7/4 3:05:54

1kW高效BLDC电机设计:医疗设备应用与转矩脉动控制

1. 项目背景与核心挑战在工业自动化和小型动力系统领域&#xff0c;直流无刷电机(BLDC)因其高效率、长寿命和低维护特性已成为现代驱动系统的首选方案。这个1kW高效电机设计案例源自我们为某精密医疗设备配套开发的动力模块需求&#xff0c;核心指标要求转矩脉动控制在额定值的…

作者头像 李华
网站建设 2026/7/4 3:05:38

保姆级外部字幕添加教程 3步搞定播放器字幕加载

给视频播放器添加外部字幕可通过同名自动加载、拖拽导入、手动菜单选择三种通用方法完成&#xff0c;搭配支持多格式字幕的播放器可进一步提升操作效率。外挂字幕添加通用操作步骤同名自动加载&#xff08;推荐&#xff09;&#xff1a;将视频文件和字幕文件放在同一文件夹&…

作者头像 李华
网站建设 2026/7/4 3:05:36

aixingpan.cn API开发文档:api_docs_onechart_lunar_return2接口指南

aixingpan.cn API开发文档&#xff1a;api_docs_onechart_lunar_return2接口指南 1. 引言 本文档详细介绍了占星系统的api_docs_onechart_lunar_return2接口的使用方法&#xff0c;包括请求参数详解、响应数据结构、错误处理机制以及最佳实践建议。 2. 接口基础信息 接口名称: …

作者头像 李华
网站建设 2026/7/4 3:02:45

大模型应用中的“中转层”到底解决了什么问题?

过去一段时间&#xff0c;大模型应用的热度一直很高。从聊天机器人、智能客服&#xff0c;到知识库问答、代码助手、内容生成工具&#xff0c;再到企业内部自动化系统&#xff0c;越来越多应用开始接入大模型能力。但很多人在真正开发或长期使用 AI 应用时&#xff0c;会发现一…

作者头像 李华