在制造业中,MES(制造执行系统)、SAP(企业资源计划系统)和WMS(仓储管理系统)之间的工单发料流程是一个关键的集成环节,用于确保生产所需的物料能够准确、及时地从仓库发放到生产线。这三个系统协同工作,实现从生产计划到物料配送的闭环管理。
以下是MES、SAP、WMS之间实现工单发料通常会经历的主要步骤和交互流程:
一、整体流程概览
- SAP生成生产订单
- SAP下发工单至MES
- MES分解工单并触发物料需求
- MES将物料需求传递给WMS
- WMS执行拣料与发料
- WMS反馈发料结果
- MES确认生产领料
- SAP完成物料过账
二、详细步骤说明
1. SAP生成生产订单(Production Order)
- 生产计划部门在SAP中根据MPS/MRP运行结果创建生产订单(CO01事务码)。
- 订单包含:产品编号、数量、BOM(物料清单)、工艺路线、计划开工/完工时间等。
- BOM中定义了所需原材料及其用量。
✅ 输出:SAP中的生产订单(状态为“已释放”或“已创建”)
2. SAP将工单下发至MES
- 通过接口(如IDoc、RFC、Web Service、中间表等),SAP将已释放的生产订单同步到MES系统。
- MES接收后,在系统中创建对应的工单任务,并进行排程或分配到具体产线/工位。
🔗 集成方式:SAP ↔ MES 接口(常用中间件如PI/PO、ERP Connector)
3. MES分解工单并触发物料需求
- MES根据工单信息和BOM,计算实际需要的物料种类和数量。
- 可结合生产节拍、齐套检查(kitting check)判断是否具备开工条件。
- 触发“发料请求”或“领料申请”,发送至WMS系统。
⚠️ 注意:部分场景下,MES可先向WMS发起“预领料”或“齐套检查”请求,确认库存可用性。
4. WMS接收发料请求并执行拣料
- WMS接收到来自MES的发料指令(含工单号、物料编码、数量、目标产线/工位等)。
- WMS根据库存策略(先进先出FIFO、批次管理、库位优化等)生成拣货任务。
- 仓库人员通过PDA或RF设备执行拣料操作,完成实物出库。
📦 可能涉及:
- 批次/序列号管理
- 条码扫描确认
- 容器/托盘绑定
- AGV自动送料(高级场景)
5. WMS反馈发料结果
- 拣料完成后,WMS系统更新库存状态(扣减可用库存)。
- 将发料结果(实际发料数量、批次、时间、操作人等)通过接口回传给MES。
✅ 回传内容示例:
- 工单号
- 物料编码
- 实际发料数量
- 批次号
- 发料时间
- 操作员
6. MES确认生产领料
- MES接收WMS的发料反馈,更新工单状态为“已领料”或“已开工”。
- 记录物料使用明细,支持后续追溯(如质量追溯、成本归集)。
- 若为JIT/JIS模式,可能触发下一工序的备料请求。
7. MES触发SAP物料过账(可选自动或手动)
- MES可通过接口调用SAP的标准函数(如BAPI_GOODSMOVEMENT_CREATE)执行生产订单的组件发料过账(Goods Issue, 261移动类型)。
- 或由SAP定时拉取MES/WMS的发料记录,统一过账。
💡 过账意义:
- 财务成本归集(材料成本计入生产订单)
- 库存账实一致
- 支持后续报工与结算