信息化 频道

制造业ERP创建生产订单的技术逻辑分析

【IT168 专稿】    生产计划是制造行业中一个难以跨越的鸿沟。所以在选购各种信息化管理软件,如ERP或者进销存管理软件选购与开发过程中,如何以一种适当的方式、以可以接受的成本产生生产计划,这也是一个比较重要的指标。笔者今天就跟各位读者商讨一下这方面的内容。

    一、业务概述

    生产计划的生成方式有多种,其中“根据销售订单来生成生产计划”这是最典型的一种。如下图所示,这就是某个ERP系统中生成生产计划的界面。对于不同的行业,具体的操作方式可能有所不同,但是其原理仍然是相同的。

制造业ERP创建生产订单的技术逻辑分析

    二、与销售订单业务相关性分析

    从“销售订单生成生产计划”这个业务,主要跟ERP系统的三个业务相关。这三个业务分别是销售订单管理、产品管理和产能计划。由于产能计划比较复杂,其具有一定的独立性,笔者不在这里展开叙述。笔者这里要强调的重点是销售订单与产品这两个模块跟这个业务的相关性分析。

    一是销售订单的状态决定生产计划的生成时机。在实务中,什么时候生成生产计划,是一个比较考究的问题。太迟或者太早都不好。在ERP系统中,这个时机就需要在销售订单中控制。最简单的一个原则,就是只有确认的销售订单才能够生成生产计划。从技术的层面讲,就是只有销售订单状态为“审核完毕”的订单才是生产计划的依据。对于那些作废的、或者还在确认过程中的订单,计划人员都不能够据此来生成生产计划。

    二是产品管理对生成计划的影响。对于生产计划来说,产品的物料清单非常重要。如果物料清单不确定,那么在生产计划中,就不能够展开物料需求计划。从技术层面讲,就是在生成生产计划之前,需要先判断一下所涉及到的产品物料清单的状态。只有已经校验的物料清单才可以生成生产计划。如果没有校验,则需要向用户提供报警信息。

    三、背后的逻辑运算与控制要点

    那么在开发这个业务的时候,需要注意哪些内容呢?以下这几个点供大家参考。

    第一点:生产订单对销售订单的反控制。这个反控制主要的目的就是用来解决重复生成生成计划的问题。如某张销售订单已经生成了生产计划。那么在第二次生成生产计划的时候,如果来过滤已经生成了生产计划的订单呢?这是第一个需要控制的要点。从技术上来说,实现的难度也不是很大。只需要在销售订单处增加一个“生产计划”的字段。当从销售订单生成生产计划的时候,让这个作业将生成的生产计划自动回写到这个字段中。如此还可以实现两个窗口之间的相互关联,一举两得。

    第二点:销售订单的变化导致生产计划的调整。如果销售订单有变化,该如何操作呢?在实务中,这是经常发生的事情。一般有两种处理方案。一是销售订单变化后,生产计划手工调整。二是销售订单变化后,原来的生产计划作废,需要重新安排生产计划。那么在技术上,也需要进行类似的控制。如可以在生产模块的基础设置中,设置这两个选项。当用户选择哪个选项时,就按哪种选项处理。如当用户选择第二种,从技术的角度讲,就是如果要修改销售订单的话,就必须先删除原先的生产计划。为此一个简单的控制规则就是,当销售订单中的“生产计划”字段不为空的话,这销售订单就不能够通过“订单变更单”来更改或者作废。这可以通过触发器来完成。不过需要注意的是,当删除这个生产计划的时候,需要同时清空对应销售订单的“生产计划”字段中的内容。

    第三点:需要检验产品与销售订单的合法性。如果产品不合法,如某个产品没有Bom或者BOM没有审核,此时这个产品就不能够生成生产计划。因为这个产品还没有最终确认。同理,如果销售订单没有审核的话,也不能够生成生产计划。从技术上,这些都是可以实现的。因为在数据库的对应表中,都是通过字段来控制的。在生成生产计划的时候,只需要对这些字段的内容进行判断即可。

    四、业务应用中的共性问题与应对措施

    在具体的应用与开发过程中,这个业务在不同的行业中会有不同的表现方式,也会遇到不同的问题。笔者为多个行业实施过这个业务。在这里就将遇到的一些共性问题拿出来,希望各位读者引以为戒。

    第一个问题:生产计划的名字问题。归根结底,生产计划其实也是一种单据。那么这个生产计划该如何命名呢?一个简单的原则,就是生产计划的名字要通俗易懂、具有可辨认性。那么到底该如何命名呢?笔者的一个简易是,如果销售订单与生产计划是一一对应的,那么就可以在生产计划中加入销售订单的名字。如此用户只要一看到生产计划单,就能够了解这个生产计划与销售订单的关系。从技术层面来说,设计就稍微有一点负责。因为为了满足不同企业的不同需要,可能需要在这个单据规则中设置一个开关。如用户可以选择所采用的编码规则,其中包括在生产计划的名字中包含销售订单的内容。甚至就是以销售订单的名字作为生产计划的名字,等等。

    第二个问题:预计完工时间的控制。有些系统在这方面设计的不够严密。系统经过一系列规则最后算出来的预计完工时间或者预计开工时间,竟然要比销售订单的交货日期要晚。这种结果显然是用户不能够接受的。为此在生产计划审核的过程中,需要加入这方面的控制。如当用户设置的预计开工时间比销售订单的预计交货日期要晚的话,就可以向用户提出警告,严重的话可以拒绝用户的修改。这可以通过数据库的触发器来完成,也可以通过代码来实现。

0
相关文章