SAP PP学习笔记 - 图文

更新时间:2023-12-09 15:32:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

MRP控制参数 – 计划文件与处理代码(Processing key)

花几个篇幅研究下运行MPS/MRP的控制参数,这些很关键的控制参数,但又很少有人能把逻辑关联弄的很清楚。

? NETCH(净变化计划):即只计划上次计划以后计划相关内容发生变动的物料(注意,

某些物料的参数发生变动了,系统也认为计划内容没发生变动)

? NETPL(计划周期内的净变化计划):即只在计划周期内执行净变化计划,周期外

将不进行计划

? NEUPL(重新计划)所有的物料不管有没有变动都再次计划。 首先要介绍两个概念:

1. 运行类型(Planning run type): 即处理代码(Processing key),决定了那些物料参与MRP运算 2. 计划文件(Planning file):是一个包含所有物料清单的文件,一旦物料的变更与需求计划相关,与自动更新文件中的字段. 简单来说,计划文件决定了每次MPS/MRP运算时,有哪些物料参与,以何种运算逻辑(MPS/MRP)等等.

所以,SAP在运行MPS/MRP运算时的第一个步骤就是读取计划文件.有很多SAP顾问可能还不知道有计划文件这个东东吧,嘿嘿, 讲到这里,介绍和计划文件相关的4个事务代码: 1.MD20–创建计划文件 2.MD21 –显示计划文件

3.MDAB –在后台创建计划文件 4.MDRE –计划文件一致性检查

以上4个事务代码看名字就知道用途,不再赘述,这里稍微提一下MDRE(计划文件一致性检查)的用途. 计划文件一旦创建,在SAP中是永久存在的,对物料主数据的更新等动作只会更新相应计划文件中的字段,所以一旦有计划物料变为非计划物料,这些物料的计划文件就是垃圾资料,不但会影响MPS/MRP运行的速度,还有可能造成错误,MDRE的作用就是一致性检查后删除这些无用的计划文件.

接下来我们来看看计划文件究竟是啥样的,丑媳妇总要见公婆.

记录类型: 虚拟件为D,其他物料为B

低层代码:由物料主数据和在BOM中的层次决定,属于MRP展开逻辑的理论知识,有兴趣的自己研究吧,可以不用过多关注.

MPS标识:勾中的标识以MPS逻辑运算,否则为MRP

全修改计划: 即处理代码(Processing key)中的NETCH,说到这里,终于快到本篇博文的主题了,课前铺垫还真是长,贱客抹把冷汗先.

净更改PHor:即处理代码(Processing key)中的NETPL, 有同学会问,处理代码不是有3个嘛?为啥差一个? 贱客说: 不要着急,马上回来*O*.

复位建议: 如被勾中,将在MPS/MRP运算时删除并重新创建前次运算产生的计划订单,计划行及采购申请

展开BOM: 如被勾中,将在MPS/MRP运算时,重新展开前次计划订单,计划行及采购申请中的BOM

更新时间标记:该计划文件何时被更新, 为格林威治时间,小汗一个 MRP时间标记:前次运行MRP的时间,同样为格林威治时间 创建日期:该计划文件的日期.

MRP控制者/物料描述: 为空的,很诡异, 不知哪位好心人可以告诉贱客原因, 贱客实在不想看SAP的标准代码.

好,简单介绍完计划文件, 请我们今天的猪脚处理代码(Processing Key)登场: 1. NETCH –总水平的净变化 2. NETPL –计划水平的净变化 3. NEUPL –再生计划

是不是越看越晕, 贱客郑重声明, 这是SAP的官方中文翻译, 和贱客无关,嘿嘿.贱客第一次看到SAP将Shop floor control翻译成商店低价控制的时候, 也会忍不住有要砸电脑的冲动J 好了,我们用通俗易懂的语言来解释下这3个控制参数的用途.首先, 回顾前文提到的

MPS/MRP运算时的第一个步骤就是读取计划文件.如果我们的处理代码是NEUPL(再生计划)的话,MPS/MRP运算之前会删除当前存在的所有计划文件,然后对所有物料重新产生计划文

