SAP PP学习笔记29 - LTP(Long-Term Planning 长交期计划),LTP的目的,模拟计划区域,如何实行LTP,LTP实行时的参数设定,LTP的其他用途,LTP转为正式计划订单

147 篇文章 7 订阅
44 篇文章 4 订阅

前几章讲生产订单的相关内容,生产订单的画面元素,生产订单的创建,状态管理,成本收集器,各种方式的确认(报工),反冲,自动入库,入库(收货)以及品质管理等等。

SAP PP学习笔记22 - 生产订单(制造指图)的元素1_订单指图-CSDN博客

SAP PP学习笔记23 - 生产订单(制造指图)的元素2 - 决济规则(结算规则)_sap无料号生产订单结算规则-CSDN博客

SAP PP学习笔记24 - 生产订单(制造指图)的创建_bom application pp01-CSDN博客

SAP PP学习笔记25 - 生产订单的状态管理(System Status(系统状态)/User Status(用户状态)),物料的可用性检查,生产订单的打印,发料,退料等_co04n-CSDN博客

SAP PP学习笔记26 - User Status(用户状态)的实例,订单分割中的重要概念 成本收集器,Confirmation(报工)的概述_sap 取消技术性完成bdc-CSDN博客

SAP PP学习笔记27 - Confirmation(报工/确认)(CO11,CO11N,CO15,CO12),重大事件确认,进度确认,时间事件确认,CO1P 事前定义处理,反冲,自动入库等_sap 确认号-CSDN博客

SAP PP学习笔记28 - 生产订单的收货及品质管理-CSDN博客

本章来换个话题,讲LTP(Long-Term Planning 长交期计划) 的相关内容。包括

- LTP的目的

- 模拟计划区域

- SAP系统上如何实行LTP

  - LTP实行时的画面参数设定

  - LTP的实际实行操作

     - MS31 创建模拟的计划Scenario(计划方案)

     - MD61 创建用于模拟的计划独立需求

     - MS01/MS07 在库/所要量一览照会

     - MS70 报告分析的Data设定

     - MCEC / MCEA / MCEB - 报告分析的各种角度的Data分析

     - MS64 复制模拟方案的版本到正式版本

- LTP的其他用途(比如作为缺料分析工具等)

- 模拟方案OK之后如何转未正式计划

   - MD43 复制LTP中的计划订单为正式的计划订单

1,LTP(Long-Term-Planning)概览

1-1,LTP的目的

- 模拟未来的计划独立需求对所有BOM层次上的影响,比如

  - 做了计划独立需求(销售预测)之后产能能会增加多少

  - 采购会有多少量/会化多少钱

  - 成本会增加多少/减少多少...

1-2,Simulative Planning Areas(模拟的计划区域)

因为LTP毕竟只是模拟而已,所以不能影响真实的计划独立需求,那么要怎么实现呢?

就是分开成两个区间

- Operative Planning Area (工作计划区域):这个是生产等真实工作使用的计划区域

- Simulative Planning Area(模拟的计划区域):这个只是用于LTP,专门做模拟用的

模拟的时候也可以模拟多次的,所以就会有很多个模拟的计划区域,比如如下方案(scenario):

- 模拟一下,只考虑PO/PR会有多少缺料

- 模拟一下,生产2000个/5000个会有什么影响 ...

就是说可以设计各种方案,看一下在不同的模式/条件下结果如何,从而找到最适合自己的

1-3,Carrying Out Long-Term Planning(实施长交期计划)

如何实施长交期计划,分以下几步:

- Create and release planning scenario:创建及承认方案

- Create and change plnd ind reqmts versions:创建及修改计划独立需求

- Sales orders / Firmed receipts:参考既存销售订单/已确认货等

- Simulate MRP:运行模拟MRP

- Reporting:报告,分析,不行就改个参数继续跑;OK就继续走下一步

- Acitvate planned ind reqmts versions:(如果对方案结果满意)激活为正式计划独立需求

