ESAP达摩院 思想有多远,我们就能走多远

ESAP第九弹 无级BOM


概述

BOM是ERP的核心,ES能否成为ERP级系统取决于这个核心是否能顺利展开并实现MRP运算。

本文以常见的物料BOM做为示例,演示ES下的无级BOM实现技术。

BOM和计算

  • BOM反映的是项目中父件与所有子件的配比关系。

  • BOM计算就是把成品分解成组装所需用到的原材料及中间产品及其数量。

ES实现过程

  • MRP运算通过数据库来实现更高效,例如存储过程,自定义函数,视图等。在ES中,我们可以使用BOM视图来完成这一目的。

  • 首先,定义BOM模板,存放bom数据(三个关键字段分别是父件,子件,数量)

  • 其次,在数据库中定义自定义函数实现无级BOM完整分解。

  • 接下来,定义BOM视图并使用上面定义的函数。

MRP运算

  • 定义模板,提取订单数据(示例库未设订单模板,需手填模拟),使用表间公式匹配BOM视图对订单中的产品进行分解运算。

  • 汇总数据(可用于生成采购计划)。

  • 核心分解表间公式:

应用拓展

  • 无级BOM的特点是只记录两层之间的父子关系,存储空间需求较小(示例库中35条完整BOM记录实际只需要存19条父子数据就可生成),但维护稍复杂。

小结

我们在其他一些ES案例中经常见到采用路径法的BOM,采用路径法需要记录每种产品每阶物料的路径信息,三阶以后的物料路径一般存在很多重复,使用无级BOM技术可以有效避免这些冗余重复数据。

在ES中实现BOM分解和MRP运算并不难,示例库(群共享)演示了一种简易方案,在大型应用中更多的是采用存储过程提交和分解数据,在ES中也实现,但涉及到VBA,在此不再赘述。

村长点评:在nxcells中可以直接在提数中递归BOM,并传入本表待分解的品号,是比存储过程更优的方案。


近似文章