在SAP PP模块中,"策略组"(Planning Strategy Group)是物料主数据MRP2视图中的核心参数,它通过指定的"计划策略"(Planning Strategy)决定了生产模式与需求来源的协同方式。核心区别在于销售订单在生产计划和库存消耗中扮演的角色不同 。其本质是处理"计划独立需求"(Planned Independent Requirements, PIR)与"客户销售订单需求"(Customer Sales Order Demand)之间关系的一套规则。下表从策略组角度对比了MTS、MTO和ATO三种典型模式的核心特征:
| 维度 | 按库存生产(MTS - Make to Stock) | 按订单生产(MTO - Make to Order) | 按订单装配(ATO - Assemble to Order) |
|---|---|---|---|
| 需求触发源 | 基于预测的计划独立需求(PIR) | 客户销售订单 | 客户销售订单(针对产成品/变式)和计划独立需求(针对通用组件) |
| 策略组(例) | 策略10, 40, 50, 52等 | 策略20, 25, 26, 50(带MTO标识)等 | 策略50, 52, 70等 |
| 销售订单对需求的影响 | 消耗PIR。销售订单被视作PIR的确认,会消耗(冲减)已存在的计划需求,不产生新的独立需求 。 | 创建新的独立需求。销售订单直接触发特定的生产需求,此需求与PIR隔离,不参与消耗。 | 销售订单触发产成品层级 的装配需求,该需求通常消耗子件层级的PIR 。 |
| 产成品库存性质 | 通用库存,无特定客户归属,可用于满足任何销售订单。 | 特殊库存,库存与特定销售订单绑定(订单库存),不可用于其他订单 。 | 混合库存 :产成品/变式可能按订单生产(产生订单库存),而通用组件/半成品按库存生产(通用库存)。 |
| 主要应用场景 | 需求稳定、可预测的标准化产品,如日用消费品、标准零部件。 | 客户定制化程度高、产品差异大的产品,如专用设备、大型工程项目(ETO是其延伸)。 | 产品由标准组件组合而成,存在大量变式,客户在有限选项内选择配置,如电脑、汽车 。 |
1. MTS(Make to Stock)模式:销售订单作为PIR的"兑现器"
在MTS策略(如策略10、40)下,需求管理核心是基于预测产生计划独立需求(PIR),并通过运行MRP将其转换为计划订单乃至生产订单。销售订单不直接触发生产,而是充当"需求消耗者"的角色 。
- 关键配置"消耗模式":策略组定义了消耗模式(Consumption Mode),如"1-向后消耗"、"2-向前/向后消耗",这决定了销售订单可消耗哪个时间段内的PIR 。例如,配置"仅向后消耗"意味着销售订单只能消耗其需求日期之后的PIR,防止过度消耗导致未来缺料。
- 操作流程 :
- 需求计划员创建未来一段时间的PIR(事务代码MD61)。
- 运行MRP(MD01/MD02)将PIR转为计划订单。
- 客户创建销售订单(VA01)时,系统自动尝试消耗最近的PIR。若消耗成功,对应PIR数量减少,生产计划无需为这笔销售订单单独调整。
- 若销售订单需求日期无足够PIR可供消耗,则会产生未被消耗的PIR,MRP会将其视为净需求并产生新的计划订单。
abap
* 模拟MTS模式下销售订单消耗PIR的逻辑(概念性伪代码)
DATA: lv_sales_qty TYPE menge_d, "销售订单数量
lv_pir_qty TYPE menge_d. "计划独立需求数量
* 当销售订单保存时
PERFORM consume_pir USING lv_sales_qty
CHANGING lv_pir_qty.
* 消耗函数
FORM consume_pir USING iv_sales_qty TYPE menge_d
CHANGING cv_pir_qty TYPE menge_d.
DATA: lv_consumable_qty TYPE menge_d.
* 根据消耗模式(如向后消耗)查找可消耗的PIR数量
lv_consumable_qty = find_consumable_pir( iv_date ).
* 执行消耗
cv_pir_qty = cv_pir_qty - min( iv_sales_qty, lv_consumable_qty ).
ENDFORM.
2. MTO(Make to Order)模式:销售订单作为需求的"发起者"
在MTO策略(如策略20、带有MTO标识的策略50)下,销售订单是生产活动的唯一源头 。系统通常通过需求分类(Requirements Class) 和特殊库存标识(如E-订单库存) 来实现此逻辑。
- 关键配置"需求类型/分类" :销售订单行项目的需求类型(如
KEV-标准),其后台配置的需求分类(Requirements Class)决定了该需求是否触发MRP以及库存类型。在MTO配置中,需求分类会勾选"独立需求"并分配特殊库存标识E。 - 操作与影响 :
- 创建销售订单(VA01)并保存时,系统会为该行项目立即生成一个销售订单需求(可在MD04查看为独立需求项)。
- 运行MRP时,此销售订单需求直接触发生成带有相同销售订单号的计划订单和生产订单。生产订单领料和生产完成的成品都将记入该销售订单的特殊库存(订单库存)下 。
- 成品发货时(VL01N),必须指定对应的销售订单,系统只会从该订单的特殊库存中扣减。
- 财务结算 :MTO模式下,生产订单(订单库存
E)的成本差异在订单结算(KO88)时,通常不结转到库存,而是直接结转至销售订单成本(或通过结果分析转入损益),确保了订单成本的完全归集 。
abap
* 在MTO策略下,MRP为销售订单创建计划订单的核心逻辑(简化)
DATA: ls_sales_item TYPE vbap, "销售订单行项目
lt_mrp_list TYPE TABLE OF mrp. "MRP清单
LOOP AT lt_sales_demand INTO ls_sales_item WHERE mrp_indicator = '1'. "MRP相关需求
IF ls_sales_item.requirements_class.is_individual = 'X'. "需求分类为"独立"
* 创建计划订单,并分配销售订单号和特殊库存标识'E'
CALL FUNCTION 'MD_CREATE_PLANNED_ORDER'
EXPORTING
material = ls_sales_item-matnr
plant = ls_sales_item-werks
so_number = ls_sales_item-vbeln
so_item = ls_sales_item-posnr
special_stock = 'E'. "订单库存
ENDIF.
ENDLOOP.
3. ATO(Assemble to Order)模式:销售订单与PIR的"混合协同"
ATO是MTS和MTO的混合体,其精髓在于产成品(或最终变式)按订单触发(MTO逻辑),而其下层的通用组件、半成品或原材料则按库存计划(MTS逻辑)。
- 典型策略:策略50(带计划物料) :这是实现ATO最经典的策略。需要配置一个计划物料(Planning Material) 和多个产成品物料(Finished Materials)或变式 。
- 计划物料:代表产品系列或通用模型,对其维护MTS策略(如策略10)并创建PIR,运行MRP会为通用组件产生计划订单。
- 产成品/变式物料 :关联到此计划物料,并设置为ATO策略(如策略50)。当创建销售订单时,选择具体的产成品/变式,系统会自动触发该物料的装配需求(订单库存
E),并消耗计划物料下发的、已存在的通用组件库存 。
- 操作流程 :
- 需求计划员为计划物料(如"电脑-基础型")运行预测并创建PIR。
- 运行MRP后,计划物料的需求展开,为通用组件(如主板、电源、通用机箱)生成补货建议(计划订单)。
- 客户下单购买一个具体的产成品(如"电脑-基础型-16G内存-1TB SSD")。
- 保存销售订单时,系统为该具体产成品 创建一个ATO装配需求(独立需求、订单库存
E)。 - 运行MRP时,该ATO需求会去消耗 计划物料已经下达的、针对通用组件的PIR或库存 ,仅为客户特定的选装配件(如特定的内存条和SSD)产生新的MTO需求。
- 最终,通用组件从通用库存中领用,特定选装配件从订单库存(或单独采购)领用,共同完成最终产品的装配。
总结 :从策略组角度分析,SAP PP通过定义销售订单与计划独立需求的不同互动规则,来支持不同的业务模式。MTS 的核心是销售订单消耗 预测(PIR),适用于标准化生产;MTO 的核心是销售订单直接生成 独立需求并绑定特殊库存,适用于完全定制;而ATO 则是一种混合策略,通过计划物料(MTS)和产成品物料(MTO)的联动,实现了在通用件库存生产的基础上对最终产品进行订单驱动的灵活装配,是应对产品多样化和缩短交货期的有效方案 。