上文讲了作业区的概念及配置。
SAP PP学习笔记08 - 作业区(工作中心Work Center),作业区Customize-CSDN博客
SAP PP学习笔记09 - 作业区(工作中心Work Center)Customize2(管理码,班次顺序,计算式),标准Text,作业区阶层-CSDN博客
本章主要讲了PP模块的MRP相关概念,参数,配置。
- MRP运行级别:工厂(online),工厂(background),品目,这3种级别
- 交叉工厂的MRP运行策略
- MRP的控制参数
比如处理Key(NETCH,NETPL,NEUPL的区别),采购申请生成,纳入日程,MRP一览登,计划模式等主要参数,和一些次要参数等
1,MRP概览
有两个输入:
- Sales orders:销售订单
- Planned ind reqmts:计划独立需求
跑完MRP之后,会产生
- Planned order:计划订单
注意真实世界中,一般不会照搬SAP生成的计划订单,而是会修改很多,
SAP自动生成的计划订单只是一个参照
多数公司会把自己的经验,决策,因素等等人为的决定加进去,做成一个最终的计划订单
然后再变成生产订单,采购需求等等
2,Spro设定能不能跑MRP
2-1,Plant 工厂
- Activate MRP:一个工厂能不能跑MRP,是需要激活设定的
- Set up planning file:即使工厂级别激活了,哪个物料能跑MRP也是需要在计划文件中定义的
Spro > 生产计划/ 管理 > 资材所要量计划 > 计划文件Entry
A),资产所要量计划
- 所要量计划有效化
- 打勾 表示这个工厂可以跑MRP
- 不打勾 表示该工厂不能跑MRP
现实项目中,那种 无价值工厂,就不需要跑MRP,它只是用来记录一些无价值的东西
B),计划文件设定
这里说一下跑MRP的原理。
当跑MRP的时候,会先去找计划文件(其实就是一个表),然后查询哪个料需要跑,哪个不需要
但是不建议手动做这个计划文件,因为还有其他方法来自动生成计划文件:
MD01 MRP实行
- MRP实行Mode
- NEUPL:这个参数有2个作用
- 给所有物料重新建立一次计划文件
- 给所有物料重新跑一次MRP
MD41 单一品目
这个可以限定跑某个品目的,选NEUPL 之后,也可以干相同的事情
- NEUPL:这个参数有2个作用
- 给所有物料重新建立一次计划文件
- 给所有物料重新跑一次MRP
2-2,物料
- Valid MRP type MRP类型
- Valid material status 物料状态
MM01/MM02/..
- MRP Type
- ND 无计划:如果选了这个,那就说明该物料不能跑MRP
3,MRP Customize
按优先级从高到低有如下3种
- 物料Master
- MRP Group
- Plant Parameters
- 物料Master
MM01/...
MRP 1 Tab
- MRP Type
- MRP Group
Spro > 生产计划/ 管理 > 资材所要量计划 > MRP Group
这样就打开了MRP Group的设定页面
这个里面设定了很多参数
这样使用的时候输入一个Group号即可,而且修改也方便,修改一处,所有用到的地方都反映了
这里面的参数的意义,咱们后面再说。
4,MRP Run
- Plant单位 - online(前台跑,意思就是在你客户端上跑,电脑死机或重启了,处理就中断了)
- Plant单位 - background(后台跑,就是在服务器上跑,前台死机了也不会影响)
- 物料单位 - online(一般手动跑的时候用)
- Plant单位 - online
Menu > Logistics > 生产 > MRP > 计划 > 全计划实行
MD01 Online:Plant单位
- Plant单位 - background
- MDBT 全计划实行
设定一个变式,然后在服务器上实行。
即使实行的时候,前台死机了,也不会影响MRP的运行
- 品目单位 - online
5,Low-level code 低阶码
算物料的时候,会先算低的,再算高的。
如下图会先算 000 的,然后根据000 再算001,根据001的结果再算002
- 000 低阶
- 001,002... 高阶
6,Cross-Plant Planning 交叉工厂计划
比如 Plant 1000 --》Plant 1100 --》Plant 1000 都有转送的这种情况,就叫交叉工厂
那么跑MRP 的时候,应该谁先跑呢?
SAP可能会先执行 Plant 1000 的MRP,然后再执行 Plant 1100 的MRP
但是 Plant 1100 执行MRP 的时候,SAP会把Plant 1000 相关的物料再执行一遍 MRP,
这样既能算的很准确,又不会浪费太多资源(不会死循环)
这里有一个很重要的概念:
- Scope of planning 计划范围
比如 MD01 MRP实行 的条件中就有这个字段
它定义了跑的MRP的工厂范围(比如上图中的Plant1000和Plant1100)
这个字段的值来自Customizing
Spro > 生产计划/管理 > 资材所要量计划 > 计划 > MRP计算
计划范围 - 全计划实行(总计划运行的计划范围)
任意点一个计划范围,比如 9999,然后双击 Plant/MRP Area 的顺序
这个图的意思是说按顺序先跑 2400,再跑 2500...
- 1 2400
- 2 2500
- 3 2300...
代入到上面那个示例,跑完 Plant1000之后,跑Plant 1100的时候,发现有东西卖给 Plant1000
SAP就会把Plant 1000的MRP再跑一遍,但是它不会跑Plant 1000的全部物料,只会跑相关的物料
跑这种计划范围MRP的时候,会非常花时间的,比如可能需要数个小时,
那么SAP为了缩短跑MRP的时候,就强制采取了并行处理的方式
- 并列处理
即使采取并行处理,还有个问题就是并行跑几个呢?这也需要在 Spro中设置:
Spro > Logistics > 生产 > MRP > 关联处理
MRP的并行处理
比如这里设置 Session 为 5
那么就可以用5个Session并行处理,
这样本来单Session需要5个小时的话,5个Session一起只需1个小时就OK了。
当然这种对服务器性能肯定是有要求的
7,Control Parameter for MRP - MRP的控制参数
- Processing Key MRP的实行Mode(处理Key)
- NETCH
上次跑完之后到这次再跑中间更新的部分
比如上次 2024/5/3,本次 2024/5/5,那么就是这两天的变化会跑出来
- NETPL
从现在起往前数一个Customize的日期,比如 3个月,
比如今日是 2024/5/5,那么就是从2024/2/5到现在
- NEUPL
ALL,所有全跑一遍
咱们上面讲的 计划文件 的时候说了,系统新上线之后,一定要跑一遍 NEUPL,
就是要把所有物料的计划文件给重新生成一遍
- Create purchase requisition 购买依赖生成(创建采购申请)
- 1 购买依赖(采购申请)
会生成采购申请
- 2 开放期间内的购买依赖(未清期间的采购申请)
- 3 计划手配(计划订单)
会生成计划订单
咱们看下面这个图:
MRP可能会产生
如果选了 3 - 计划手配(计划订单)
- Planned Order 计划订单,然后计划订单会再转成
- Production order 生产订单
- Purchase requistions 采购申请
如果选了 1 - 购买依赖(采购申请)
- Purchase requistions 采购申请
下面来说一下下面这个东西
- 2 开放期间内的购买依赖(未清期间的采购申请)
什么叫 开放期间(未清期间)呢?
比如 2/28要货,预计产线要投料了等等,那么L/T (LeadTime)是多长呢?
如下图所示的话,也就是2/20 到 2/28 的8天。
从2/15 到 2/20 这5 天时间是一个开放期间(未清期间),在这个时间段内运行MRP的话,就会生成 PR(采购申请)。
这个 开放期间 不会参与MRP 运算的,只是SAP系统建议你在这个期间把计划订单转成PR(采购申请)。
只有你在跑MRP的 界面选了这个选项,开放期间的数据才会被抽出来,当作MRP对象。
这个就叫开放期间(未清期间)。
未清期间的长度(比如上面的5天)是在哪儿设定的呢?
就在 MM02 > MRP 2 Tab
日程计划余裕Key(计划边际码)
- 001
开放期间:10天,意思就是提前10天通知你该转为PR(采购申请)了
- Schedule lines 纳入日程(计划交货表)
就是下面的Schedule lines那块儿,详细的以后再说,跟 上面的 购买依赖生成 逻辑上是相似的。
- Create MRP list MRP一览登录(创建MRP清单)
- 1 MRP 一览
就是 T-code:MD05
它会记录最后MRP跑的结果,它是静态的,你改了订单数量什么的它也不会变的
只有当你再次运行MRP,它才会变
- 2 例外Message依存
只有出错的时候才会登录MD05,需要在Spro里设定
- 3 无MRP一览登录
如果选这一项,那么MD05里面就没有记录了
下面说一下例外Message的时候的MRP一览的设定:
- 2 例外Message依存
Spro > 生产计划/管理 > 资材所要量计划 > 评价 > 例外Message
就是这个设定
- 勾上 MRP一览登录,当出错的时候就会登录 MD05
- Planning mode 计划Mode(计划模式)
- 1 计划Data适用(标准Mode)
BOM有变化,它才会重新读取
- 2 BOM/作业手顺 再展开(再次扩展BOM和工艺路线)
不管BOM有没有变化,它都会重新读一遍
- 3 计划Data 消除/再登录(删除并重新创建计划数据)
先把原来的计划订单结果给删除掉,然后重新生成一个号码,再去读取BOM
一般不建议适用这个模式,因为号码删了再重新採番,就会消耗的特别块
所以可以看到,1 是最快的,2其次,3最慢
保险起见可能选 2 会好一些
- 日程计划
- 1 使用基本日程作成计划手配
不会重新读取工艺路线和能力计划
- 2 Leadtime日程计划及能力计划
会重新读取工艺路线和能力计划
下图总结了这两个选项
- Material Requirements Planning
- 精确到Day
- 不会去计算能力需求...
- Lead time Scheduling
- 精确到秒
- 重新计算能能力需求...
可以看到 【- 1 使用基本日程作成计划手配】 这个选项最大的特定就是快
如果你发现MRP运行时间太长,你又不介意能力需求,可以选参数1,就可以大幅减少运行时间
以上就是MRP 运行所需的主要参数。
下面再说一些其他参数。
- 对全构成品目运行MRP
比如 A = B + C (就是A 品目 由 B,C子品目构成)
A 改过了,但是B没改过任何东西
那么 B要不要跑MRP呢?
这个选项勾上了就要跑MRP,不勾就不用跑
- 结果照会(保存前)
就是跑完MRP,先显示结果,如果你对结果满意,就保存,不满意就关掉不保存,以后再重跑
- 品目一览照会
跑完MRP之后,让你看一下哪个品目跑了多长时间
左上角显示了 品目 按钮
点一下 品目 按钮即可显示时间
- Simulation(模拟)
模拟的结果是这样
也可以保存