- Transfer firm simulative planned orders:转为计划订单

这个图说明了在LTP的功能环境中,各要素的所处位置:

下面来看一下系统上的具体操作。

2,实行LTP - MS31 - Create and release planning scenario:创建方案

SAP Menu > Logistics > 生产 > 基准计划 > 长期计划 > Scenario(计划方案)

2-1,画面参数

1),计划Scenario的名称

输入

- 计划Scenario:不重复的任意字符,比如201

- 名称:任意

2),独立所要量的计划期间

  比如下一年,下一个月之类的

3),初期在库(未清库存)

就是模拟的时候,你想要在什么库存条件下模拟呢?

- 空白 - 初期在库无

- 1 - 安全库存作为初期在库(这个用的相对多一些)

  因为LTP的目的做未来的某一段时期的模拟,所以现有的库存意义不大,假设为安全库存即可

- 2 - 计划时的Plant在库(就是真正的库存)

- 3 - 品目Master中的平均Plant在库

4),发注点品目的从属所要量(再订货点物料的相关需求)

勾上这个选项表示

- 假如正式系统里面用再订货点来计算相关需求,

  那么LTP方案模拟里面也会用这个再订货点来计算相关需求

- 再订货点(Reorder point)的用途

  这个概念是20世界60年代以前的人用的

  就是在MRP这个概念还没有出现的时代,他们用再订货点来买东西

参考:百度百科

MRP(‌物料需求计划)‌的概念出现在20世纪60年代初。‌

这一概念最初起源于美国,‌旨在通过电子计算机编制生产作业计划,‌特别适用于成批生产的加工。‌MRP的基本原理是根据产品结构的物料需求来组织生产,‌根据产品完工日期和产品结构规定生产计划。‌

这一方法通过层次从属关系计划零件,‌以完工日期为基准倒排计划,‌根据生产周期反推生产投入的时间和数量,‌并通过提前期的长短来区别优先级,‌从而确保生产所需的所有物料都能在需要时配套齐备,‌避免过早积压,‌以达到减少库存量和占用资金的目的。

5),考虑受注(考虑销售订单)

勾上这个选项表示

- 现有系统里面的销售订单也要包含进来

 6),关闭计划Time Fence(关闭计划时界)

就是有计划时界的物料,运行LTP的时候要不要考虑计划时界。

注意在计划时界里面的计划都是不能随便更改的。

所以运行LTP时,就不要去考虑计划时界比较好。

因为只是个模拟而已,一切都未定,你弄一个固定不让改的东西在里面不太合适是吧。

有关计划时界可以参考下面文章

SAP PP学习笔记13 - MPS(主生产计划 - Master Production Schedule)的目的,必要性,基本原则,哪些物料该跑MPS,需求时界,计划时界等_sap mps-CSDN博客

<物料的计划时界 设定>

7),直接生产的使用(用直接生产)

这个有点儿类似母子工单(collective order 汇总订单),汇总订单的详细内容可以参照如下文章

SAP PP学习笔记24 - 生产订单(制造指图)的创建_sap 工程外注-CSDN博客

勾上该选项就表示

- 作成成品的生产订单,SAP会自动作成该成品BOM中的下级半成品的生产订单

 8),受注生产和Project计划的使用(使用按订单和项目计划)

受注生产(按订单/Make-to-Order),Project计划(按项目计划)

勾上这个选项

- 也包含用于受注生产/按项目计划生产的物料

9),包含确定入出库要素(包括确认的收货)

勾上该选项

- 包含采购订单(即已确认的收货也会放到模拟里面来)

10),包含确定购买依赖(包括确认的采购申请)

勾上该选项

- 包含MD04里面打上*【星号】的采购申请

11),包含确定计划手配(包括确认的计划订单)

勾上该选项

- 包含MD04里面打上*【星号】的计划订单

上面的9,10,11这三项,如果不包含,那么供给就少了,SAP里面跑模拟MRP就会多买东西。

12),BOM展开 > BOM选择标识

