上一章学习了 MRP(资材所要量计划)的基本内容,这一章开始做点儿实操。
SAP MM学习笔记39 - MRP(资材所要量计划)-CSDN博客
1,发注点方式的设定
- 可用MRP 在库:在库 + 确定入库 的总计
- RLT:补充Leadtime(就是订完货,要几天才能到货的意思)
- 安全在库:要考虑 RLT 之外的可能延迟纳品时的正常在库消耗
安全库存 = 日次所要量 x 可能延迟纳品日数
- 发注点:RLT 中所需的预想平均在库 和 安全在库
发注点 = 安全在库 + 日次所要量 x RLT
= 日次所要量 x ( RLT + 可能延迟纳品日数 )
2,正味所要量(净需求)
正味所要量是在 MRP 实行时算出,即下图的 不足的部分。
这里注意,购买发注数量,是根据Lot Size进行计算的,就是按批来,不是按个来。
MRP中 利用可能仓库在库 = 在库 + 购买发注残数量(合计)
购买发注残数量(合计) 由各 确定入库要素 组成。
确定入库要素,即外部需求,比如如下外部需求:
- 购买发注
- 确定计划手配
- 确定购买依赖
其实 MM 的MRP(消费主导型所要量)默认不考虑外部需求,但是SAP 为了更为精确,
可以在Customize上面设置考虑外部需求。
根据客户实际需求,在库之外,再考虑想考虑的因素(比如购买发注等),才是客户的净需求。
至于怎么设置,参照如下文章。
SAP MM学习笔记39 - MRP(资材所要量计划)-CSDN博客
简单来说,就是 MRP Type (比如下面 的 VB:Manual发注点)的详细页面上的
发注点方式的追加外部要求 部分进行设置。
设好后在 MM0x 品目 画面使用。
这样,MM品目就和MRP Type关联起来了。
3,顺日程计划 / 逆日程计划
- 顺日程
就是从现在开始,向前推日期。
MM模块没有真实的客户需求,只看消耗,所以采用顺日程
- 逆日程
就是反推,因为有真实客户需求,比如下周二要,那么要反推哪天采购/生产什么东西。
PP,SD 模块,采用这种。
顺日程计划:
- 购买处理日数
购买发注 及 承认 需要的日数。
对应 购买发注日付 (按自己公司的日历来)
- 纳入预定日数
运输等货物到货之前需要的日数
对应 入库日付 (按普通的日历来,因为不是自己公司能决定的,是别人公司给你的日期)
有些项目要 Add-on,改成按对方的日历来,标准做不了
- 入库处理日数
货物来了以后入库的手续,或者有些公司还有质检
有的公司来了就可以马上入库,那就可以为0或很小
对应 利用可能在库日付 (按自己公司的日历来)
4,MRP 的实行方式
- Plant MRP - 后台处理(全计划)
- Plant MRP - Online(全计划) 手动执行
- 品目 MRP - Online(单一品目计划)
4-1,MD01 MRP実行 (全计划)
只到Plant级别
4-2,MD02 单一品目计划
品目级别
这样可以单品目执行
4-3,MDBT 全计划实行(Background Job)
点Schedule图标,打开Schedule画面,
点 周期Schedule,可以选该计划的执行周期 / 或点 只限一次的Chedule,来执行一次
5,计划范围
a),如何找 spro Customize画面的T-code?
MD01 里面有计划范围 项目。
光标放到 计划范围 > 按下 F1 > 点 Customize图标
双击需要 Customize的项目
右键想要查看的项目图标 > 技术情报照会
如下 计划范围 的Customize T-code就是 OM0E
找这个有啥用呢?
首先是快,T-code输入完回车就OK了
还有一个比较常用的是,跟客户演示的时候,你这么Spro > xxx,这样客户也不好理解
因为Spro只有顾问在用,客户几乎不会用的,你要用客户能理解的方式演示。
b),OM0E 计划范围 Customize
选中一项,双击左侧 Plant/ MRP Area顺序 项目
就如下 9999 这个计划范围 的话,它里面有很多个 Plant
这就是说 如果选了这个范围,MRP 就会按列表的顺序,挨个Plant执行。
为啥会一次执行多个 Plant呢?
它可以将所要量连锁展开(需求的连锁传递)。
比如 A 工厂需要 B 工厂 的某品目,那就需要 A工厂先运行 MRP 之后 B 工厂再运行,这样就可以将 A工厂的需求传递到 B 工厂。
c),MD01 执行
这里没有选择执行范围,只输入了 Plant,那么就会以 Plant为单位执行
如果选中了 执行范围,那么Plant就会被清除掉了。
可见这两个条件是互斥的,并以计划范围为优先。
6,计划文件Entery
a),先插一个小技巧,如何根据T-code找到菜单项
参照:
比如 MD21
SEARCH_SAP_MENU > MD21
看起来入口还蛮多的哈,
咱们这里就关注 Logistics > 在库/购买管理 > 资材所要量计划(MRP) > MRP ...>MD21
这样就找到了SAP T-code的路径了
SAP画面多,真不好找,经常能看见有人求助怎么找T-code的路径,这样就自己能找啦
当然还有一种更简单的方式就是搜索:
也可以定位到正确的菜单位置上
(好像有点儿慢,经常搜不到😅,不太好用)
b),MD21 计划文件 Entry 照会
就是在这个 Plant下,有多少品目是和 MRP 相关的。
可以看到,1000 Plant下面,有这么多 计划文件Entry。
当在 MM0x 品目 画面设了 MRP Type的时候,SAP 就会自动往这个列表里面加一条。
当跑 MRP 的时候,就会到这个列表上找,列表上有才会去计算该品目的所要量,没有就不跑了,这样就无需扫描整个 品目 Master 主数据,大大节约了运行MRP的时间。
有关 MRP Type 参照下面这个文章
SAP MM学习笔记39 - MRP(资材所要量计划)-CSDN博客
下面看两个Flg
- Nchge plng Flg (NETCH) 正味变更计划 (净变更计划)
在MIGO 出库的时候,会去算所要量,如果在库不足,则会更改上面的 Flg,作为MRP的对象。
MRP 运行的时候,不会去算这个,太花时间了,MRP 作业量那么大,会直接看,有X 就是对象。
不仅是 MIGO 出库,下面这些时机,
MIGO 入库,受注,发注 等各种Timing,都会在后台默默的把计算先做了,然后去设定好Flg,
执行MRP的时候就是单纯的参照 Flg。
- Nchge 期间 Flg (NETPL) 计划期间内的正味变更计划 (净变更计划)
这个就是进一步的缩小范围。比如设定一个月作为计划期间。
比如 SAP 上登一个购买发注,预计将会在3个月后入库,NETPL的话,就会忽略它。
等时间慢慢走,到一个月以内的时候,再跑MRP,它才会算到我们的对象范围内。
而 NETCH 则会把它作为计算对象。
7,消费主导型所要量计算的处理流程
根据上面的 【6,计划文件Entry】来看是不是处理对象,如果是处理对象,则会按如下步骤
- 正味所要量计算(净需求)
默认是只看在库,Customize(SM30(TBL:V438A))设置可以看外部因素,比如入库,发注等
- Lot Size 计算(批量计算)
- 日程计算(排产)
就是上面 顺日程计划 里面讲的 购买处理日数,纳入预定日数,入库处理日数 这3个日数。
- 调达提案(采购建议类型)
上面都做完之后,才会决定到底要走那条路,是计划手配(计划订单)还是购买发注。
8,Low Level Code(低级代码)
SAP中,生产和计划的品目一般都会创建 BOM。
一个品目 可以在多个 品目中或 一个品目的多个层级中存在。
比如下图中的 品目2,在不同的层级中存在。
SAP 会根据 Low Level Code(低级代码) 来决定计划的执行顺序。
BOM 中代码越低(Code越小的),越先执行,即从上而下,上面的决定了,下面的才会能定。
先执行 000 级的,再执行 001 级的,...。
最下层的才是最真实的需求。
转MRP的时候,会一层层展开,到最下层加算出来最终结果。
Low Level Code(低级代码) 本身,在创建或更新 BOM 的时候,会在品目Master或计划文件中更新
MD21 计划文件Entry 中的 Low Level Code(低级代码):
品目Master MM0x中的 Low Level Code(低级代码):
像 999 Low Level Code(低级代码),表示说跟别的品目没啥关系,独行侠一个
9,处理Key(处理代码)NEUPL/ NETCH/ NETPL
- NEUPL 再生方式(全重生计划)
计划文件里有的品目都会运行MRP,不看 NETCH Flg/ NETPL Flg
月末夜间等稍微大一点间隔的时机自动运行
主要目的就是为了防止有漏网之鱼。
但是 计划文件Entry 这个必须得有,没有的话跑不了MRP的。
有些特殊情况,比如系统刚移行完,万一移漏了这个 计划文件Entry,那你MRP肯定跑不出来。
- NETCH 合计期间内的正味变更计划(总计范围的净更改计划)
只有 NETCH Flg 为 X 的品目才会执行 MRP
日次夜间等中等间隔的时机自动运行
- NETPL 计划期间内的正味变更计划(计划范围的净更改计划)
只有 NETPL Flg 为 X 的品目才会执行 MRP
临时等时机手动运行
NETPL 设定计划期间,运行速度会加快。
10,MRP 制御Parameter(控制参数)
- 处理 Key
- 购买依赖生成
- 分纳契约纳入日程行
- MRP 一览登录
- 计划Mode :一般选1
- 1 计划Data的调整
- 2 BOM及作业手顺的再展开
- 3 计划Data的删除及再登录
Plant Parameter
MRP Group Parameter
MRP Group Parameter
可以把品目给分成不同Group,然后以Group 分别去运行 MRP
每个 MRP Group 里面 还可以设置 处理 Key,购买依赖生成, 计划Mode 等参数。
对于 全计划实行 (比如 NEUPL 再生方式,NETCH )来说
MRP Group 参数的优先度 优先于 Plant Parameter
即如果有冲突的话,会用 MRP Group中设置的。
但是如果对于 单一品目计划(NETPL)来说,
总是使用初始屏幕中输入的参数运行。
11,MRP 计划结果
- 计划文件 Entry
MRP 执行前,根据 计划文件Entry 来限定MRP执行品目对象,
MRP 执行之后,将反映到 计划文件Entry 中,把 X 更新为 空 等,作为下一次 MRP 对象外
- MRP 一览
- 调达提案
11-1,MD05 MRP 一览
在 MD01 MRP实行 等画面上,可以选择 MRP 一览登录,
- 1 MRP 一览
- 2 例外Message依存
- 3 MRP 一览不登录
这个 1 MRP 一览 是什么呢?
选 1 MRP一览 之后,MRP 执行完,就会登录到这个列表里。
其实就是 MRP 运行之后静态结果,生成后,不会考虑库存/购买依赖等 MRP 要素的最新变化。
为啥需要这个静态列表呢?
- 给MRP管理者用,查看MRP运行结果,作为工作基础,决定计划手配(计划订单)走向。
- 作为一个自查工具
比如 执行MRP 的时候,客户发了受注,库存减少触发 购买发注,MRP 自动新规 购买发注。
但是稍后客户取消了受注,如果没有MRP一览,就无法知道为啥有这笔 购买发注
也就是说,这个MRP 一览就像一个证据照相机,把当时证据留下来,以备查看。
当然,这个东西只能留最近的那一次,之前的会被覆盖了。
MD05 MRP 一览
11-2,MD04 在库/所要量一览(现在)
这个就是现在最新的在库/所要量的一览。
与 MD05 MRP 一览对应的就是 MD04 在库/所要量一览(现在)
MD04 和 MD05 最大的区别就是 MD04 每次打开都会重新读取 MRP 要素。
也就是说库存/所要量变化都会反应进来。
MD04 在库/所要量一览
11-3,MRP 一览的 Layout
1),可变 Header
就是定制 MRP 一览的 画面菜单项
关联处理 > Navigation Profile > 割当
比如
一般设定 > Navigation 选 购买担当者
保存之后,菜单项 就变了。
这个是 MRP 管理者的菜单项
2),计划Segment
12,Lot
1),静态Lot
Lot 就是批次,具体是多少根据不同品目而不同,比如一箱等。
一般来说,不会缺1个买一个,浪费时间而且没有议价能力,而是用光了就买一个或多个Lot。
- 固定Lot size
- 补充到最大在库Level
2),合计期间Lot
比如一天之内发注3次,每次 1 个Lot,那么实际发出的是 1条 3个Lot,而不是3条,每条各1个Lot
这个 1天 这样的期间是可以Customize的:可以是 日,周,月,计划Calendar对应期间
3),Lot的舍入(比如 2.1 也要弄成 3,叫舍入)
比如下图 舍入(丸め)数量是 20 个。
就是说不能1个1个买,要买就至少20个20个(其实就是1 Lot(即1包)的数量)买。
咱们这里的最小安全库存是60个,即低于60个,就会触发 MM的MRP。
MIGO 初期化 为 59个
MD02 MRP 实行
看来不是走的 最小在库(这个品目是60个),而是走的 安全在库 (100个)
运行MRP的结果是 不足 41 个,共计手配 45 个,剩下利用可能在库 4 个
为啥是 所要量 45个 而不是 41 个呢?
就是因为这个 舍入(丸め)数量为 5。
在这个地方可以选择将多少个转成 购买依赖。
有时候只想转一部分,那么就可以输入想转的个数。
转成 购买依赖 成功
购买依赖 是 45 ST
购买依赖转成购买发注之后,数量是 2 PAC,不是 45 个
由上可见,其实 舍入(丸め)数量最好和 发注单位(比如本例的 PAC)的数量一致(如20个)
比如,这里将 舍入(丸め)数量 改为 PAC 的换算个数(20个)
MD02 重新运行 MRP,则缺少 41 个,手配 60 个。
购买依赖也是 60 个
购买发注也应该是 60 个
3 PAC 购买发注。
这个在现场是最常用的。