4. MES物料齐套检查与缺料预警
齐套检查的业务对象与判定逻辑
MES在工单发料前执行齐套检查,核心是回答一个问题:该工单BOM展开后的所有物料需求,在当前可用库存与已分配量条件下,能否被完整满足?齐套检查不是简单比较“库存数量 ≥ 需求量”,而要区分库存的可用状态、已分配状态和冻结状态。
关键对象与字段:
- 工单需求:由工单数量 × BOM单位用量 × (1 + 损耗率) 逐层展开得到,含物料编码、需求数量、需求日期。
- 可用库存:现有库存 − 已分配量 − 冻结量 − 安全库存。只有可用库存才是齐套检查可动用的部分。
- 已分配量:已被其他工单预留但尚未发料的库存,不能重复占用。
- 缺料量:max(0, 需求数量 − 可用库存),是触发预警的直接依据。
齐套判定规则:对工单BOM中每一个物料行,若缺料量 = 0,则该行齐套;所有行齐套,工单整体齐套,允许投产。任一行缺料量 > 0,则工单不齐套,触发缺料预警并阻止投产。
齐套检查的数据流与判定路径
下图展示从工单到齐套结论的完整数据流:工单与BOM展开产生需求,库存与分配数据计算可用量,逐行比对后汇总为工单级齐套状态,并分流到放行或预警阻止两条路径。
齐套检查规则的配置要点
在MES中配置齐套检查规则时,需要明确以下参数,否则检查结果会与预期不符:
| 配置项 | 含义 | 示例值 | 影响 |
|---|---|---|---|
| 检查触发时机 | 何时执行齐套检查 | 工单下达时 / 发料前 | 决定预警提前量 |
| 可用库存口径 | 哪些库存状态计入可用 | 现有 − 已分配 − 冻结 − 安全库存 | 口径过宽会漏报缺料 |
| 损耗率来源 | 损耗率取值方式 | 物料主数据 / BOM行 | 影响需求数量计算 |
| 替代料参与检查 | 替代料是否计入可用 | 是 / 否 | 开启可降低误报 |
| 预警阈值 | 缺料量达到多少触发预警 | 缺料量 > 0 | 可设为大于0即预警 |
| 阻止投产动作 | 不齐套时的系统行为 | 锁定工单 / 禁止发料 | 防止缺料工单流入产线 |
缺料预警的触发与处理
当齐套检查判定为不齐套时,MES应生成缺料预警记录,包含工单号、缺料物料、缺料数量、需求日期和建议到货日期。预警的处理路径通常有三条:
- 紧急采购:对缺料量小、采购周期短的物料,触发采购申请,跟踪到货后重新执行齐套检查。
- 库存调拨:从其他仓库或线边仓调拨可用库存,调拨单确认后重新检查。
- 工单调整:若缺料无法短期解决,可拆分工单,先投产齐套部分,缺料部分延后。
注意:齐套检查通过后,若在发料前库存被其他工单占用,可能导致实际发料时缺料。因此齐套检查通过后应对已分配量进行锁定,或在发料前再次执行检查。
验证齐套检查是否生效
配置完成后,用以下方法验证:
- 构造一个BOM中某物料可用库存小于需求量的工单,执行齐套检查,确认系统输出“不齐套”并生成缺料预警。
- 检查该工单是否被阻止投产(发料单无法生成或工单状态被锁定)。
- 补充该物料库存至满足需求后,重新执行齐套检查,确认工单转为“齐套”并允许投产。
- 核对缺料明细中的缺料量是否等于“需求数量 − 可用库存”,验证计算口径正确。