如果建了BOM专门用于模拟的,那么就可以在这里进行选择

如果没建专门的模拟用BOM就不用选

13),利用可能能力 > 有效Version(活动版本)

计算产能的时候才会用到的

LTP只是做模拟而已,一般不需要选择。

2-2,计划独立所要量(已计划的独立需求)

其实设定计划独立需求版本

点菜单栏的 计划独立所要量 按钮

LTP的目的是为了模拟未来的计划独立需求对自己公司的影响

所以需要设定具体要模拟哪个计划独立需求

这里就是要选择模拟的计划独立需求的版本

比如这里选 X9

注意这里所选的版本最好不要和真实使用的版本一样

而是要建一个专门用于模拟的版本

等你在MD61 建模拟的计划独立需求,你要选对这个版本,比如咱们这里就要选 X9

这样SAP就能知道你建的方案会和哪一个计划独立需求的版本相结合

2-3,Plant

其实就是选定LTP的Plant

输入你想模拟的工厂,比如这里

- 1000,1100 两个工厂

2-4,承认+保存

 点 Yes

这个消息提示说每次创建一个方案,都会创建一个计划文件

点 即时 按钮

这样计划文件就建好了

计划文件的功能:

- 用来记录哪个物料需要跑MRP,哪个物料需要跑MPS,以及怎么跑等

3,实行LTP - MD61 - Create and change plnd ind reqmts versions:创建及修改计划独立需求

其实就是MD61,和正式系统里面建计划独立需求一样的

有一点需要注意,这个版本一定要选对了

- 版本:X9

输入品目,MRP工厂,以及计划独立需求数量

有个地方需要特别注意的

- A(版本有效)列的勾勾一定要去掉,变成OFF

  因为ON的话就表示会影响到你的正式系统数据

  点F1看帮助

      - 标识:版本已激活 :该选择确定版本是否活动,即,与 MRP 相关。

  帮助好像说的不是很清楚,应该是不激活就表示不会影响正式数据,激活就会影响

出来一个所要量Type,这里随便选一个,比如

- LSF - 见込生产

然后保存即可

4,MS01 - Simulate MRP:运行模拟MRP

都设定好了,再贴一下这张图,现在到了运行模拟MRP这一步

1),MS01 长期计划实行

SAP Menu > Logistics > 生产 > 基准计划 > 长期计划 > MRP实行

- MS01 全计划(Online)

注意这和正式运行MRP不是同一个T-code

默认会带出来很多参数

这里先不研究这些参数,直接回车跑模拟MRP

这样就跑完了

2),MS07 - 在库/所要量 一括照会

SAP Menu > Logistics > 生产 > 基准计划 > 长期计划 > MRP实行

- MS07 - 在库/所要量 一括照会

- MS04 - 在库/所要量(1个1个品目来看的)

 点Yes

选择任意一条,然后点 已选择的在库/所要量一览

这样就能显示出来某一个品目的运行结果

这个画面和MS04 的运行结果是一样的

双击一条,这里的所有计划手配(计划订单)都不能转成 购买依赖(采购订单)或制造指图(生产订单)

因为这只是LTP,是模拟的结果,不是真实的数据

5,Reporting:报告,分析

上述的MS07,MS04 一般就是看看而已,不会去用它们来进行分析的

运行LTP的目的是为了生产分析评估报表,这个才是用作分析的

比如

- 评估产能够不够

  会看一下关键性的工作中心,比如假如这么安排的话,产能够不够之类的

- 评估一下采购价钱、采购量会是多少,好去跟供应商去谈价钱

- 库存的管控

  比如未来仓库会加很多货,仓库大小够不够用,需不需要对其他物料做一些管制

5-1,MS70 - Data设定

SAP Menu > Logistics > 生产 > 基准计划 > 长期计划 > 评价 > 购买情报System

- MS70 - Data设定

输入

- 计划Scenario:201

- VersionData构成:比如000

