sap mm mrp计算

6 阅读7分钟

以下是关于 SAP MM 模块中 MRP(物料需求计划)计算 的全面总结和操作指南。MRP 是 SAP 生产计划(PP)与物料管理(MM)的核心交汇点,其目标是确保物料在正确的时间、以正确的数量可用。

一、MRP 计算的核心逻辑与前提

MRP 计算基于以下核心公式和逻辑运行:
净需求 = 毛需求(总需求) - 可用库存 + 安全库存
其中:

  • 毛需求:来自销售订单、预测(独立需求计划MD61)、其他物料的生产需求(相关需求)等。
  • 可用库存:包括仓库库存、在途的采购订单、生产订单、计划订单等。
  • 安全库存:为防止波动而设置的缓冲库存。

运行 MRP 的前提条件(必须配置)

  1. 工厂级激活:在后台为需要进行 MRP 的工厂打勾激活。

    • 路径SPRO -> 生产 -> 物料需求计划 -> 计划文件条目 -> 激活 MRP 和建立计划相关文件。
    • 事务码OMD0 (定义 MRP 控制者) 或 PPH_MDAB (激活物料需求计划)。
  2. 物料级设定:在物料主数据的 MRP 视图 中,必须进行关键设置。

    • MRP 类型:决定物料是否参与以及如何参与计划。例如:

      • PD:物料需求计划(最常用)。
      • ND:无计划。 (重要:如果设为 ND,则该物料不参与 MRP 计算)
      • VB:基于预测的计划。
    • 物料状态:某些物料状态(如“01-因采购/仓库而被冻结”)可能具有“B-不进行 MRP”的属性,会阻止 MRP。

    • 采购类型E-自制,F-外购,X-两者皆可。这决定了系统产生 计划订单 还是 采购申请

  3. 主数据完整:物料必须有完整的 BOM(物料清单)工艺路线(对于自制件),系统才能展开计算相关需求和时间。

二、MRP 计算的方式与事务码

SAP 提供了三种主要的 MRP 运行方式:

  1. 总计划 - 联机运行(单个工厂)

    • 事务码MD01

    • 描述:在前台交互式运行,计算指定工厂所有物料的净需求。最常用

    • 关键参数

      • 处理代码

        • NETCH:净变化计划。只计算自上次 MRP 运行以来有变动的物料。日常运行首选,速度快。
        • NEUPL:再生计划。重新计算所有物料的需求。系统上线初期或主数据大规模变更后使用
      • 创建采购申请

        • 1:直接创建采购申请(针对外购物料)。
        • 2:在“未清期间”内创建采购申请,之外创建计划订单。未清期间在物料主数据“计划边际码”中定义。
        • 3:总是创建计划订单(需要手动转换)。
      • 创建 MRP 清单1-创建,用于后续评估(MD05)。

      • 调度1-基本日期排产(基于工艺路线时间),2-能力计划排产。

  2. 总计划 - 后台作业运行

    • 事务码MDBT
    • 描述:将 MRP 运行作为后台作业提交,不锁定用户界面。适用于数据量大的夜间批量处理。
  3. 单项计划 - 单个物料

    • 事务码MD02MD03
    • 描述:仅对某一个特定物料运行 MRP。用于测试或紧急需求处理。

三、MRP 计算结果评估与处理

运行 MRP 后,系统会产生供给要素(采购申请、计划订单等)。关键事务码用于查看和处理结果:

  1. 库存/需求清单 (MD04)

    • 核心工具:动态显示物料的所有需求(销售订单、生产订单需求等)和所有供给(库存、采购订单、生产订单、计划订单等),以及系统根据 MRP 运行产生的新建议(采购申请、计划订单)。
    • 用途:分析物料供需状况,处理例外消息,直接在此界面将计划订单转为生产订单(MD04->功能->转换->为生产订单)或将采购申请转为采购订单(MD04->采购申请->采购订单)。
  2. MRP 清单 (MD05)

    • 静态结果:显示最后一次 MRP 运行后的静态快照。数据不会随业务发生实时变化。
    • 用途:用于历史分析和报表。
  3. 处理 MRP 结果

    • 计划订单转生产订单:在 MD04 中直接转换,或使用 MD41/CO41
    • 采购申请转采购订单:在 MD04 中直接转换,或使用 ME21N,将采购申请拖入购物车。
    • 显示生产订单清单COOIS
    • 下达生产订单CO02

