MRP控制参数(1) –计划文件与处理代码(Processing key)
花几个篇幅研究下运行MPS/MRP的控制参数,这些很关键的控制参数,但又很少有人能把逻辑关联弄的很清楚。
NETCH(净变化计划):即只计划上次计划以后计划相关内容发生变动的物料(注意,某些物料的参数发生变动了,系统也认为计划内容没发生变动)
NETPL(计划周期内的净变化计划):即只在计划周期内执行净变化计划,周期外将不进行计划
NEUPL(重新计划)所有的物料不管有没有变动都再次计划。
首先要介绍两个概念:
1.运行类型(Planning run type): 即处理代码(NEUPL/NETCH/NETPL)决定了哪些物料参与MRP运算。
2.计划文件(Planning file):是一个包含所有物料清单的文件,一旦物料的变更与需求计划相关,与自动更新文件中的字段. 简单来说,计划文件决定了每次MPS/MRP运算时,有哪些物料参与,以何种运算逻辑(MPS/MRP)等等.
所以,SAP在运行MPS/MRP运算时的第一个步骤就是读取计划文件。
介绍和计划文件相关的4个事务代码:
–创建计划文件
–显示计划文件
–在后台创建计划文件
–计划文件一致性检查
MDRE(计划文件一致性检查)的用途:计划文件一旦创建,在SAP中是永久存在的,对物料主数据的更新等动作只会更新相应计划文件中的字段,所以一旦有计划物料变为非计划物料,这些物料的计划文件就是垃圾资料,不但会影响MPS/MRP运行的速度,还有可能造成错误,MDRE的作用就是一致性检查后删除这些无用的计划文件.
记录类型: 虚拟件为D,其他物料为B
低层代码:由物料主数据和在BOM中的层次决定,属于MRP展开逻辑的理论知识,有兴趣的自己研究吧,可以不用过多关注.
MPS标识:勾中的标识以MPS逻辑运算,否则为MRP
全修改计划: 即处理代码(Processing key)中的NETCH,说到这里,终于快到本篇博文的主题了,课前铺垫还真是长,贱客抹把冷汗先.
净更改PHor:即处理代码(Processing key)中的NETPL, 有同学会问,处理代码不是有3个嘛为啥差一个贱客说: 不要着急,马上回来*O*.
复位建议: 如被勾中,将在MPS/MRP运算时删除并重新创建前次运算产生的计划订单,计划行及采购申请。
(理解MD02中计划建议参数“删除重建”)
展开BOM: 如被勾中,将在MPS/MRP运算时,重新展开前次计划订单,计划行及采购申请中的BOM
更新时间标记:该计划文件何时被更新, 为格林威治时间。
MRP时间标记:前次运行MRP的时间,同样为格林威治时间
创建日期:该计划文件的日期.
MRP控制者/物料描述:
好,简单介绍完计划文件, 请我们今天的猪脚处理代码(Processing Key)登场:
CH –总水平的净变化
PL –计划水平的净变化
3.NEUPL –再生计划
MPS/MRP运算时的第一个步骤就是读取计划文件.如果我们的处理代码是NEUPL(再生计划)的话,MPS/MRP运算之前会删除当前存在的所有计划文件,然后对所有物料重新产生计划文件并再继续下面MPS/MRP的运算步骤.这也是为什么计划文件中没有这个字段标识的原因。
另外,新系统第一次MPS/MRP运行时,也要用NEUPL跑一次。
其实如果没有系统效能的考量,每次MPS/MRP时都应该用NEUPL,这样可以保证每次运算都会包括所有的材料,读取到的主数据的资料都是最新的.
因为MPS/MRP每次运算的时间都很长,而且运算时会影响用户的正常使用,所以我们需要找一个效能与实用的折中点,就产生了NETCH和NETPL.意思是和计划相
关的参数自前次MPS/MRP运行后有更新的物料才参与下次运算, 不过NETPL与NETCH更过分, NETCH是只要有变更就需要参加运算, 而NETPL是一定计划期间内有变更的物料才参加运算,否则也不参加。
所以基本上我们都会建议用NETPL和NETCH来运行MRP运算。
另外要注意的是,单个物料无法使用NEUPL运行MPS/MRP。
讲到这里,大家可能又有几个问题产生了:
1.净变化/修改具体指的是哪些内容
2.选择NETCH/NETPL时, SAP怎么找到参与运算的物料
PL的计划期间是如何定义的
净变化(Net Change)按照SAP的解释,包括以下内容:
1.库存变化:物料的供求关系发生变化
2.生成物料相关的凭证:采购申请,采购订单,计划订单,销售需求,预测,独立需求或预留等
3.主数据中与计划相关的字段更新
4.删除收(Receipt)或发(Issue)的数量
5.特别注意:配置中关于计划相关的变更,不会自动更新计划文件,必
须重新生成计划文件,即如果后台计划相关的参数有调整过,最好用NEUPL计划运行一次MPS/MRP,以确定更新能正确及时的生效。
一旦这些净变化产生,SAP就会判断当前时间,发生在计划期间内的,会同时标识计划文件中的”全修改计划”和”净更改Phor”字段, 如果在计划期间外的净变化,则只会标识计划文件中的”全修改计划”字段。
这样子在MPS/MRP第一个步骤:读取计划文件时,就可以根据我们界面上选择的NETCH或NETPL挑选出要参与运算的物料了。
计划期间在何处设定:
1.事务代码: OMDX
2.路径:SPRO--生产—物料需求计划—计划—MRP计算—定义计划区间
所以接下来我们看看如果对1700工厂的物料变更在500天之内和之外的变更对计划文件会有什么影响.以AS000-000-000这个物料的计划文件为例,在我们测试伊始,它是裸妆.
我们修改物料主数据中的自制时间,再回头看该物料的计划文件,可以看到NETCH和NETPL都已自动更新,为啥同时更新两个字段, 其实很好理解,计划期间内更新过了,这个物料一定是更新过了.所以这种状况,无论是用NETCH或者NETPL,MPS/MRP运算都会纳入此物料.
接下来我们以NETCH运行MRP再查看计划文件,发现该物料又变回裸妆的样子.
然后我们手工创建一张500天(2013/03/22)后的计划订单,再看看是什么状况
可以看到只有”全修改计划”被标识, 这样子运行MPS/MRP时,如果控制代码选择NETPH,改物料将不会参加运算.
MPS/MRP控制参数中的计划模式(Planning mode)字段。
首先看看计划模式到底是什么东东(见附图)
可以看到有3个参数:
1.适应计划数据(普通模式)
2.重展BOM和工艺路线
3.删除并重新创建计划数据
相信大家看到2,3都很好理解, 选择2, 运行MPS/MRP的时候就会按照需求日期重展相关单据中的BOM和工艺路线; 选择3时, 直接删除前次MPS/MRP运行后生成的计划单据(计划订单,采购申请),并依照最新的主数据资料重新生产.
那么这个”1.适应计划数据(普通模式)”到底是什么意义呢
说的通俗一点, 选择1就是SAP会自行判断要怎样处理。
说到这里,大家的疑问又出来了,SAP依据什么标准来做出判断呢
答案就是我们前面探讨过的计划文件(Planning file).根据贱客测试的结果, 选择1.适应计划数据的结果就是会依据计划文件中”重投订单(ResetProps)”与”展开”BOM(ExplodedBOM)”字段的表示进行MPS/MRP运算。
简单来说:
1.如果计划模式选择1.适应计划数据, 同时计划文件中的”重投订单”被标识, 等同于选择计划模式3
2.如果计划模式选择1.适应计划数据,同时计划文件中的”展开BOM”被标识,等同于选择计划模式2
3.如果计划模式选择2或者3, 直接覆写计划文件中的对应标识.
计划文件中的这两个标识为是SAP自动更新的, 那SAP做出的更新逻辑对不对呢所以接下来我们就来测试看看什么状况下SAP会更新这两个标识.
在测试前,稍微梳理下MPS/MRP的概念和逻辑,问自己两个问题:
1.什么状况下MPS/MRP运算是需要展开BOM和工艺路线
BOM或者工艺路线更新后,原来的计划单据需要依照最新的BOM或工艺路线展开2.什么状况下MPS/MRP运算是需要重投订单
订单数量,或者交期等有变更时, 计划单据需要重新生成。
所以我们就来分别测试这两种状况。
首先我们修改这个物料的BOM后查询计划文件,可以看到”展开BOM”的字段已被标识.
接下来我们修改物料主数据中的自制时间,再查询计划文件, 可以看到重投订单/复位建议字段已被标识.。