- 购买发注金额计算:因为要用采购来分析一下将来的采购价值会是多少,所以需要选择一个标准

  - 购买情报

  - 标准/移动平均价格

这样就会把 方案201 所对应的价值给导出到一个地方去,好做静态的分析

比如跟哪个供应商买,要多少钱等

告诉我说会登录新Version 000

 这样就跑出来结果了

5-2,MCEC / MCEA / MCEB - Data分析

那具体要怎么分析呢?

也是有单独的T-code

- MCEC - 按品目为单位进行分析

- MCEA - 按仕入先(供应商)为单位进行分析

- MCEB - 按品目Group进行分析

MCEC - 按品目为单位进行分析

会带出来很多条件

输入

- 计划Scenario:201

- Plant:1000

点 确定

这样就显示出来了

品目列还可以设置显示为 Key/Text

这样就容易看一些

还可以在上一个画面调宽范围,这样就可以显示更多分析的数据

可以看到下面这些信息

- 购买发注金额(订单价值)

- 发注数量(订单数量)

- 购买发注价格(订单价格)

点一下 Drilldown切替(转换细分)

比如选

- 仕入先(供应商)

这样就显示了供应商为单位的分析结果

- 注意空白行,它意思是这些还未决定跟谁买

  采购经理就可以拿着这些资讯跟供应商谈合同,

  比如未来我们公司还会跟你买这么多东西,你可不可以给我更大的折扣等等

- 如果你分析完之后发现超出预算了,就表示刚才的LTP不合理,就可以修改参数,重复跑

  直到你满意为止

6,MD61 修改计划独立需求

比如这里把8月的计划独立需求由100=》150

然后再去跑一遍MRP

如此反复,直到你满意为止

7,MS64 复制版本

LTP的方案跑满意之后,就可以转为正式的版本

要怎么转呢?就是通过MS64来将其复制到正式的版本上来

比如,将 X9 这个版本复制到正式的版本号 v20 里面

以后,就可以使用v20来进行运行正式的MRP

8,LTP的另一个用途

除了上面的计划独立需求模拟之外,还可以用LTP来回答营业部门或其他部门的问题。

比如营业部门问说,有客户咨询,在10月1号之前,要某物料1000PC,公司的产能能满足吗?

那么就可以在MD61里面输入物料1000PC 和日期,跑模拟MRP来看一下能不能满足。

如果不能满足,那么什么时候能满足,然后就可以让营业部回答客户了。

还可以通过下阶物料的PO,看它们有没有延迟啊等等,这样回答的内容会比较准确。

比如看一下例子。

8-1,MS04 - 在库/所要量一览

SAP Menu > Logistics > 生产 > 基准计划 > 长期计划 > 评价

- MS04 - 在库/所要量一览

默认都会带出来一些条件,要看别的也可以手动输入

- 计划Scenario

- 品目

- MRP Area

- Plant

这样就能显示详细内容

点一下上图左侧的 Order Report图标,显示如下Report

比如入库日 2024/08/07,再日程计划 2024/09/02

根据这些日期就能判断出来该物料什么时候可用,能否满足客户需求等等。

很多人都喜欢用这个功能来做缺料分析。

除了上面的购买情报System分析之外,还有另外的角度来分析

9,CM38 - 能力所要量分析(能力需求)

SAP Menu > Logistics > 生产 > 基准计划 > 长期计划 > 评价 > 能力所要量

CM38 - 作业区(工作中心)

10,在库分析

SAP Menu > Logistics > 生产 > 基准计划 > 长期计划 > 评价 > 在库分析

- MCB& - Data设定

- MCB) - Report

11,Transfer Firm Planned Orders

如果把某一个料的,确认好的计划订单给复制到LTP(长交期计划)中的话,也是可以的。

下面做一下SAP上面的完整操作。

11-1,MD61 计划独立所要量

11-2,MD04 在库/所要量一览

跑一下MD41,跑完后回到MD04

暂时这些都是正常的MRP操作

下面做LTP。

11-4,MD61 模拟的计划独立所要量

- Version:X9

