这段时间,特别是本人发布了自己编写的《SBO 2005B开发与维护助手》软件之后,很多朋友来函询问或者讨论SAP中的一些问题。其中一位深圳的从事SAP R3开发的朋友希望同我讨论其项目中生产订单管理,在此不揣浅见,予以讨论。
问题:在一个生产过程中,生产原料物料为原粉和口水料,比例为8:2(这个比例随着不同的成产品,是不一样的,但是原料物料清单是确定的),生产的产品为口水料(相对于某类成产品,其重量区间是固定的)和成产品,生产过程中的口水料产品可以即时复用于余下的生产。那么,根据一个生产计划,该怎样的配置(采购)生产原料物料,进而怎样的配置生产和人力。
分析:如果所有的产品都是成产品,这个问题要简单得多,但是现在是生产产品一部分是成产品,一部分是可用于继续生产的可复用物料。同时,应该考虑到一个生产线可以同时启动的生产单元(即在一个生产线上可以同时具有单独生产全过程的生产单位),这将涉及到生产计划中的原料物料准备。
为此需要建立的数据结构包括:
物料主数据:用于记录原粉、口水料和成产品的属性
生产订单BOM单:生产类型,原料物料代码、名称,单位生产单元所需物料数量
生产产品BOM单:生产类型,每单元产品代码和名称,每单元产品数量
生产计划配置清单:生产类型,每班次生产单元数量,每班次每单元人数(可以展开为人力配置清单)
复用">产品周期定义:生产类型,物料代码、名称,可开始复用轮循数(就是生产的可以服用的产品在生产之后的第几轮可以投入生产使用)
每单元第一轮产品的生产原料都是必须的,第一轮生产的可以复用产品在生产出来之后的第N轮可以被作为原料使用,同样的第二轮生产的可以服用的产品在第N+1轮之后可以作为原料使用。那么需要多少这种可以复用的物料呢?
可复用物料需求数:(m*N + (m>n ? m - n : 0) * (M - N))
原粉之类的全消费物料的需求量为:t*M
生产订单完成后,可复用物料剩余数:(m>n ? n*N : (n-m) * (M-N) + n*N)
生产成产品的数量应该是:p*M
其中:m是每轮生产所需要的可以重复使用的物料所需数量,N是可用产品在其生产之后第N轮可以用于生产原料,n是每轮生产的可以重复使用的物料数量,t是每单元每轮生产的所需物料数量,p是每单元每轮生产的成产品数量,M是一共需要生产的每单元轮数。
考虑到一条生产线可以同时启动c个生产单元,而生产计划启动k条生产线,计划生产X件成产品,于是可以计算出M:
M= ( (X mod(c*k*p) == 0 ? X/ (c*k*p) : celling(X/ (c*k*p)) + 1)mod p == 0 ? X mod(c*k*p) == 0 ? X/ (c*k*p) : celling(X/ (c*k*p)) + 1)/ p : X mod(c*k*p) == 0 ? X/ (c*k*p) : celling(X/ (c*k*p)) + 1)/ p + 1)
其中 X mod Y表示X除以Y的余数;celling(X)表示取不大于X的整数值。
综合上述分析,整个生产计划为(未经详细分析,可能存在误差):
全消费物料需求数:t*M*c*k - (c*k*M - (X / p==0? X/p : X/p + 1)) * t
可复用物料需求数:(m*N + (m>n ? m - n : 0) * (M - N)) * c * k - (c*k*M - (X / p==0? X/p : X/p + 1) ) * (m>n ? m - n : 0)
可复用物料剩余数:(m>n ? n*N : (n-m) * (M-N) + n*N) * c * k - (c*k*M - (X / p==0? X/p : X/p + 1) ) * n
成产品数量:p*M* c * k - (c*k*M - (X / p==0? X/p : X/p + 1))
以上的数据结构和模型,基本上解决了整个生产订单中的物料需求和生产计划的分析需要。
人力资源的部署与配置,也可以通过类似的结构进行分析,这个时候如果将人力成本、物料成本、附加费用予以综合考虑,实际上完成了生产单位日常关心的生产资源规划和成本分析的基本功能。
本文出自 “富盛软件” 博客,请务必保留此出处http://foresun.blog.51cto.com/221037/40498