BOM(Bill of Material)物料清单,是计算机可以识别的产品结构数据文件,它以数据格式来描述产品结构,也是ERP的主导文件。它是定义产品结构的技术文件,因此又称为产品结构表或产品结构树。
BOM表的类型和结构也有所不同,包括单层BOM结构和多层BOM结构,还有树型BOM、矩阵型BOM、差异型BOM和模块化BOM等。这些不同的构造方法满足了不同生产特点和业务需求。ERP系统中的BOM的种类主要包括5类:缩排式BOM、汇总的BOM、反查用BOM、成本BOM、计划BOM。
从企业产品生产领域考虑,BOM表架起了集成系统产品信息的桥梁,是企业设计部门与制造部门信息沟通的重要纽带,BOM信息首先由设计部门设计产品,制定出设计文件,提供一套设计BOM提交给工艺部门。工艺部门根据设计BOM制定符合本企业生产加工前的准备工作文件,产生工艺BOM供应采购部门根据工艺BOM以及库存情况,确定需要购买的零部件清单。
基本简介
概述
(1)物料清单
采用计算机辅助企业生产管理,首先要使计算机能够读出企业所制造的产品构成和所有要涉及的物料,为了便于计算机识别,把用图表达的产品结构转化成某种数据格式,这种以数据格式来描述产品结构的文件就是物料清单,即BOM。它是定义产品结构的技术文件,因此,又称为产品结构表或产品结构树。在某些工业领域,可能称为“配方”、“要素表”或其它名称。
在MRPⅡ和ERP系统中,物料一词有着广泛的含义,它是所有产品、半成品、在制品、原材料、配套件、协作件、易耗品等与生产有关的物料的统称。MRPⅡ和ERP系统中BOM通常是指由双亲件及子件所组成的关系树,可以是自顶向下分解的形式或是以自底向上跟踪的形式提供信息。BOM表示的数据之间的组织关系可以作为很多功能模块设计的基础,这些数据的某些表现形式是我们感到熟悉的汇总报表。
为了便于计算机管理和处理的方便,各种BOM清单必须具有某种合理的组织形式,这种BOM的图形化显示往往设计成产品结构树形式,而且为了便于在不同的场合下使用产品结构树,产品结构树还应有多种组织形式和格式。产品结构的数据输入计算机后,就可对其进行查询,并能按照不同的格式显示出来。各种信息系统系统的目标就是使输入的数据可以生成各种不同格式的产品结构树,以满足企业中各种用户的需求。
(2)BOM视图
由于产品BOM在其生命周期中的不同应用域有不同数据视图,即具有多视域的特性,因此提出了BOM视图空间的概念1。
BOM视图空间(BOM View Spaces),指由产品全生命周期中的BOM数据形成的数据空间。BOM视图空间由产品类型、应用领域和生命周期唯一确定。在产品全生命周期中,产品BOM数据的数据子集称为BOM视图。根据集合论和线性代数理论,BOM视图空间可用n维矢量空间描述,其中n代表矢量空间中相互独立矢量的最大个数。BOM视图是基本矢量的线性组合。
根据BOM视图空间之间的关系,BOM视图空间分为如下几种形式:
1)重叠空间(Overlapping Spaces)不同应用域的两个BOM视图空间,会出现视图属性重叠,在重叠区域视图属性具有相同语义。
2)投影空间(Projection Spaces)一个BOM视图空间是由另一个BOM视图空间的投影空间,如原材料采购BOM视图(BOM View)空间和外购件采购BOM视图空间是采购BOM视图空间的投影空间。
3)组合空间(Combination Spaces)组合空间是指一个视图空间由另外若干个视图空间组合而成,如采购BOM View空间是由原材料采购BOM View空间和外购件采购BOM View组合而成。
结构与内容
BOM表在制造业和工程领域中是用于描述产品结构和所需物料的文档,它详细列出了构成最终产品的所有组件、部件和原材料,以及它们的数量和类型。BOM表是产品设计、生产、库存管理和成本控制等关键业务流程的基础。
例如2:
在生产中,产品的结构呈现为一种树状结构,表示零部件的所属关系和数量。从图1可看出,产品A是由部件B、部件C和零件D构成的(B、C和D称为A的“子”,而后者为前者的“父”),而部件B是由部件C加零件D构成的(B为C和D的“父”)。
图1每个方块中的“/”后面表示的是父子之间的数量关系。这一结构就称为产品A的物料清单。
BOM表的类型和结构也有所不同,包括树型BOM、矩阵型BOM、差异型BOM和模块化BOM等。这些不同的构造方法满足了不同生产特点和业务需求。
BOM层次结构
(一)单层BOM结构2
单层BOM结构(Single-Level Bill ofMaterials,简称SBOM)采用“单父-单子”的数据结构,只是记录了各父件和子件之间的对应关系。
例如:
以图1中的产品A为例,其BOM的结构表达如表2所示。
|| || 表1 产品A的单层BOM结构表达
在这个表中,父件有可能是一个产品,也可能是一个部件。SBOM对于每种层次结构只定义一次,因而可以大大节省存储空间。比如,在表1中,只要7条记录就可以清楚地定义描述的产品A的结构。如果其他产品中也含有B部件或者C部件,则不需要再重新定义。所以,SBOM的数据冗余度是最小的。
SBOM的优点是可以清晰地定义产品的结构树,但是需要编写递归程序来显示其结构,递归程序算法结构如下:
已知:‘id为被查询件ID’
返回:‘number 为被查询件数量’
functiongetbomdescendants(id,number)
display被查询件‘在树状结构中显示被查询件’
if 被查询件没有子,则退出;
对每一个被查件子,getbomdescendants(被查件子id,数量)
Endfunction
通过不断地递归,可从任一个产品或部件开始,显示出其下属的全部子件。同样,反查一个零部件时,也需要编写程序来实现3。
SBOM在维护时有利有弊。优点是逻辑关系好、适应性好。如更改了部件B的结构,则所有用部件B的产品都会随之更改,避免了繁琐的重复劳动。但是如果由于疏忽定义错了某个部件,则所有和这个部件有关的产品结构都会出错,因此,增加了准确性保证难度。
上述递归算法只是一个简化过程,实际SBOM的分解算法要考虑更多的因素。如果在系统中需要频繁使用BOM的分解,递归算法会大大降低系统运行的效率。
(二)多层BOM结构分析
多层BOM结构(Multilevel Bill ofMaterials,简称MBOM)采用“单父-多子”的数据结构,它详细地记录了产品的结构信息,即便是同样的零部件结构,只要存在于不同的产品中,也要再记录一次。
以图1中的产品A为例,其BOM表的结构如表2所示。表2中Parent表示父件的ID和产品表相关联;Child表示子件ID和零部件表相关联;Num表示父件中含子件的数目;Level表示子件在父件的结构树中所处的层次,如不可再分解,即处在底层,可用一个特殊的符号(如字母“L”)标记出来。
|| || 表 2 产品A的多层BOM结构表达
MBOM结构的特点是产品间结构不互相影响,各个产品之间的数据记录没有交叉,因而维护比较方便。MBOM结构在分解时算法比较简单,只要根据产品的ID查询出最底层子件(即需要制造和采购的零部件)的ID和数目即可,效率比较高。但MBOM也存在很多缺点,主要是数据项的冗余度大,比如定义产品A需要有9条记录,零部件结构的重复定义也增加了系统启动时录入基础数据的工作量。虽然定义了子件的层次关系,但是它属于哪一个父层并没有记录,因此,并不能反查出某零部件的上一层父件,而只能查出它属于哪个产品,无法清晰地显示产品的树型结构。
(三)两种方法的比较与选择
多层BOM结构和单层BOM结构各有利弊。多层BOM虽然结构简单,分解速度快,但是数据冗余度大,产品结构定义不清晰,零件不能反查。单层BOM结构虽然可以清晰定义产品结构,反查零件,但由于在BOM分解时需要用递归算法,分解效率较低。实际应用中,为了适应不同条件下的需要,常采用多种BOM并行的方法。
多种BOM并行使用的方法,可以纠正两种BOM(SBOM和MBOM)构造方法各自的缺点。但是,随着市场竞争的激烈,产品的更新速度越来越快,产品结构及其所对应的BOM也频繁变化。在这种情况下,对多BOM并行使用的ERP系统来说,设计部门每更新一次BOM表,各工艺用BOM也要做相应变化,给系统的维护、运行和信息集成带来了较大的问题,如处理不当,会直接影响系统的正常使用。因此,多BOM并不能从根本上解决系统运行的效率问题,对于产品结构变化较频繁的企业,不是一个最优的BOM方案,其实用性大打折扣。因此,从原则上讲,在企业中拥有一个BOM是最方便,也是最根本的办法。无论产品的结构如何变化,只要设计部门将BOM表修改过来就可以了。
常用的工程物料清单或制造物料清单数据结构
EBOM(Engineering Bill ofMaterials)是工程物料清单,MBOM(Manufacturing Bill ofMaterials,是制造物料清单,两者数据结构如下所示:
1)矩阵型[30,31,32]
对于一个包含有N个零部件的产品,矩阵型EBOM/MBOM数据结构的方法是构造一个NxN的方矩阵,矩阵中的元素aij的取值范围为整数,其意义为:当aij=0时,表示零部件i与零部件j之间不存在父子关系;当aij>0时,表示零部件i与零部件j之间存在父子关系,且零部件i与零部件j之间的装配数量关系为aij;当aij<0时,表示零部件i与零部件j之间存在子父关系,且零部件j与零部件i之间的装配数量关系为-aij。图2所示产品的BOM数据矩阵(图3)如下,从中可以看出该矩阵为反对称矩阵。
矩阵型EBOM/MBOM数据结构可以准确描述EBOM/MBOM数据,满足EBOM/MBOM数据唯一性、完整性和一致性要求,并且具有良好的搜索性能。但是在EBOM/MBOM数据重用方面,这种数据结构就显得无能为力,同时由于每种产品所包含的零部件数量是不确定的,这给EBOMIMBOM的数据结构的设计带来很多困难,即无法在关系性数据库中确定数据字段的个数。另一方面,矩阵型EBOMMBOM数据结构在作MRP计算时,存在超大规模的高维矩阵求逆计算的问题。因此,这种数据结构在一般的ERP/MRPIIMES系统中很少采用26。
2)邻接表型29
邻接表型EBOM/MBOM数据结构类似于矩阵型,也是根据零部件之间的父子关系构建一个邻接表矩阵,邻接表矩阵中的元素aij的取值范围为{0,1,-1},当aij=0时,表示零部件i与零部件j之间不存在父子关系;当aij=1时,表示零部件i与零部件j之间存在父子关系;当aij=-1时,表示零部件i与零部件j之间存在子父关系,上下层零部件之间的装配数量另用一个关系描述。因此,邻接表型EBOM/MBOM数据结构的性能与矩阵型相似
3)层次型[34-38]
层次型EBOM/MBOM数据结构在ERP/MRPII/MES系统中被广泛采用,层次型描述法本质上是根据树状化EBOM/MBOM数据来描述BOM数据。层次型BOM通过零部件的标识、产品结构的层次和零部件BOM码来描述产品和零部件之间的装配关系对BOM中的任何产品、零部件,不管其是否存在借用关系,只要存在装配关系,一律加以定义。
如图2所示,部件G和C分别需要定义多次。有关文献采用“层次”“零部件标识”、“装配数量”、“父件标识码”四个数据域、主码为“层次”、“零“父件标识码”的方式来描述BOM,这种描述BOM的数据结构实际上部件标识不能表示图2中处于第2级的G(分别属于部件C和D)的子件。
对层次型EBOM/MBOM数据结构的定义为:采用“零部件标识”、“装配数量”、“零部件BOM码”三个域,主码为“零部件标识”“零部件BOM码”的方式来描述BOM,零部件BOM码采用图所示的方法定义:
装配层次:顶级产品为0级,向下依次为1,2,3……,层次编码位2位,最多描述100层(如果不够,可适当增加编码位数)。
零部件流水号:零部件在本层的顺序编号。流水号编码位4位,一个产品每层直接子件最多不能超过10000个(如果不够,可适当增加编码位数)。
通过“零部件BOM码”,层次型EBOM/MBOM可以达到高效的正、逆向搜索性能,但同时带来很高数据冗余度,数据的一致性也难于保证,数据重用性更是无从谈起。如果采用层次型EBOM/MBOM数据结构,产品数据如表所示。
4)父子型[34,35]
父子型EBOM/MBOM数据结构是通过零部件之间的装配与被装配关系来描述的,父子型BOM主要有“父件标识”、“子件标识”和“子件对父件的装配数量”三个数据域,主码采用“父件标识”和“子件标识”两个数据域,父子型BOM的数据结构类似于链表。如果采用父子型EBOM/MBOM 数据结构,图2中的产品数据如表4所示父子型EBOM/MBOM数据结构。优点在于众多相互借用的部件及部件的所有下属零部件在父子型BOM中只需要描述一次,类似于模块化程序设计中的一个模块,模块一旦定义就可以在多处使用,从而降低了BOM的数据余度,提高了BOM数据一致性。在父子型BOM中,大量借用的零部件甚至可以描述为通用型零部件,在此基础上可以快速、准确的建立新产品的EBOM/MBOM数据。父子型EBOM/MBOM搜索性能与层次型EBOM/MBOM 相差无几。
5)二叉树型[39-42]
众所周知,任何一个树状图可以转化为二叉树描述。二叉树型EBOM/MBOM数据结构正是基于上述观点的一种EBOM/MBOM数据描述方法,在这种描述方法中,二叉树的左子树和右子树定义为“左子右兄”,按照二叉树型EBOM/MBOM数据结构描述方法,采用图3表示。二叉树型EBOM/MBOM数据结构同父子型数据结构一样,能够实现产品数据重用方面的要求,数据一致性易于维护,数据搜索性能亦相近。
常用EBOM/MBOM数据结构的性能如表所示
|| || 表5 常用EBOM/MBOM数据结构的性能对比表
常见的表结构信息
NAME名字
TYPE备注
Part_no母件代号 Char(24) 不能为空、重复,最大字符长度为24位
Part_no1子件代号 Char(24) 不能为空,最大字符长度为24位
Yl_qty用量 Numeric(8,4) 最长为8位,小数点4位,默认值为0
Bad_r不良率 Numeric(7,4) 最长为7位、小数点4位,默认值为0
Stop暂停 Char⑴
Locator工序号 Char⑵ 不能为空、默认值为‘N’,最大字符长度为2位
No_pur1暂停 Char⑴ 默认值为‘N’
No_pur2不发料 Char⑴ 默认值为‘N’
Rem位号 Varchar(250) 最长字符长度为250位
Gg_person更改人 Chan⒇ 最大字符长度为20位
Ecn_noECN单号 Char⑿ 最大字符长度12
文件作用
BOM是PDM/MRPⅡ/ERP信息化系统中最重要的基础数据,其组织格式设计合理与否直接影响到系统的处理性能,因此,根据实际的使用环境,灵活地设计合理且有效的BOM是十分重要的。
BOM不仅是MRPⅡ系统中重要的输入数据,而且是财务部门核算成本,制造部门组织生产等的重要依据,因此,BOM的影响面最大,对它的准确性要求也最高。正确地使用与维护BOM是管理系统运行期间十分重要的工作。
此外,BOM还是CIMS/MIS/MRPⅡ/ERP与CAD,CAPP等子系统的重要接口,是系统集成的关键之处,因此,用计算机实现BOM管理时,应充分考虑它与其他子系统的信息交换问题。
BOM信息在MRPⅡ/ERP系统中被用于MRP计算,成本计算,库存管理。BOM有各种形式,这些形式取决于它的用途,BOM的具体用途有:
1、是计算机识别物料的基础依据。
2、是编制计划的依据。
3、是配套和领料的依据。
4、根据它进行加工过程的跟踪。
5、是采购和外协的依据。
6、根据它进行成本的计算。
7、可以作为报价参考。
8、进行物料追溯。
9、使设计系列化,标准化,通用化。
发展历程
BOM(物料清单)的发展历程是一个复杂且多维的过程,涉及到技术、管理理念以及行业需求的变化。从早期的简单列表到现代的多视图、多维度管理,BOM的发展反映了制造业对效率、准确性和灵活性需求的不断增长。
在早期,BOM主要用于描述产品的结构和组成,是一种相对静态的数据结构,其管理和使用主要依赖于手工记录和纸质文档。这种传统的管理方式存在许多局限性,如信息更新不及时、数据不准确以及难以进行有效的数据分析等。随着计算机技术的发展,BOM的管理逐渐转向电子化和自动化。BOM开始采用更复杂的数据模型来存储和管理,如关系型数据库(RDB)4,这表明了从手工管理向电子管理的转变6。这种变化使得BOM能够更好地支持企业的信息集成系统,成为系统进行信息集成的桥梁和纽带。5
研究提出了基于仓库的BOM集成管理系统,这种系统通过定义BOM模板来提高产品效率和企业标准化程度,同时利用多格式数据接口和XML技术实现数据的输出和共享7,这体现了早期BOM管理系统的设计趋向于系统化和标准化。
随着ERP(Enterprise Resource Planning,企业资源规划)系统的引入,BOM的管理也得到了进一步的优化。ERP系统能够整合来自不同部门的数据,如产品家族BOM、订单BOM及其配置器,从而减少了数据的冗余和扩展性问题8。这种集成化的管理方式不仅提高了数据的准确性和一致性,还增强了不同部门之间的信息交流和协作。
进入21世纪后,随着制造业对产品生命周期管理(PLM)的需求增加,BOM的概念和应用也发生了显著变化。
有研究提出基于知识工程的BOM管理理论,提出了一种基于BOM演化的知识体(KBOM),以实现BOM的高效配置和管理。9具体实现方式包括知识表达与结构化处理、知识检索与推理10、自动化映射与知识重用11、集成管理系统12、配置优化13、生命周期管理14等。
多视图BOM的概念也被广泛接受,它允许在不同的产品生命周期阶段使用不同的BOM视图,从而更好地适应产品设计和生产的需要。多视图BOM是为了解决产品生命周期中不同阶段对物料信息的不同需求而引入的。在产品的设计、制造、销售等各个阶段,对物料的需求和管理方式各不相同,这就需要一个能够适应这些不同需求的系统来管理物料信息。多视图BOM正是基于这种需求而发展起来的。概念最早在2001年被提出,当时的研究主要集中在如何有效地保证BOM视图之间的数据完整性、正确性和一致性上15。随后,研究者们开始探索如何在不同的产品生命周期阶段应用多视图BOM。例如,2002年的研究提出了基于单一数据源的产品BOM多视图映射技术,旨在实现产品全生命周期中的物料清单信息集成1,这表明了多视图BOM技术在实现信息集成方面的潜力。
2004年的研究详细分析了产品结构数据模型,并探讨了BOM视图的含义、内容及其数据来源,为产品多视图的实现提供了理论基础18。针对复杂产品开发过程中各部门间的信息孤岛问题,2008年的研究建立了一种BOM多视图转换的形式化模型,实现了从设计BOM到制造BOM的转换17。在PLM(Product LifecycleManagement,产品全生命周期管理)环境下,多视图BOM的应用得到了进一步的发展。2007年的研究通过定义分析设计物料清单(EBOM)、工艺物料清单(PBOM)、制造物料清单(MBOM)及其相互关系,建立了BOM结构数学模型,实现了EBOM向PBOM以及PBOM向MBOM的转换16。这一研究不仅展示了多视图BOM在PLM环境下的应用,也证明了其在确保数据一致性与准确性方面的有效性。
来源: 百度百科
内容资源由项目单位提供