-
MRP
控制参数
–
计划文件与处理代码
(Processing key) <
/p>
花几个篇幅研究下运行
MPS/MRP
的
控制参数
,
这些很关键的控制参数
,<
/p>
但又很少有人能把逻
辑关联弄的很清楚。
?
NETCH(
净变化计划
)
:即只计划上次计划以后计划相关内容发生变
动的物料(注意,
某些物料的参数发生变动了,系统也认为计划内容没发生变动)
?
NETPL<
/p>
(计划周期内的净变化计划):即只在计划周期内执行净变化计划,周期外
将不进行计划
?
NEUPL
(重新计划)所有的物料不管有没有变动都再次计划。
首先要介绍两个概念
:
1.
运行类型
(Planning run type):
即处理代码
(Processing key),
决定了那些物料参与
MRP
运算
2.
计划文件
(Planning file):
< br>是一个包含所有物料清单的文件
,
一旦物料的变更与需求
计划相
关
,
与自动更新文件中的字段<
/p>
.
简单来说
,
计划文件决定了每次
MPS/MRP
运算时
,
有哪些物料
参与
,
以何种运算逻辑
(MPS/MRP)
等等
.
所以
,
SAP
在运行
MPS/MRP
运算时的第一个步骤就
是读取计划文件
.
有很多
SAP
顾问可能
还不知道有计划文件这个东东吧
,<
/p>
嘿嘿
,
讲到这里
,
介绍和计划文件相关的
4
个事务代
码
:
20
–创建计划文件
21
–显示计划文件
–在后台创建计划文件
–计划文件一致性检查
以上
4
个事务代码看名字就知道用途
,
不再赘述
,
这里稍微提一
下
MDRE(
计划文件一致性检
查
p>
)
的用途
.
计划
文件一旦创建
,
在
SAP
中是永久存在的
,
对物料主数据的更新等动作只会更
新相应计划文件中的字段
,
所以一旦有
计划物料变为非计划物料
,
这些物料的计划文件就是
垃圾资料
,
不但会影响
M
PS/MRP
运行的速度
,
还有可能造
成错误
,MDRE
的作用就是一致性检
查后删除这些无用的计划文件
.
接下来我们来看看计划文件究
竟是啥样的
,
丑媳妇总要见公婆
.
记录类型
:
虚拟件为
D,
其他物料为
B
低层代码
:
由物料主数据和在
BOM
中的层次决定
,
属于
MR
P
展开逻辑的理论知识
,
有兴趣的
p>
自己研究吧
,
可以不用过多关注
.
MPS
标识
:
勾中的标识以
MPS
逻辑运算
,
否则为
MRP
全修改计划
:
即处理代码
(Processing key)
中的
NETCH,
说到这里
,
终于快到本篇博文的主题了
,
课前铺垫
还真是长
,
贱客抹把冷汗先
.
净更改
PHor
:
即
处理代码
(Processing
key)
中的
NETPL,
有同学会
问
,
处理代码不是有
3
个嘛
?
为
啥差一个
?
贱客说
:
不要着急
,
马上回来
*O*.
复位建议
:
如被勾中
,
将在
MPS/MRP
运算时
删除并重新创建前次运算产生的计划订单
,
计划
行及采购申请
展开
BOM
:
如被勾中
,
将在
MPS/MRP
p>
运算时
,
重新展开前次计划订单
,
计划行及采购申请中的
BOM
更新时间标记
:
该计划文件何时被更新
,
为格林威治时间
,
小汗一
个
MRP
时间标记
< br>:
前次运行
MRP
的时间
,
同样为格林威治时间
创建日期
:
该计划文件的日期
.
MRP
控制者
/
物料描述
:
为空的
,
很诡异
,
不知哪位好心人可以告诉贱客原因
,
贱客实在不想
看
SAP
的标准代码
p>
.
好
,
简单介绍
完计划文件
,
请我们今天的猪脚处理代码
(Processing
Key)
登场
:
1.
NETCH
–总水平的净变化
2.
NETPL
–计划水平的净变化
3. NEUPL
–再生计划
是不是越看越晕
,
贱客郑重声明
,
这是
SAP
的官方中文翻译
,
和
贱客无关
,
嘿嘿
.
贱客第一次看
到
SAP
将
Shop floor
control
翻译成商店低价控制的时候
,
也会忍不住有要砸电脑的冲动
J
好了
,
我们用通俗易懂的语言来解释下这
3
个控制参数的用途
.
首先
,
回顾前文提到的
MPS/MRP
运算时的第一个步骤就是读取计划文件
.
如果我们的处
理代码是
NEUPL(
再生计划
)
p>
的话
,MPS/MRP
运算之前会删除当前
存在的所有计划文件
,
然后对所有物料重新产生计划文
件并再继续下面
MPS/MRP
的运算步骤
p>
.
这也是为什么计划文件中没有这个字段标识的原因
,
嘿嘿
.
另外
,
新系统第一次
MPS/MRP
运行时
,
也要用
NEUPL
跑一次
.
其实如果没有系统效能的考量
,
每次
MPS/MRP
时都应该用
NEUPL,
这样可以保证每次运算都
会包括所有的材料
,
读取到的主数据的资料都是最
新的
.
但是
,
理想是美好的
,
现实是残酷的
.
p>
因为
MPS/MRP
每次运算的时间都很长
,
而且运算时会影
响用户的正常使用<
/p>
,
所以我们需要找一个效能与实用的折中点
,
就产生了
NETCH
和
NETPL.
意
思是和计划相关的参数自前次
p>
MPS/MRP
运行后有更新的物料才参与下次运算
,
不过
NETPL
与
NETCH
更过分
,
NETCH
是只要有变更就需要参加运算
,
< br>而
NETPL
是一定计划期间内有变
更的物料才参加运算
,
否则也不参加
.
所以基本上不是用银河系列超级计算机跑
MPS/MRP
的用户
,
我们都会建议用
NETPL
和
NETCH
来运行
MRP
运算
.
< br>另外要注意的是
,
单个物料无法使用
NEUPL
运行
MPS/MRP.
讲到这里
,
大家可能又有几个问题产生了
:
1.
净变化
/
修改具体指的是哪些内容
?
2.
选择
NETCH/NETPL
时
, SAP
怎么找到参与运算的物料
?
3.
NETPL
的计划期间是如何定义的
?
净变化
(Net Change)
按照
SAP
的解释
,
包括以下内容
:
1.
库存变化
:
物料的供求关系发生变化
2.
生成物料相关的凭证
:
采购申请
,
采购订单
,
计划订单
,
销售需求
p>
,
预测
,
独立需求
或预留等
3.
主数据中与计划相关的字段更新
4.
删除收
(Receipt)
或发
(Issue)
的数量
5.
特别注意
:
配置中关于计划相关的变更
,
不会自动更新计
划文件
,
必须重新生成计划文件
,
p>
即如果后台计划相关的参数有调整过
,
最好
用
NEUPL
计划运行一次
MPS/M
RP,
以确定更新能
正确及时的生效
.
一旦这些净变化产生
,SAP
就会判断
当前时间
,
发生在计划期间内的
,
p>
会同时标识计划文件中
的“全修改计划”和“净更改
Phor
”字段
,
如果在计
划期间外的净变化
,
则只会标识计划文
件中的“全修改计划”字段。这样子在
MPS/MRP
第一个步
骤
:
读取计划文件时
,
就可以根据
我们界面上选择的
NETCH
或
NETPL
挑选出要参与运算的物料了
,
这样子和谐了吧
,
嘿嘿
.
接下来先看看计划期间在何处设定:
1.
事务代码
:
OMDX
2.
路径
:
SPRO--
生产—物料需求计划—计划—
MRP
计算—定义计划区间
所以接下来我们看看如果对
1700
工
厂的物料变更在
500
天之内和之外的变更对计划文件
会有什么影响
.
以
AS
000-000-000
这个物料的计划文件为例
,
在我们测试伊始
,
它是裸妆
.
我们修改物料主数据中的自
制时间
,
再回头看该物料的计划文件
,
可以看到
NETCH
和
NETPL
都已自动更新
,
有
没有童鞋有点疑惑
,
为啥同时更新两个字段
,
其实很好理
解
,
计划期间内更
新过了
,
这个物料一定是更新过了
.
所以这种状况
,
无论是用
NETCH
或者
NETPL,MPS/MRP
运<
/p>
算都会纳入此物料
.
接下来我们以
NETCH
运行
MRP
再查看计划文件
,
发现该物料又变回裸妆的样子
.
然后我们手工创建一张
500
天
(2013/03/22)
后的计划订单<
/p>
,
再看看是什么状况
可以看到只有“全修改计划”被标识
,
这样子运行
MPS/MRP
时
,
p>
如果控制代码选择
NETPH,
改物料将不
会参加运算
.
今天贱客说说
MPS/MRP
控制参数中的计划模式
(Pl
anning mode)
字段
.
首先
看看计划模式到
底是什么东东
(
见附图
)
可以看到有
3
个参数
:
1.
适应计划数据
(
普通模式
)
2.
重展
BOM
和工艺路线
3.
删除并重新创建计划数据
相信大家看到
2,3
都很好理解
,
选择
2,
运行
MPS/MRP
的时候就会按照需求日期重展相关单
< br>据中的
BOM
和工艺路线
;
选择
3
时
,
直接删除前次
MPS/MRP
运行后生
成的计划单据
(
计划
订单
,
采购申请
),
并依照最新
的主数据资料重新生产
.
那么这个“
1.
适应计划数据
(
普通模式
)
”到底是什么意义呢
?
说的通俗一点
,
选择
1
就是
SAP
会自行判断要怎
样处理
,
也就是“信
SAP,
得永生”的意思
.
但如果你不那么相信
p>
SAP,
事实上
SAP
有时候也的确像娇羞的少女
,
耍点小脾气
< br>,
那么你也可
以手工指定
2
p>
或者
3,
要求
SA
P
从了你的欲望
,
嘿嘿。
说到这里
,
大家的疑问又
出来了
,SAP
依据什么标准来做出判断呢
?
咚咚咚
~,
答案就是我们探讨过的计划文件
(Planning
file).
根据贱客测试的结果
,
选择
1.
适应
计划数据的结果就是会依
据计划文件中“重投订单
(ResetProps)
”与“展开
”
BOM(ExplodedBOM)
”字段的表示进行
MPS/MRP
运算。
简单来说
:
1.
如果计划模式选择
1.
适应计划数据
,
同时计划文件中的“重投订单”被标识
,
等同于选择
计划模式
3
2.
如果计划模式选择
1.
适应计划数据
,
同时计划文件中的“展开
BOM
”被标识
,
等同于选择
计划模式
2
3.
如
果计划模式选择
2
或者
3,
直接覆写计划文件中的对应标识
.
OK,
解释了原理
,
< br>大家可能又好奇了
,
我从来没有去更新过计划文件啊<
/p>
,
说明计划文件中的这
两个标识为是
p>
SAP
自动更新的
,
那
SAP
做出的更新逻辑对不对呢
?
所以接下来我们就来测试
看看什么状况下
SAP
会更新这两个标识
.
在测
试前
,
稍微梳理下
MPS/MRP
p>
的概念和逻辑
,
问自己两个问题
:
1.
什么状况下
MP
S/MRP
运算是需要展开
BOM
和工
艺路线
?
2.
什么状况下
MPS/MRP
运算是需要重投订单
?
MPS/MRP
的概念请大家自行
翻书或翻墙
,
嘿嘿
.
< br>答案我们可以简单归纳如下
:
或者工艺路线更新后
,
原来的计划单据需要依照最新的
BOM
或工艺路线展开
2.
订单数量
,
或者交期等有变更时
,
计划单据需要重新生成
.
所以我们就来分别测试这两种状况咯
,
首先我
们修改这个物料的
BOM
后查询计划文件
,
可以
看到“展开
BOM
”的字段已被标识
.
接下来我们修改物料主数据中的自制时间
,
再查询计划文件
p>
,
可以看到重投订单
/
< br>复位建议字
段已被标识
.
向前消耗,向后消耗,未清时间,产前缓冲时间,产后缓冲时间
未清期间:简单的说就是为计划员提供了一个提前处理的缓冲期。在逆推排产的逻
辑下,比如
MRP
创建的计划订单开始日期是
5
日,未清期间是
3
< br>天,那么假如当前日期
是
1
日,
就还没有进入未清期间,此时计划员就没必要这么早处理计划订单,而如果当前
日期是<
/p>
3
日,就在未清期间里了,此时在
MD0
4
中会有一个例外消息
05
产生,用来
提示
计划员可以去将这张计划订单转换成生产订单或者采购申请了,这样就可以给计划员
充分
的时间来处理订单。如果没有未清期间,直到
5
日都不会有任何提醒,到时候再来处理就
有可能来不及了。
产前、产后缓冲时间:就是有些产品生产的时间可能不一定按设定的那样准确
,允
许生产前或后有一定的浮动,比如产前
2
< br>天,产后
1
天,这样自制生产时间为
2
天的产品,
只要在
5
天内生产出来都是允许的。这个字段的设置是要根据实际生产情况的,但是感觉
真正会用的企业不太多。
下达期间:如果没有下达期间,
那么系统计划的下达日期就是订单的计划开工日期,
也就是说计划员刚下达就必须开始生
产了,而如果设置了
2
天,那么计划员就可以提前
2
天下达,车间接到下达的订单就可以有一定的提前准备时间。
这些字段都没有什么限制作用,只是给计划一些灵活性和容余罢了。
至于你说的向前和向后消耗,那是计划独立需求如何被销售订单冲减
的概念了,跟
计划边际码没关系。比如消耗模式是向后消耗
5<
/p>
天,那么假设预测的独立需求是
10
日要
生产
100
,如果在
< br>12
日接到一个
40
的销售订单
,也可以当作预测准了,那么未完成的预
测就只有
60
了。类似的向前消耗,就是实际订单如果早于预测日期,是否也可以认为是
预测准了,可以冲减预测。因此消耗模式都要和逆向消耗期间或向前消耗期间搭配使用,
以确定与预测日期相差多少天内的订单都可认为是预测的数量得到了实现。
PP:
Availability Check
概念
Availability Check
,顾名思义,就是有效
性检查,指的是要检查一下此物料是否能满
足我的需求。
简单地举个例吧,你接到一张销售订单(
Sales Orde
r
),客户要求数量为
100PC
,并
且客户要求的出货日期是
2009-4-1
,此时我们的销售人员肯定会想,在这个愚人节到底能
否出货给客人呢?那怎么办呢
?一个个电话去问生产计划人员,去问厂长,经理?废话,
肯定不能这样,要不然花几百
万,几千万上
SAP
做什么对吧,此时在系统中建立此单时,<
/p>
SAP
就会做一个所谓的检查,检查一下我们预先设定的考虑因素
,能否满足客户的要求,
什么时候可以满足,这就是有效性检查的功能。
但一般人看到此单词就会想到
ATP
,实际上系统中并不只是包含这一层意思的,就
听俺慢慢道来
有效性检查包含以下两个概念
1
就是大名鼎鼎的
ATP(
全称:
Available To Promise)
2.
就是
Check against
planned independent requirements
(
意指计划独立需求的相关检
查
)
ATP (Available To Promise)
有
效性承诺,检查承诺物料的相关元素,看是否能满足需求,什么时候能满足。
先看标准解释图片
第一张图表示某物料在某个时间上有生产订单或计划订单,数量及时间如图
第二张图表示如果在某个时间上有销售订单
< br>那我们的生产订单或计划订单能否满足客户的需求呢?就看图三了
当我们在建立
S1
此销售订单时,因为我们已经有了
一张
P2
的生产订单,并且日期
是小于
S1
的,因此
S1
是肯定可以满足的,并且是提供满足
S2
同
S1
原理一样,完全就可以由
P2
去满足
S3
< br>可以被
P3
的一部分满足
p>
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
来定义不同的
RUL
E
,后面
的
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
我想很明白可以看出来,是什么东西,这里我就不详细解释
<
/p>
14
:表示相关预留的选项,与
10
p>
的区别在于,
10
是一般是表示我们用
p>
MB21
建立的,
而
14
是表示由于相关预留,即此预留是来自于其他物料,如生产订单所产生的预留
p>
15
:指
STOCK
TRANSFER ORDER
16
:指计划订单
17
:指生产订单
18
要单独再演示
< br>19
表示是否在库存地点的角度上去分析,如你在仓位:
0001
的需求是
100PC,
但是库
存如下:
0001
仓
< br> = 80PC ,0002
仓
=60PC
,那对此物料去做
ATP
的时候,到底是应该显示缺
料
20
(
10
0-80
)还是不缺料呢(
80+60-100 >
0
)?就是此栏位决定的
20
:主要用于
WORKFLOW
,即在这个区间
中,如果存在收货了,则会发邮件到
MISSING CONTROLLER
21
:用于控制确认的日期能否在过去或未来
演示
<
/p>
今天心情不太好,没有用我的
KT
物料,
因此用了标准的
100-110
此物料
此物料有库存
72PC,0001
仓<
/p>
22PC
,
0002
仓
50PC
但是在
2008-1
2-30
有一需求(
OrdRes
)即
相关预留
11PC
,因此
72PC
p>
中还有
61PC
可
用,对吧。
如果此时建立一张新的
Production
Order
,如下图
可以看出第一次确认是为
61PC
,第二次为
50PC
(从中就可以看出是把
2009-3
-20
的
PchOrd
给包含进去了)
在这里可能会有几个疑问:
1
是
61PC
包含<
/p>
0001
仓与
0002
< br>仓
2
是为什么
61PC
是
2009-3-11
3
是为什么
PchOrd
也参加了
计算
先看看后台设定画面
看我上图中的红色标记可以
1
与
3
就可以解答了。
而
2
的答案是要看此物料的需求日期<
/p>
如果你把
No storage location insp
ection
不选中的话,则
ATP
结
果会如下:
2009-3-11<
/p>
变成了
11PC
,因为我们的
0001
仓只有
22PC
,但已经被第一张用了
11PC
,
因此
还剩下了
11PC
给新的生产订单使用。
如果不包含
PURCHASE ORDER
(不选中有数字标明图中的第
7
个及
< br>13
)
,
则表现如下
只有
11PC
了,因为没有考虑
PURCHASE
ORDER
。
好,现在来看看
18
的功能,之前的测试
18
项都是选中的
假设即不选中
7 AND 13
,也不
选中
18
,如下图
注意,变了,大大的变了,多了一个
2009-3-23
,数量为剩余的
109 = 120 -11
意思是
为从现在去买的话,
2009-3-23
就会回来的,呵呵。
这个
< br>2009-3-23
如何来的?就是靠
18
项控制的,
18
项的意思是说要不要考虑
“
补充
交货周期
”
,那这个又是从哪来的呢?
看看这个
如果你是用
SALES
ORDER
来演示的话,就要看看下面
-
-
-
-
-
-
-
-
-
上一篇:一篇好的CL和CV的写法,找工作
下一篇:SAP计划策略