这个是上次做的模拟,如果之前没做的话,可以像这样给填上

11-5,MS04 LTP - 在库/所要量一览

- 计划Scenario:202

- 品目/Plant:100-710-F19 / 1000

这样就显示出来 LTP- 在库/所要量一览

11-6,MS02 LTP - 单一品目

输入

- 计划Scenario:202

- 品目/Plant:100-710-F19 / 1000

11-7,MS04 LTP - 在库/所要量一览

双击 37314 / 200 ST的那条,然后把 计划手配 给勾上,保存

确认之后,回到MS04

MRP 要素Data 栏位,就有 * 号了,这就是 ”确认的计划手配“(Firmed Planned Orders)

 11-8,通过 MD43 复制长交期计划的内容

和MD03里面的很多字段类似,先不管这些参数,直接回车运行MRP

那么这个MD43 有什么特别的地方呢?

就是可以把长交期计划里面的确认的计划订单(就是模拟MRP的运行结果)给复制过来

Menu > 编集 > Copy SimulationLT计划手配(复制模拟LT计划订单)

输入

- 计划Scenario:比如202

- Copy元/先:2024/09/03 / 2024/09/04

然后点 Copy 按钮

这样就拷过来了

可以看到计划手配(计划订单)的号也变了

TODO:上面的那个Copy先 (2024/09/04)好像没起作用啊

              拷完还是 2024/09/03的日期呢

参考:

再贴一下MS04 长期计划 - 在库/所要量一览 的图

有关上面的那个Copy先 (2024/09/04),其实是人家的一个区间而已

就是说拷贝这个区间之内的所有计划手配(计划订单)

不是拷贝过来之后重新给一个日期的:)

我估计是翻译问题,应该就是From/To

参考:

SAP PP 中的长期计划(LTP)教程:MS31,MS02,MD61 · Guru99 中文系列教程 · 看云

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个使用BERT-LTP-BILSTM-CRF模型进行命名实体识别的示例代码: ```python import torch from transformers import BertModel, BertTokenizer import torch.nn as nn import torch.optim as optim # 定义BERT-LTP-BILSTM-CRF模型 class BERT_LTP_BILSTM_CRF(nn.Module): def __init__(self, num_tags): super(BERT_LTP_BILSTM_CRF, self).__init__() self.bert = BertModel.from_pretrained("bert-base-chinese") self.dropout = nn.Dropout(0.1) self.lstm = nn.LSTM(self.bert.config.hidden_size, hidden_size=256, num_layers=2, batch_first=True, bidirectional=True) self.hidden2tag = nn.Linear(512, num_tags) self.crf = CRF(num_tags) def forward(self, input_ids, attention_mask): outputs = self.bert(input_ids=input_ids, attention_mask=attention_mask) sequence_output = outputs[0] sequence_output = self.dropout(sequence_output) lstm_output, _ = self.lstm(sequence_output) logits = self.hidden2tag(lstm_output) mask = attention_mask.bool() tags = self.crf.decode(logits, mask) return tags # 加载预训练的BERT模型和分词器 tokenizer = BertTokenizer.from_pretrained("bert-base-chinese") # 加载训练好的BERT-LTP-BILSTM-CRF模型 model = BERT_LTP_BILSTM_CRF(num_tags) # 定义损失函数和优化器 criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=0.001) # 训练过程 for epoch in range(num_epochs): for input_ids, attention_mask, targets in dataloader: optimizer.zero_grad() outputs = model(input_ids, attention_mask) loss = criterion(outputs.view(-1, num_tags), targets.view(-1)) loss.backward() optimizer.step() # 在测试集上进行预测 with torch.no_grad(): for input_ids, attention_mask, _ in test_dataloader: outputs = model(input_ids, attention_mask) # 处理预测结果 ``` 这只是一个基本的示例,实际使用需要根据具体的数据集和任务进行适当的调整和优化。同,还需要实现CRF层的代码,并根据实际情况进行数据预处理和数据加载。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值