简介:这份文档面向SAP ERP顾问、成本会计及按单生产业务实施人员,聚焦按销售订单采购与生产场景下的结算配置与操作流程,帮助解决销售订单成本归集、结果分析与结算的系统落地问题。资源包共1个doc文件,约2.91MB,内容以配置说明与操作步骤为主,适合作为实施参考手册或培训材料。文档围绕无差异模式与有差异模式两种业务场景展开,系统实现部分涵盖生产订单结算、销售订单成本控制、结果分析及结算的相关配置;业务流程部分则从创建物料、BOM、工艺路线、销售订单,到按单采购、生产订单创建、发料、报工、收货、发货过账、销售开票,再到成本中心费用实际过账、成本要素分割、实际作业价格计算与作业价格重估,形成完整闭环。目前已有618人学习,适合需要掌握按销售订单结算全流程配置与操作细节的读者对照查阅。
1. 从一张销售订单倒推出采购申请:这份 SAP 配置文档到底解决什么问题
很多做 SAP MM 或 SD 的朋友都遇到过这种场景:客户下了张销售订单,系统却不会自动生成采购申请,计划行跑完 MRP 之后什么都没出来,只能手工去 ME51N 一条条敲。问题往往不在操作层面,而是销售订单行项目的计划行类别、需求类型、物料主数据里的采购类型和特殊采购类这几处配置没串起来。这份《SAP-按销售订单采购生产系统实现之配置和操作》文档,讲的就是怎么把 SD 的销售订单和 MM 的采购申请打通,让系统按订单驱动采购,而不是靠人盯。它适合已经能跑通基本 SD 开单、MM 采购流程,但卡在「订单转采购」这一步的顾问和内部 IT,也适合想搞清楚需求传递逻辑的 Key User。文档覆盖配置路径和操作步骤两条线,不是纯理论,照着配能跑出结果。
2. 需求传递的底层逻辑:计划行类别、需求类型与特殊采购类怎么串
2.1 计划行类别决定「要不要触发采购」
销售订单行项目里有个关键字段叫计划行类别(Schedule Line Category),它决定了这张订单会不会产生需求传递。常见的 CP、CV、CN 这几类,背后绑定的需求类型不同。CP 通常对应按库存生产,跑完 MRP 直接看库存;CV 对应按订单生产,会触发采购申请或生产订单。文档里强调的第一件事就是先确认计划行类别有没有配错,因为这一步错了,后面所有配置都是白搭。
配置路径在 SPRO 里:销售与分销 → 销售 → 销售凭证 → 计划行 → 定义计划行类别。进去之后看「采购」那个勾有没有打上,以及「需求类型」字段填的是什么。如果这里填的是空或者填了一个不存在的需求类型,MRP 跑完就是不出采购申请。我一般会先用 SE16 查 V_459V 这张表,确认计划行类别和需求类型的对应关系,比在配置界面一层层点要快。
2.2 需求类型和特殊采购类怎么配合
需求类型(Requirement Type)是 MM 侧的概念,配置在 SPRO → 生产 → 物料需求计划 → 计划 → 定义需求类型。它决定了需求怎么被 MRP 处理,以及是否允许外部采购。而特殊采购类(Special Procurement Type)配在物料主数据 MRP2 视图里,常见值有 40(按订单生产)、20(外部采购)等。文档里给的组合是:计划行类别 CV + 需求类型 KE + 物料主数据特殊采购类 40,这套组合跑出来的是按销售订单采购,采购申请里会带上销售订单号和行项目号。
这里有个容易忽略的点:需求类型 KE 在标准系统里默认是允许按订单采购的,但如果你复制了一个自定义需求类型,忘了勾「允许按订单库存」或者「外部采购」的标识,MRP 就会把需求吃掉但不产生采购申请。我见过最隐蔽的一个坑是需求类型里「采购申请」的创建标识没打开,结果 MRP 列表里显示有需求,但 ME5A 里查不到任何东西。
2.3 物料主数据里必须确认的三个字段
物料主数据 MRP1 视图的 MRP 类型、MRP2 视图的采购类型和特殊采购类,这三个字段必须和需求类型匹配。MRP 类型一般用 PD 或 VB,采购类型选 F(外部采购),特殊采购类填 40。如果采购类型选了 E(自制),那跑出来的是生产订单而不是采购申请,方向就错了。
文档里给了一个检查顺序:先看 MRP 类型是不是 PD,再看采购类型是不是 F,最后看特殊采购类是不是 40。三步都对了,再去跑 MD02 或 MD03。这个顺序很重要,因为如果 MRP 类型不对,后面两个字段根本不会生效。我一般会让客户先用 MM03 把这三个字段截图发过来,确认之后再往下走,省得来回折腾。
3. 从配置到跑通:SPRO 路径、主数据设置和 MD02 验证的完整操作链
3.1 SPRO 里必须走的四条配置路径
文档里列了四条核心配置路径,我按实际操作顺序重新排一下:
第一条,定义计划行类别:SPRO → 销售与分销 → 销售 → 销售凭证 → 计划行 → 定义计划行类别。找到你用的那个计划行类别,确认「采购」标识打勾,需求类型填 KE 或你自定义的那个。
第二条,定义需求类型:SPRO → 生产 → 物料需求计划 → 计划 → 定义需求类型。找到 KE,检查「外部采购」和「采购申请」两个标识。如果用的是自定义需求类型,还要确认「允许按订单库存」有没有勾。
第三条,定义特殊采购类:SPRO → 生产 → 物料需求计划 → 计划 → 定义特殊采购类型。确认 40 这个条目下的「按订单生产」标识是打开的。
第四条,检查销售订单类型的默认计划行类别:SPRO → 销售与分销 → 销售 → 销售凭证 → 销售凭证抬头 → 定义销售凭证类型。找到你用的订单类型(比如 OR),看行项目类别里默认的计划行类别是不是你配好的那个。
这四条路径走完,配置层面基本就通了。但配置只是第一步,主数据不对照样跑不出来。
3.2 物料主数据和销售订单的实操设置
物料主数据用 MM01 创建或 MM02 修改,重点看三个视图:
MRP1 视图:MRP 类型填 PD,MRP 控制者填你常用的那个(比如 001)。
MRP2 视图:采购类型填 F,特殊采购类填 40,计划边际码可以先用 000。
销售视图:如果物料是按订单采购的,销售视图里的「项目类别」一般用 TAN,这个和计划行类别是联动的。
销售订单用 VA01 创建,订单类型选 OR,行项目里输入物料号之后,系统会自动带出计划行类别。如果带出来的不是 CV,要么是物料主数据销售视图的项目类别不对,要么是订单类型的默认计划行类别没配好。这时候可以手工改计划行类别,但改完之后要回车确认,让系统重新读需求类型。
订单保存之后,用 VA03 进去看行项目的计划行,确认「需求类型」字段显示的是 KE,「特殊采购类」显示的是 40。这两个字段如果有一个是空的,后面 MRP 肯定跑不出采购申请。
3.3 MD02 跑 MRP 和 ME5A 验证结果
物料主数据 MRP1 视图里有个字段叫「MRP 类型」,如果是 PD,可以用 MD02 单物料跑,也可以用 MD01 全厂跑。单物料跑的时候,MD02 界面里输入物料号、工厂、MRP 区域(一般留空),处理代码选 NETCH(净变更),然后执行。
跑完之后看两个地方:一是 MD04 库存需求列表,看销售订单的需求有没有被 MRP 覆盖,覆盖之后有没有生成采购申请;二是 ME5A 采购申请清单,按物料号和日期筛选,看有没有新的采购申请出来。
如果 MD04 里显示需求被覆盖了,但 ME5A 里查不到采购申请,大概率是需求类型里的「采购申请」标识没打开,或者特殊采购类没配 40。如果 MD04 里需求根本没被覆盖,那就要回去看计划行类别和需求类型的对应关系。
文档里给了一个很实用的排查顺序:先看 VA03 的计划行,再看 MD04 的覆盖情况,最后看 ME5A 的结果。这个顺序能把问题定位到配置层还是主数据层,比盲目改配置要快得多。
" 用 SE16 查 V_459V 确认计划行类别和需求类型的对应关系 " 输入表名 V_459V,执行 " 在输出列表里找你的计划行类别,看 Requirement Type 字段 " 如果这个字段是空的,说明计划行类别没绑需求类型,MRP 不会触发采购 " 用 SE16 查 T459R 确认需求类型的配置 " 输入表名 T459R,执行 " 找你的需求类型(比如 KE),看 Purchase Requisition 字段 " 如果是空的,说明这个需求类型不产生采购申请上面这两段查表的操作,比在 SPRO 里一层层点要快。V_459V 是计划行类别和需求类型的映射表,T459R 是需求类型的主配置表。跑 MRP 之前先用这两张表确认一下,能省掉很多来回试的时间。
4. 避坑与排查:计划行类别不触发、采购申请不带订单号、MD04 显示异常
4.1 计划行类别配了但 MRP 不产生采购申请
现象:VA03 里计划行显示正常,需求类型也有,但 MD02 跑完 MD04 里需求被覆盖了,ME5A 里查不到采购申请。
原因:需求类型里的「采购申请」标识没打开,或者特殊采购类没配 40。还有一种可能是物料主数据 MRP2 视图的采购类型选了 E(自制),系统去跑生产订单了。
解决:先查 T459R 确认需求类型的采购申请标识,再查物料主数据 MRP2 视图的采购类型和特殊采购类。两个都对了再跑一次 MD02,用 MD03 单物料跑,处理代码选 NEU(新建),强制重新跑一遍。
4.2 采购申请生成了但不带销售订单号
现象:ME5A 里能看到采购申请,但采购申请行项目里的「销售订单」和「行项目」字段是空的,采购员不知道这张申请对应哪张销售订单。
原因:需求类型里的「按订单采购」标识没打开,或者特殊采购类配的不是 40。这两个配置决定了采购申请会不会带上销售订单的追溯信息。
解决:SPRO → 生产 → 物料需求计划 → 计划 → 定义需求类型,找到你的需求类型,确认「按订单库存」或「个别客户库存」标识是打开的。然后检查特殊采购类 40 的配置,确认「按订单生产」标识是开的。改完之后用 MD03 重跑,处理代码选 NEU。
4.3 MD04 里需求被覆盖但 ME5A 查不到
现象:MD04 里销售订单的需求行显示「已覆盖」,但 ME5A 里按物料号查不到任何采购申请。
原因:MRP 跑的时候用了 NETCH(净变更),但需求类型的配置是后来才改的,净变更不会重新处理已经覆盖过的需求。
解决:用 MD03 单物料跑,处理代码选 NEU(新建),强制重新展开需求。如果还是不行,用 MDAB 把物料的 MRP 数据重置一下,再跑 MD02。这个坑我踩过好几次,后来养成习惯:改完配置之后第一次跑 MRP 一定用 NEU,不用 NETCH。
4.4 销售订单改了数量但 MRP 不更新
现象:VA02 把销售订单的数量从 100 改成 200,保存之后 MD04 里还是显示 100 的需求。
原因:销售订单修改之后没有重新触发需求传递,或者 MRP 跑的时候用了 NETCH 但系统没识别到变更。
解决:VA02 改完数量之后,回车确认计划行,让系统重新读需求类型。然后用 MD03 单物料跑,处理代码选 NEU。如果还是不行,检查销售订单的计划行类别有没有被手工改过,手工改过的计划行有时候不会自动触发需求重传。
4.5 自定义需求类型复制之后不生效
现象:复制了标准需求类型 KE 建了一个自定义的 ZE,配好了计划行类别和物料主数据,但 MRP 跑完还是不出采购申请。
原因:复制需求类型的时候,有些标识是跟着标准类型走的,但如果你在复制之后改了「采购申请」或「按订单采购」的标识,系统可能不会自动更新已经存在的计划行类别引用。
解决:先查 V_459V 确认计划行类别绑的是 ZE 还是 KE,再查 T459R 确认 ZE 的配置和 KE 一致。如果都对了,用 SE16 查 T459A 确认需求类型有没有分配到 MRP 控制者。这个表很多人不知道,但需求类型必须分配给 MRP 控制者才会生效。
5. 进阶技巧:用 MD07 和 SA39 做批量验证与变式监控
5.1 MD07 批量看需求覆盖情况
单张订单跑完 MRP 之后,用 MD04 看结果没问题。但如果有几十张销售订单同时跑,一张张看 MD04 太慢。这时候用 MD07,输入工厂和物料范围,系统会列出所有物料的需求覆盖情况。MD07 的列表里有一列叫「覆盖天数」,如果显示为 0 或者负数,说明需求没被覆盖,大概率是采购申请没出来。
我一般会先用 MD07 筛出覆盖天数为 0 的物料,再用 MD04 逐个看。这样比全量看 MD04 要快很多。MD07 的变式可以保存,下次直接调用,不用重新输条件。
5.2 SA39 做变式监控
SA39 是 SAP 里做批量变式监控的事务码,可以同时跑多个 MRP 变式并对比结果。文档里没提这个,但实际项目里很实用。比如你有三个工厂,每个工厂的 MRP 参数不一样,可以用 SA39 建三个变式,同时跑,跑完之后对比采购申请的数量和交期。
SA39 的配置稍微有点绕:先用 SE38 跑 RMMDVM20 创建变式,然后在 SA39 里分配变式组。变式组可以按工厂分,也可以按物料类型分。跑完之后系统会出一个对比列表,哪些物料出了采购申请、哪些没出,一目了然。
5.3 用 MD07 的例外消息快速定位问题
MD07 的列表里有一列叫「例外消息」,常见的消息号有 01(新建采购申请)、02(新建计划订单)、10(重新计划)、20(取消)。如果销售订单跑完 MRP 之后,例外消息里没有 01 或 02,说明需求没被传递到采购侧。
这时候可以双击例外消息,系统会跳到 MD04 的对应行,直接看需求覆盖的细节。比在 MD04 里手动找要快。例外消息的配置在 SPRO → 生产 → 物料需求计划 → 计划 → 定义例外消息,可以自定义消息号和触发条件。
5.4 一个我常用的验证习惯
每次改完配置或者主数据,我不会直接跑全厂 MRP,而是先用 MD03 单物料跑一张测试订单。跑完之后看三个地方:VA03 的计划行、MD04 的覆盖情况、ME5A 的采购申请。三个都对了,再用 MD01 跑全厂。这个习惯帮我省了很多次全厂跑完发现配置错了的尴尬。
从那以后我每次改完需求类型或特殊采购类的配置,都强制走一遍「VA03 → MD03 → MD04 → ME5A」这个链路,确认单张订单能跑通再放全量。希望帮到你。
本文还有配套的精品资源,点击获取