四、影响 MRP 计算的关键参数详解

物料主数据 MRP 视图中的参数直接决定了计算逻辑:

  1. MRP 类型 (MRP Type) :如前所述,是总开关。

  2. 批量大小 (Lot Size) :决定如何将净需求合并或拆分生成采购/生产建议。

    • EX:直接按批订货量。需求是多少,就产生多少的申请/订单。
    • HB:补货到最大库存水平。不考虑具体需求,直接建议采购到设定的最大库存水平。
    • MB/WB/TB:月/周/日批量。将指定期间内的需求汇总后产生一个总建议。
    • SP:部分期间余额。更复杂的周期汇总方法。
  3. 采购类型 (Procurement Type)F(外购)或 E(自制),决定建议类型。

  4. 计划边际码 (Sched Margin Key) :包含“未清期间”,决定了计划订单/采购申请何时被自动转换为生产订单/采购订单。

  5. 安全库存 (Safety Stock) :作为需求的一部分参与计算,当预计可用库存低于安全库存时触发补货建议。

  6. 安全时间 (Safety Time) :在需求日期基础上再提前一段时间作为物料要求到货日期,为不确定性提供缓冲。

  7. 计划的时界 (Planning Time Fence) :在此时界内的计划订单会被“保护”,再次运行 MRP 时不会被自动更改或删除,需要手动干预。

五、高级概念与配置

  1. MRP 区域 (MRP Area) :可以将 MRP 范围从整个工厂细化到特定仓库外部供应商。为不同的区域设置不同的 MRP 参数。

    • 激活:后台 -> 生产 -> MRP -> 主数据 -> MRP 区域 -> 激活 MRP 运行区域的 MRP。
    • 定义:为仓库或供应商定义独立的 MRP 区域。
    • 运行:在 MD01 中可以选择具体的 MRP 区域运行。
  2. 重计划检查 (Rescheduling Check) :检查现有供给元素(如采购订单)是否与需求日期匹配,并产生例外消息(如“交货延迟”)。

    • 配置OMDW - 定义重新计划检查。设置容差天数,供给早于或晚于需求多少天不出例外。
  3. 策略组 (Strategy Group) :在物料主数据 MRP3 视图或独立需求中维护,决定了物料是按库存生产(MTS) 还是按订单生产(MTO) ,从而影响需求来源(预测 vs 销售订单)。

六、MRP 运行流程总结

一个标准的 MRP 处理流程如下:

  1. 准备:确保物料主数据(MRP视图、BOM、工艺路线)准确、完整。

  2. 输入需求:维护销售订单(VA01)、或创建独立需求计划(预测,MD61)。

  3. 运行 MRP:使用 MD01(处理代码 NETCH)执行净变化计划。

  4. 评估结果:使用 MD04 查看库存/需求清单。

    • 检查例外消息(如短缺、过期)。
    • 查看系统产生的新建议(采购申请、计划订单)。
  5. 处理建议

    • 计划订单转换为生产订单(自制件)。
    • 采购申请转换为采购订单(外购件)。
    • 处理或忽略例外消息。
  6. 监控与重运行:日常业务变化(如订单增加、收货延期)后,定期(如每天)重新运行 MD01 (NETCH)

七、关键注意事项

  • 低阶码:物料在 BOM 中的最低层级。MRP 运行前,必须确保低阶码已正确计算和更新(事务码 CK82MDKP)。
  • 计划文件:系统内部用来标识哪些物料需要参与 MRP 运行的文件。首次运行应使用 NEUPL 来建立计划文件。
  • 能力约束:标准 MRP (MD01) 不考虑产能约束,它只进行无限能力计划。如需考虑产能,需运行能力需求计划(CM21/CM25)或使用高级计划组件(APO)。
  • 集成性:MRP 的结果直接影响采购(产生 PR/PO)和生产(产生计划订单/生产订单),是连接销售、生产、采购的枢纽。

通过精确配置物料主数据和熟练运用 MD01MD04 等事务码,可以确保 MRP 计算准确有效,从而为企业提供可靠的物料供应计划,降低库存成本,提高客户交付率。