件并再继续下面MPS/MRP的运算步骤.这也是为什么计划文件中没有这个字段标识的原因,嘿嘿.另外,新系统第一次MPS/MRP运行时,也要用NEUPL跑一次.

其实如果没有系统效能的考量,每次MPS/MRP时都应该用NEUPL,这样可以保证每次运算都会包括所有的材料,读取到的主数据的资料都是最新的.

但是,理想是美好的,现实是残酷的.因为MPS/MRP每次运算的时间都很长,而且运算时会影响用户的正常使用,所以我们需要找一个效能与实用的折中点,就产生了NETCH和NETPL.意思是和计划相关的参数自前次MPS/MRP运行后有更新的物料才参与下次运算, 不过NETPL与NETCH更过分, NETCH是只要有变更就需要参加运算, 而NETPL是一定计划期间内有变更的物料才参加运算,否则也不参加.

所以基本上不是用银河系列超级计算机跑MPS/MRP的用户, 我们都会建议用NETPL和NETCH来运行MRP运算.另外要注意的是,单个物料无法使用NEUPL运行MPS/MRP. 讲到这里,大家可能又有几个问题产生了: 1. 净变化/修改具体指的是哪些内容?

2. 选择NETCH/NETPL时, SAP怎么找到参与运算的物料? 3. NETPL的计划期间是如何定义的?

