昨天接到用户反映问题,某原材料运行MRP后,并没有产生相应的采购计划行。经分析,可能导致该现象的原因有很多,逐一检查物料的上级成品的计划独立需求,成品的BOM,BOM组件设置,原材料主数据,原材料采购计划协议,源清单等之后,并没有发现问题。这时,我通常会采用找线索的方式来引导问题原因。通过MM04来查询物料主数据中的变更情况。发现该物料的MRP视图中物料需求计划类型有过变更。几个月前从PD到ND,(PD和ND可理解为控制物料是否运行MRP)。而在当天,再次还原配置。从ND到PD。
所以,就联想到MRP处理代码的运行机制问题。因为该原材料是今天才变更为参与MRP运行。而当手工运行MRP时,由于上级成品的计划需求近期(至少当天)并为发生变化。所以,下级原材料可能由于这个原因并为参与到MRP运行中。所以才最终导致无法产生采购计划行。要证明所分析原因正确与否也并不困难。在运行MRP时,通过NEUPL完成一次所有物料的重新计划(但可能运行时间较长)。最后,完成NEUPL的MRP后,己成功跑出了该物料的采购计划行。
关于上述MRP处理代码的相关信息,可参考另一博文《SAP中MRP Processing key的概念及应用控制原理解读》