介绍
APS中的MRP(物料需求计划)是一个自动化流程,将物料和成品的需求与现有的现有和计划中的需求进行比较,然后创建工作和/或采购订单以满足未满足的需求。
在许多生产系统中,都有一个ERP系统 用于执行MRP流程。在这种情况下,不使用APS中的MRP,而是从外部系统导入作业和采购订单。在决定是否在APS而非ERP系统中执行MRP时,应考虑以下几点:
ERP系统的MRP对您的业务的运作情况如何?如果当前流程运行良好,那么最好继续进行下去,因为转换为新的MRP流程将需要付出额外的努力,而这可能不值得花费时间和成本。如果当前过程不能很好地进行,那么考虑使用APS来执行您的MRP过程就更有意义了。
在APS中创建的工作和/或采购订单是否也需要在ERP系统中创建?如果有,则有两个选项:(1)根据APS的建议手动输入它们,或(2)从APS导入它们。选项(1)对于小批量订购可能是可接受的,但对于大批量订购可能很容易出错,并且很耗时。通常首选方法(2),因为它可以减少手动输入的时间和错误风险。但是,某些ERP系统无法导入这种类型的数据。因此,在决定在APS中使用MRP之前,仔细评估此方法非常重要。
与基于ERP的替代流程或手动流程相比,APS中的MRP流程是否提供了好处?回答此问题需要对APS的MRP的功能以及MRP的要求有清楚的了解。阅读下面的“关键概念”部分将帮助您了解APS中的MRP流程。使用APS的MRP的一些常见好处是:(1)在单一内聚系统中计划材料和资源的“单击”过程的简单性;(2)APS可以执行MRP过程的速度;以及( 3)计划是通过一起计划物料和能力而制定的,而不是先在ERP系统中构建无限能力的物料计划,然后再在APS中计划有限能力。
关键概念
MRP流程
MRP可以选择包括在“优化”过程中。如果是,这是它包括的步骤的概述:
如果生成作业,则会删除“优化”选项中未标记为“保留”的所有作业。如果生成采购订单,则将删除所有既不是固定的也不是未平仓的“采购到库存”。
从所有仓库中的所有库存记录中清除了MRP注释(来自先前的MRP运行)。
所有计划的作业都将其“材料需求约束”类型设置为“非约束”。如果删除了其提供的作业或采购订单,这将允许他们保留在MRP流程中的位置。
如果生成作业,则通过以下方式计算低级代码:
每个项目的LLC都初始化为-1。
将创建一个零级列表,该列表由具有模板的项目组成,并且不用作任何其他模板的材料。每个项目的LLC都设置为零。
每个零级物料都有其物料清单,并进行递归扫描,以设置其使用的物料及其物料的LLC。如果零级物料清单的物料清单比迄今为止分析的所有先前的零级物料清单中的物料更深,则每个物料的LLC会增加。
将LLC设置为-1的任何项目的LLC设置为比最高LLC编号高一个数字。
执行初始优化以创建当前需求和供应仍然存在的起点。
对于从零到最大的每个LLC,将发生以下情况:
在当前LLC处为Item生成作业。对于将其MRP处理设置为“生成作业”并具有模板制造订单的每个库存,可以通过以下方式进行:
库存的MRP注释设置为“作为制造商/作业模板项目处理的MRP:<时间戳>”。
库存调整是根据需求(销售订单,预测,工作物料需求或转出)或供应(作业产品,进货或转入)的预计库存的减少或增加。使用直到MRP截止日期的负库存调整。还使用所有积极的库存调整。
安全库存以上的任何现有库存,从最早到最新的调整都会按时间顺序分配给负面调整。如果没有足够的资金来完全覆盖单个调整,则也会发生部分分配。
任何未分配的正调整(不是安全库存作业)将分配给现有库存尚未涵盖的其余负调整。如果正调整是一项工作产品,并且已分配给一个或多个负调整,并且没有下达,则“工作的需要日期”设置为第一次分配发生的日期。例如,如果第一个分配是对销售订单的,则工作的需要日期将设置为销售订单行分配的要求日期。
如果在分配现有库存和现有的实际调整以及新的/计划外的/排除的/失败的计划作业之后,存在尚未完全涵盖的负面调整,则可以通过以下方式为第一个未发现的负面调整创建新的作业:
根据提供的内容,将作业的需要日期设置为以下之一:活动计划开始日期,销售订单分配要求日期,预测发货要求日期或转移订单分配计划发货日期。(如果任务的承诺已下达或确定,则工作的需要日期不会更改。)
作业的优先级设置为为其创建的销售订单,预测或作业的优先级。如果调整是针对转移订单的,则作业的优先级设置为“ 5”。
如果调整是其中之一,则将作业的分类设置为订单,预测或转移订单。
作业的名称和ExternalId设置为“ MRP x ”,其中x是作业的自动递增数字ID。
作业的输入方法设置为生成MRP。
作业的模板和不计划标志设置为false。
工作的承诺设置为计划的。
如果调整的剩余分配数量恰好小于0.00005,则将其增加到该最小允许值。否则,将第一个制造订单的数量(具有最低ID的MO基于其创建顺序)设置为调整项的剩余分配数量。MO的数量可通过以下方式进行调整:
MO需求量和请求量已设置为新数量。
计算新数量与MO模板所需数量的比率。
对于MO中的每个路径,以及每个路径中的每个工序,产品,活动和物料需求都将调整为新的数量。根据“方案选项”精度设置,此处可能会四舍五入。
根据每个Item的RollupAttributesToParent设置,根据需要将操作属性递归“汇总”到作业中。
对于作业中每个操作的每个产品,将“仓库”设置为发生源负调整的仓库。请注意,如果产品中的项目未存储在调整的仓库中,则它不会与仓库的原始模板值相同。
如果为批次设置了项目(批次大小> 0且批次窗口> 0且最小Nbr批次> 0且最大Nbr批次> =最小Nbr批次),那么将遵循以下逻辑将多个负调整合并在一起成为一个作业:
只要满足以下条件,就按时间顺序对作业进行调整批处理:
调整日期时间在“批处理窗口”中(新作业需要日期<=调整日期时间<新作业需要日期+ Item.BatchWindow)。
作业在项目的MaxBatchQty下。
调整的一部分可以批量(而不是全部调整数量)放入Job中,以保持在Item的MaxBatchQty约束内。
在计算出所有可以适合一个批次的调整后,将发生“批次舍入”,以将作业的数量舍入为项目批次大小的整数倍。将四舍五入注释添加到作业中。然后,任何舍入的数量都可以用于进一步分配。
如果结果的批次数量小于Item的MinNbrBatches设置,则可以通过设置Job.DoNotSchedule = true来阻止Job调度。
将注释添加到每个作业,以指示创建作业的原因。
如果清单的安全库存要求大于零,那么将采取以下步骤:
如果创建了新的作业,则会发生“优化”以创建更新的库存计划。
如果现有库存加上计划的任何超额生产量少于安全库存,则会创建安全库存作业。
作业需要日期设置为APS时钟。
作业优先级设置为Inventory.SafetyStockJobPriority。
作业分类设置为安全库存。
如上所述,在常规作业创建过程中汇总了操作属性。
如上所述,在正常的作业创建过程中设置了产品仓库。
如果Item.JobAutoSplitQty大于作业的第一个MO的必需数量,则将自动拆分作业。通过拆分JobAutoSplitQty的MO直到为原始MO达到JobAutoSplitQty来为作业创建新的MO。注释已添加到新的MO,表明它们是通过自动拆分创建的。
如果任何MO的必需数量小于Item.MinOrderQty,则:
如果短缺数量小于或等于Item.MinOrderQtyRoundupLimit,则MO的“必需数量”将增加到MinOrderQty。
否则,作业将被标记为“不计划”,并且注释会添加到MO,以指示“所需数量”太低。
物料需求设置为非约束,并执行优化以计划新生成的作业并更新生成的库存计划。
如果生成采购订单
对于每个仓库和将其MRP处理设置为生成采购订单的每个库存,将以以下方式生成“采购到库存”:
库存的MRP注释设置为“作为采购物料处理的MRP:<时间戳>”。
如果未在“优化”设置中启用“作业生成”,则在此处执行“优化”以反映“优化”在采购订单生成上的结果(即,使采购订单日期基于使用新设置进行优化后的计划)
删除所有非实盘或平仓的股票。
使用直到MRP截止日期的当前库存调整。
任何现有库存都分配给负调整项。如果调整在提前期之内,则所有现有库存都可以分配给它。如果调整超出交货时间,则只能分配超过安全库存的库存(其余库存保留给安全库存。)允许部分分配。
现有采购到库存的库存被分配到剩余的调整项。
通过以下方式创建“按库存采购”以满足安全库存要求,以进行剩余调整:
Name和ExternalId设置为“ MRP x ”,其中x是下一个数字生成的ID。
QtyOrdered设置为所需数量。
安全库存订单的要求日期设置为APS时钟。
该项目的MinOrderQty通过以下方式执行:
如果短缺数量小于或等于Item.MinOrderQtyRoundupLimit,则将PTS.QtyOrdered设置为Item.MinOrderQty和PTS.Notes进行修改以指示这一点。
如果短缺数量大于Item.MinOrderQtyRoundupLimit,则将PTS.QtyOrdered设置为原始QtyOrdered加上Item.MinOrderQtyRoundupLimit和PTS注释进行修改以表明这一点。
批处理舍入以与上述作业相同的方式执行。
设置为“非约束”的“物料需求”将恢复为原始值,并且如果创建了任何新的“作业”或“采购到库存”,则将根据所有信息和约束执行最终优化,以创建约束和优化的计划。
如果由于数据问题需要任何警告,则警告将显示在用户界面的“系统消息”窗口中。
现在,在MRP期间创建的每个作业都存储了导致创建该作业的原始需求,并在“作业”对话框中显示了这两个需求:
原始需求:对于零级工作,这些是导致最初创建工作的需求(销售订单,预测等)。对于1级以上的工作,这些是创建子工作时父工作(在所有级别)的原始要求。
固定需求:这些是作业当前提供 的作业需求(通过物料关系或后继MO关系)。
批处理
批处理是指创建一个满足多个需求的作业或采购到库存的过程。
批处理可由批处理大小和时间限制规则驱动,如上文MRP处理部分所述。
批处理的好处是:
创建的工作量更少,更大,从而使计划管理变得更容易。
由于作业量减少,而采购次要程度较低,因此系统性能更快。
由于运行规模较大,因此可能会减少设置(尽管也可以使用“优化”规则来处理)。
在MRP期间可以遵循供应商的最低订购政策,从而最大程度地减少了手动更改它们的工作量和影响。
不批处理的好处是:
在确定哪些工作或采购满足哪些需求时更容易查看。
计划安排的灵活性更高,可以按时交货。
批量
可以为每个物料的MinOrderQty,批处理大小和MaxRoundupLimit设置规则,以控制由MRP创建的作业和采购的数量。有关这些值如何影响MRP流程的详细信息,请参见上面的MRP流程部分。
安全库存
每个库存都可以为其指定安全库存值。然后,MRP将其用于生成其他工作和/或采购,以帮助防止库存低于此目标值,从而最大程度地减少缺货的机会。
保留公司计划
在大多数情况下,保持生产和购买计划的稳定性是有好处的。例如,一旦将乔布斯发布到车间,将其由MRP删除并替换为新乔布,或者根本不更换,就可能会出现问题。此外,一旦从供应商处订购了产品,则可能无法更改或取消。
以下MRP选项可用于在MRP期间保留作业,以最大程度地减少此类中断或效率低下:
已发行
公司
锚定
已锁定
从植物稳定跨度开始
此外,MRP会自动保留“已购买”或“已购买”的股票。
净变更MRP
使用“净变更”选项运行MRP可以减少MRP的处理时间,并保留先前为库存计划创建的作业和采购订单,这些计划自上次运行MRP之后就没有更改过。特别是,如果自上次将库存包含在MRP中以来,库存没有更改以下任何值,则将其从净更改MRP运行中排除。
在Net Change MRP期间不会重新计划物料的库存,除非对该物料或其父物料之一进行了以下一项或多项更改:
销售订单
预报
转储单
现有库存
安全库存
安全库存优先
创建,删除或更改数量的作业(生产或消费物料)
支持MRP的数据要求
要运行MRP,请使用以下数据元素作为输入:
货仓
物品
存货
工作模板
如果使用MRP生成依赖需求的物料(作业使用的物料),则作业中需要工序物料。
如果使用MRP生成独立需求的物料,则需要销售订单和/或预测和/或转储订单来表示需求。
优化控制
MRP截止日期: 在MRP流程中,仅包括该日期或该日期之前的库存需求。超过此要求将被忽略。当时钟提前时,MRP截止日期 会延长等于时钟提前持续时间的时间,以保留“水平”。请注意,如果使用“用户优化”设置,则在“时钟超前”期间不会更改这些设置。
如果将来的需求不需要包含在计划中,则可以使用更短的MRP截止日期。由于MRP流程中包含的时间和数据更少,因此这也将提高系统性能。
特殊情况和注意事项
如果某个物料将自己指定为模板中的物料,则会为其分配最低的低级代码,因此在其他级别之后进行计划,因此可能会缺少对自身的需求。
如果一个项目具有多个模板,则具有最低作业ID(创建的第一个ID)的模板将用于为其库存设置低级代码。