净变化(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,得永生”的意思. 但如果你不那么相信SAP,事实上SAP有时候也的确像娇羞的少女,耍点小脾气,那么你也可以手工指定2或者3,要求SAP从了你的欲望,嘿嘿。

说到这里,大家的疑问又出来了,SAP依据什么标准来做出判断呢?

咚咚咚~, 答案就是我们探讨过的计划文件(Planning file).根据贱客测试的结果, 选择1.适应计划数据的结果就是会依据计划文件中“重投订单(ResetProps)”与“展开”BOM(ExplodedBOM)”字段的表示进行MPS/MRP运算。 简单来说:

1.如果计划模式选择1.适应计划数据, 同时计划文件中的“重投订单”被标识, 等同于选择计划模式3

2.如果计划模式选择1.适应计划数据,同时计划文件中的“展开BOM”被标识,等同于选择计划模式2

3.如果计划模式选择2或者3, 直接覆写计划文件中的对应标识.

OK,解释了原理,大家可能又好奇了, 我从来没有去更新过计划文件啊,说明计划文件中的这两个标识为是SAP自动更新的, 那SAP做出的更新逻辑对不对呢?所以接下来我们就来测试看看什么状况下SAP会更新这两个标识.

在测试前,稍微梳理下MPS/MRP的概念和逻辑,问自己两个问题: 1.什么状况下MPS/MRP运算是需要展开BOM和工艺路线? 2.什么状况下MPS/MRP运算是需要重投订单?

MPS/MRP的概念请大家自行翻书或翻墙,嘿嘿.答案我们可以简单归纳如下: 1.BOM或者工艺路线更新后,原来的计划单据需要依照最新的BOM或工艺路线展开 2.订单数量,或者交期等有变更时, 计划单据需要重新生成.

所以我们就来分别测试这两种状况咯,首先我们修改这个物料的BOM后查询计划文件,可以看到“展开BOM”的字段已被标识.

接下来我们修改物料主数据中的自制时间,再查询计划文件, 可以看到重投订单/复位建议字段已被标识.

向前消耗,向后消耗,未清时间,产前缓冲时间,产后缓冲时间

未清期间:简单的说就是为计划员提供了一个提前处理的缓冲期。在逆推排产的逻辑下,比如MRP创建的计划订单开始日期是5日,未清期间是3天,那么假如当前日期是1日,就还没有进入未清期间,此时计划员就没必要这么早处理计划订单,而如果当前日期是3日,就在未清期间里了,此时在MD04中会有一个例外消息05产生,用来提示计划员可以去将这张计划订单转换成生产订单或者采购申请了,这样就可以给计划员充分的时间来处理订单。如果没有未清期间,直到5日都不会有任何提醒,到时候再来处理就有可能来不及了。

产前、产后缓冲时间:就是有些产品生产的时间可能不一定按设定的那样准确,允许生产前或后有一定的浮动,比如产前2天,产后1天,这样自制生产时间为2天的产品,只要在5天内生产出来都是允许的。这个字段的设置是要根据实际生产情况的,但是感觉真正会用的企业不太多。

下达期间:如果没有下达期间,那么系统计划的下达日期就是订单的计划开工日期,也就是说计划员刚下达就必须开始生产了,而如果设置了2天,那么计划员就可以提前2天下达,车间接到下达的订单就可以有一定的提前准备时间。

这些字段都没有什么限制作用,只是给计划一些灵活性和容余罢了。

至于你说的向前和向后消耗,那是计划独立需求如何被销售订单冲减的概念了,跟计划边际码没关系。比如消耗模式是向后消耗5天,那么假设预测的独立需求是10日要生产100,如果在12日接到一个40的销售订单,也可以当作预测准了,那么未完成的预测就只有60了。类似的向前消耗,就是实际订单如果早于预测日期,是否也可以认为是预测准了,可以冲减预测。因此消耗模式都要和逆向消耗期间或向前消耗期间搭配使用,以确定与预测日期相差多少天内的订单都可认为是预测的数量得到了实现。

PP: Availability Check 概念

Availability Check,顾名思义,就是有效性检查,指的是要检查一下此物料是否能满足我的需求。

简单地举个例吧,你接到一张销售订单(Sales Order),客户要求数量为100PC,并且客户要求的出货日期是2009-4-1,此时我们的销售人员肯定会想,在这个愚人节到底能否出货给客人呢?那怎么办呢?一个个电话去问生产计划人员,去问厂长,经理?废话,肯定不能这样,要不然花几百万,几千万上SAP做什么对吧,此时在系统中建立此单时,SAP就会做一个所谓的检查,检查一下我们预先设定的考虑因素,能否满足客户的要求,什么时候可以满足,这就是有效性检查的功能。

但一般人看到此单词就会想到 ATP,实际上系统中并不只是包含这一层意思的,就听俺慢慢道来

有效性检查包含以下两个概念

1就是大名鼎鼎的ATP(全称:Available To Promise)

2.就是Check against planned independent requirements (意指计划独立需求的相关检查)

ATP (Available To Promise)

有效性承诺,检查承诺物料的相关元素,看是否能满足需求,什么时候能满足。 先看标准解释图片

第一张图表示某物料在某个时间上有生产订单或计划订单,数量及时间如图 第二张图表示如果在某个时间上有销售订单

那我们的生产订单或计划订单能否满足客户的需求呢?就看图三了

当我们在建立S1此销售订单时,因为我们已经有了一张P2的生产订单,并且日期是小于S1的,因此S1是肯定可以满足的,并且是提供满足

S2同S1原理一样,完全就可以由P2去满足 S3可以被P3的一部分满足 S4可以被P4的剩余部门满足 S5被P4部分满足

而P4再剩下的部分数量,就是未来可提供的ATP QTY 当我们在使用ATP时,系统检查的LOGIC如下: 通过 checking group + checking rule 得到Scope of check

再在SCOPE OF CHECK中设定需要检查哪些元素,再把哪些元素加加减减得到剩余的ATP QTY,再用剩余的ATP QTY来与新的需求对比,从而决定是不是能满足到需求,看似简单,整起来还是有点事的,哈。有点说时迟,那时快的感觉。 Setting

Checking group 来自于物料主档,如下图

Checking Rule来自于应用程序,即不同的应用程序有不同的设定,如生产订单有生产订单的设定,销售订单有销售订单的设定等

SPRO->Production->Shop Floor Control->Operations->Availability Check->Define Checking Control

如上图,则是在PP模块中针对不同的PLANT + order type来定义不同的RULE,后面的BUSINESS 1 OR 2表示CREATE OR RELEASE.

看到吧,在这里就可以看到CHECKING RULE是多少

并且component check type是决定用ATP CHECK 还是用 AGAINST CHECK PLANNING INDEPENDENT REQUIREMENT

根据上两副图我们就会得到组合 Checking group + checking rule = 02 + PP 而02+PP又是控制什么呢,来看下面的路径

SPRO->Production->Shop Floor Control->Operations->Availability Check->Define Scope of Check

1 – 13 我想很明白可以看出来,是什么东西,这里我就不详细解释

14:表示相关预留的选项,与10的区别在于,10是一般是表示我们用MB21建立的,而14是表示由于相关预留,即此预留是来自于其他物料,如生产订单所产生的预留

15:指STOCK TRANSFER ORDER 16:指计划订单 17:指生产订单 18要单独再演示

19表示是否在库存地点的角度上去分析,如你在仓位:0001的需求是100PC,但是库存如下:0001仓 = 80PC ,0002仓=60PC,那对此物料去做ATP的时候,到底是应该显示缺料20(100-80)还是不缺料呢(80+60-100 > 0)?就是此栏位决定的

20:主要用于WORKFLOW,即在这个区间中,如果存在收货了,则会发邮件到MISSING CONTROLLER

21:用于控制确认的日期能否在过去或未来 演示

今天心情不太好,没有用我的KT物料,因此用了标准的100-110此物料 此物料有库存72PC,0001仓22PC,0002仓50PC

但是在2008-12-30有一需求(OrdRes)即相关预留11PC,因此72PC中还有61PC可用,对吧。

如果此时建立一张新的Production Order,如下图

可以看出第一次确认是为61PC,第二次为50PC(从中就可以看出是把2009-3-20的PchOrd给包含进去了)

在这里可能会有几个疑问: 1是61PC包含0001仓与0002仓 2是为什么61PC是2009-3-11 3是为什么PchOrd也参加了计算 先看看后台设定画面

看我上图中的红色标记可以1与3就可以解答了。 而2的答案是要看此物料的需求日期

如果你把No storage location inspection不选中的话,则ATP结果会如下:

2009-3-11变成了11PC,因为我们的0001仓只有22PC,但已经被第一张用了11PC,因此还剩下了11PC给新的生产订单使用。

如果不包含PURCHASE ORDER(不选中有数字标明图中的第7个及13),则表现如下

只有11PC了,因为没有考虑PURCHASE ORDER。 好,现在来看看18的功能,之前的测试18项都是选中的 假设即不选中7 AND 13,也不选中18,如下图

注意,变了,大大的变了,多了一个2009-3-23 ,数量为剩余的109 = 120 -11 意思是为从现在去买的话,2009-3-23就会回来的,呵呵。

这个2009-3-23如何来的?就是靠18项控制的,18项的意思是说要不要考虑“补充交货周期”,那这个又是从哪来的呢?

看看这个

如果你是用SALES ORDER来演示的话,就要看看下面

OK? No Problem?

Check Against planned independent requirements

此方法即只是检查相关物料(或相关物料的计划物料)的计划独立需求能否满足需求,如果可以的话,就可以CONFIRM,如果不可以就不行,而不会去看相关物料的库存有没有,生产订单有没有。

在之前一画面我们曾经看过在生产订单中如何设定采用哪种方式,而是销售订单中,即是通过这个LOGIC来的。

1. 物料的STRATEGY GROUP

如果上图都不知道是那个画面的话,我想可能要麻烦你先学学以前的基础学科 2. 此STRATEGY 所对应的Requirement type of customer requirement

SPRO->Production->Production Planning->Demand Management->Planned Independent Requirements->Planning Strategy->Define Strategy Group

默认用第一个,但也可以选择其他几个策略的,这里可以参加PRODUCTION PLANNING COURSE

SPRO->Production->Production Planning->Demand Management->Planned Independent Requirements->Planning Strategy-> Define Strategy

就是上图中红色标记的 Availability check来决定的,如果选中,则在Sales order中是用ATP ,如果不选中,就是用 CHECK AGAINST PIR .

演示

此物料有库存100PC

没有任何的PIR (计划独立需求)

在建立Sales order的时候,不能CONFIRM到任何的数量,就算有库存也不行,并且你会发现这种与正常的ATP有点不同,在上面的工具栏中,并不会有什么SCOPE OF CHECK之类的字眼,可以去留意一下。

再来,如果我建立一个PIR

再建立SALES ORDER , CHECK 如下

看到吗?日期与数量都等于我们的PIR的数量。

注:此种方法跟:SPRO->Production->Shop Floor Control->Operations->Availability Check->Define Scope of Check 没有一点关系。

本文来源:https://www.bwwdw.com/article/iec5.html

Top