3. 主数据集成
ERP、MES、QMS、WMS 四套系统各自有独立的主数据表,但业务上它们描述的是同一批对象:同一个物料、同一份 BOM、同一条工艺路线、同一个供应商、同一个客户。主数据集成要解决的核心问题不是"把数据搬过去",而是让四套系统对同一对象的编码、属性、版本和状态保持可解释的一致。一旦不一致,后果会沿着业务链放大:ERP 按物料 A 下采购订单,WMS 收货时按物料 A' 入库,MES 投料时又找不到 A' 的工艺参数,QMS 检验时按 A 的检验规范判定,最终账实不符、批次追溯断裂。
一、主数据的"主"在哪里:确定权威源
一致性管理的第一步是明确每类主数据的权威源(System of Record)。四系统不能都当"主",否则必然冲突。工程上通常这样划分:
- 物料主数据:权威源在 ERP。物料编码、基本计量单位、物料组、采购/生产标识由 ERP 创建并维护,MES、QMS、WMS 只读同步。
- BOM:权威源在 ERP(或 PLM 传入 ERP)。MES 需要 BOM 做投料校验,WMS 需要 BOM 做齐套分析,但都不允许自行修改结构。
- 工艺路线:权威源在 MES 或工艺管理系统。ERP 只关心工序级的外协/工时,QMS 关心工序对应的检验点,WMS 关心工序间的物料流转。
- 供应商:权威源在 ERP。QMS 需要供应商的检验资质与历史质量数据,WMS 需要供应商的到货信息,均从 ERP 同步。
- 客户:权威源在 ERP 或 CRM。MES 需要客户订单对应的特殊工艺要求,QMS 需要客户投诉与退货信息,WMS 需要客户收货地址与标签规则。
权威源确定后,其余系统对该类数据只有"消费权",没有"修改权"。这是避免多头维护的根本前提。
二、一致性管理的三个层次
一致性不是"完全一样",而是分层的:
编码一致是最低要求。同一物料在四系统中必须使用同一个物料编码,不能 ERP 用 MAT-001、WMS 用 M001。如果历史系统已有不同编码,必须建立交叉引用表(Cross Reference),并在集成层做映射,而不是让业务人员手工对照。
属性一致是核心要求。物料的关键属性——计量单位、批次管理标识、保质期、存储条件、检验类型——必须在四系统中语义一致。例如 ERP 中物料标记为"批次管理",WMS 就必须按批次收货,MES 就必须按批次投料,QMS 就必须按批次检验。任何一个系统漏掉这个标识,批次追溯就会断链。
版本一致是最容易被忽视的要求。BOM 和工艺路线都有版本和生效日期。ERP 中 BOM 从 V1.0 切换到 V1.1 的生效时间是 2025-04-01,MES 中的工艺路线也必须同步切换,否则会出现"按新 BOM 领料、按旧工艺生产"的错配。版本一致性要求集成方案必须支持带生效日期的增量同步,而不是简单的全量覆盖。
三、集成方式:从"推"到"拉"的取舍
主数据同步在工程上有三种典型方式,各有适用场景:
事件驱动推送:ERP 中物料创建或修改后,通过消息中间件(如 Kafka、RabbitMQ)发布 MaterialChanged 事件,MES、QMS、WMS 订阅并更新本地副本。优点是实时性好,缺点是要求各系统都能处理消息幂等和乱序。适合物料、供应商、客户这类变更频率中等、实时性要求较高的数据。
定时批量拉取:各系统按固定周期(如每 15 分钟)调用 ERP 提供的增量接口,按 lastModifiedTime 拉取变更记录。优点是实现简单、对 ERP 压力可控,缺点是有一致性延迟窗口。适合 BOM、工艺路线这类变更频率低、但结构复杂的数据。
实时查询:MES 在投料时直接调用 ERP 接口查询 BOM,不在本地存储副本。优点是永远一致,缺点是强依赖网络和 ERP 可用性,且高频调用会影响 ERP 性能。通常只用于关键校验点,不作为主数据同步的常规手段。
四、一致性校验与异常处理
同步机制建立后,还需要一套一致性校验来发现"同步了但不对"的情况。校验通常分两类:
记录级校验:比对四系统中同一物料的属性字段。例如 ERP 中物料 MAT-001 的计量单位是 KG,WMS 中却是 G,这就是属性不一致。校验脚本可以按物料编码逐字段比对,输出差异清单。
业务级校验:检查跨系统的业务引用是否完整。例如 MES 中某工单引用了工艺路线 RT-005,但 ERP 中该工单对应的 BOM 版本已经失效,这就是版本不一致。业务级校验需要结合具体业务场景设计规则。
发现不一致后的处理原则是:以权威源为准,修正消费方。如果 ERP 是物料权威源,WMS 的物料属性与 ERP 不符,就修正 WMS;如果 WMS 已经基于错误属性产生了库存记录,则需要评估影响范围,必要时做库存调整。切忌"两边都改一点",那会制造新的不一致。
五、一个可落地的同步参数示例
以下是一份物料主数据同步的接口参数示例,用于说明集成时需要明确的关键字段。参数为教学示例,实际项目需根据系统能力调整。
{
"syncType": "INCREMENTAL",
"sourceSystem": "ERP",
"targetSystems": ["MES", "QMS", "WMS"],
"entity": "Material",
"keyField": "materialCode",
"lastSyncTime": "2025-03-31T23:59:59+08:00",
"fields": [
"materialCode", "materialName", "baseUOM",
"materialGroup", "batchManaged", "shelfLifeDays",
"storageCondition", "inspectionType", "status"
],
"versionControl": {
"enabled": true,
"effectiveDateField": "validFrom"
},
"conflictPolicy": "SOURCE_WINS"
}
其中 batchManaged、inspectionType、validFrom 是三个最关键的字段:批次管理标识决定 WMS 和 MES 的作业方式,检验类型决定 QMS 的检验流程,生效日期决定版本切换的时机。这三个字段一旦同步错误,后续所有业务动作都会偏离。
六、一致性管理的日常运维
主数据一致性不是一次集成就能永久保证的。日常运维需要做到:
- 变更审批:权威源中的主数据变更必须走审批流,避免随意修改导致下游系统被动跟随。
- 同步监控:对同步任务的执行状态、延迟时间、失败次数做监控,失败时告警并支持重试。
- 定期对账:每周或每月执行一次全量一致性校验,输出差异报告,跟踪差异关闭情况。
- 变更影响分析:当物料属性或 BOM 版本发生变更时,评估对在制工单、在库库存、未清采购订单的影响,必要时冻结相关业务直到同步完成。
总结来说,四系统主数据一致性管理的核心是:先定权威源,再分层次管一致,用合适的同步方式落地,靠校验和运维兜底。物料、BOM、工艺路线、供应商、客户这五类主数据各有其权威源和同步特点,工程上需要逐类设计同步策略,而不是用一套通用方案套用所有对象。