ERP商业软件实施解决方案_第1页
ERP商业软件实施解决方案_第2页
ERP商业软件实施解决方案_第3页
ERP商业软件实施解决方案_第4页
ERP商业软件实施解决方案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ERP系统统开发中BBOM结构构模型的研研究及应用陈琦 刘刘杰(同济大学学经济与管管理学院,上海 2000092)摘 要:BOM是ERP系系统中重要要的基本数数据.本文文首先从数数据库设计计和算法实实现两方面面分析了两两种典型的的BOM结结构模型,通通过比较总总结出BOOM设计中中的关键问问题;然后后针对该问问题提出改改进的BOOM结构模模型;最后后给出运用用此模型实实现某BOOM管理模模块的实例例。关键字:企企业资源计计划;物料清单单;BOM结构构模型1 引言制造业信息息系统从上个世纪纪50年代起至今经历历了MRPP(Matteriaal Reequirremennts PPlannning

2、)、闭环MRP(Closed-loop MRP)、MRP (Manufacturing Resource Planning)及ERP等四个阶段,后一个阶段都是建立在前一阶段基础之上.ERP的核心仍然是解决企业根据市场需求“生产什么”、 “生产多少”、“什么时候生产”等问题,而这些问题的有效解决都是建立在MRP运算,即根据BOM(Bill of Materials)分解MPS(Main Production Schedule)的基础之上。所谓BOMM就是产品品结构在EERP系统中的一种数据据表现形式式,换句话说为了方便计算机机识别并做分解运算处理,把用图表达的产品结构转换成数据格式,这种用数据格

3、式来来描述产品品结构的文件件就是BOM.从概念中可以看出,BOM的主要作用包括:1.存贮作用用,即存储储产品结构构信息;22.计算依据,即为MRP分解运算算提供逻辑依据。BOM是EERP的核心数据之一,BBOM的设设计与实施是ERP的基础,所以选用用合理得BBOM结构构模型是保保障ERPP顺利实施施得重要环环节。2两种典型型的BOM结构模型2.1树状状结构模型型对于制造型型企业中生产产的单个产产品,其结结构呈现出一种树状结构,反映出该产产品所需的的原材料,零零件,部件及总装件之间间的从属关系系和数量。如图1中产品A,是由B,C,D构成的,而B又是由C,D构成的,括号里的数字表示父子之间的数量关

4、系,依此此类推,其其中不能再再分解或处于产品结结构树底部的零部部件就是需要制造或采购的零部件,有了这种产产品结构才能进行分解运算得到物料需求计划。图1。产品品A的结构构图为了把这种种产品结构构存储在关系型数数据库中(以sqqlserrver22000为例,下同同),其数数据库设计计如表1所所示:字段名称类型含义RootiidVarchhar(110)产品代码ChilddidVarchhar(110)子件代码Layerrint层次码Usageefloatt零件间用量量关系表1树状结结构模型的的数据字典典其中Roootid, Childdid分别别表示产品和该产品包含的零部件代码,如该零部件不可可

5、再分解就用一个特殊的符号“L”来表示。图1中A产品的结构,在数数据库中存存储为以下下记录:RootiidChilddidLayerrUsageeAmouuntAB11AC12ADL3AC22ADL1AEL6AFL8AEL6AFL8表2 产品品A在树状结构模型中的表示这种数据库库设计由于于模拟了产品品结构的树状特征(如图图2),称称之为“树状结构模模型”,它的优点是直观的刻画了产品品结构,不同产品间的数据相互互独立的,因而编编写分解算法非常简单、高效。缺点主要要是数据冗余度大,不同产品中包含含的相同结构特征在在此模型中仍然要存储多次,例如如:产品AA包含的部部件C为通通用件,即即可以用在在其他产

6、品品中。因而而当增加或修改这些结构特征时也要重复复多次,容易造成BOM数据不一致致,或者在在数据库设设计时需要要增加额外外的触发机机制保证其其一致性。另一方面由由于这种结结构模型只存储储了产品与零部间的关系从而抹煞了部件件与零件的关系系,破坏了BOM数据的完整性。ParenntidChilddidUsageeAB1AC2AD3BC2BD1CE3CF4 图图2.BOOM的树状状结构树状结构构模型可以以直接采用用较为简单的SQL语句来实实现产品结构的查询询。例如对对图1中A产品查询需要制造或采购的所有零部件清单时,SSQL语句为:selecct Chhildiid frrom 表2 wherre

7、Roootidd=A andd Layyer=L;需要查询AA产品所包包含的第nn层零部件件清单时,SSQL语句句为:selecct Chhildiid frrom 表2 whhere Roottid=A annd Laayer=n;22网状状结构模型型 对于制造造多品种产产品的企业业,产品与与零部件的的关系不再再是简单的的一对多而而是多对多多关系。由由于大量通通用件在不不同产品间间的相互借借用,在树树状结构中中表现为不不同的结点点可以有相同同的子树;即使使在同种产产品内部,由由于一些标标准件的重重用,同样样使零部件件关系呈现现出复杂的的交织,所所以图2可可以转化为为图3所示示的网状结结构。

8、图图3.BOOM的网状状结构这种产品结结构在数据库中的设计如如表1所示示:字段名称类型含义ParenntidVarchhar(110)父件代码ChilddidVarchhar(110)子件代码Usageefloatt父子件间用用量关系表3 网状状结构模型型的数据字字典图1中A产产品的结构在数据据库中可以以存储为以下记录录: 表4 产产品A在网状结构模型中的表示这种数据库库设计模拟拟了多品种产品品的结构特征征(如图22),称之为“网状结构模型型”,它的优优点是对每每一种父子子结构关系系只存储一次,从而而消除了冗余数据,另外外当这些通用用件或标准准件的结构构发生变化时,在数据据库中也只只用修改一次

9、,同样样以部件CC为例,当当修改其结结构特征时只需需在修改数数据库中字字段Parrentiid为“C”的记录。因而网状状结构模型型易于保证证BOM数据的完整性和一致性性。这种模型虽虽然能清晰的反映产品结构,但要编写较为复杂的算法来实现现对BOM的遍历,常用用的算法有有: 1.递归算法。利用用数据库的的临时表来保存递归运算中的临时信息,通过特定变变量控制程序的执行行.2.分分层查找法法。就是从被查找的根结点开始始,按层次一层一层的往下遍历,类似似于数据结构构中树的层次遍历过程。3改进的的BOM结结构模型3.1 BBOM设计计中的关键键问题综合上面两两种模型的的设计方法法,在BOM设计过程中需着着

10、重考虑的的两要素是:1.合理的BOM结构模型,即在数据库库中设计合合理的方式式存储BOOM数据,保保证BOM数据的完整整性、一致致性、可靠性性和无冗余余;2.高效便捷捷的算法完成成对产品结构的的遍历和分解解,满足MMRP运算算及各种对对产品结构构的查询、汇总等。前者关系系到BOM的易维护性性,后者是关系系到BOM的易使使用性,以以下简称为为BOM“设计的两两要素”。然而,当今今流行的数数据库大多采用基于关关系模型的的关系型数据库。在数据库发展历史中较以前的层次模型或网状模型,关系模型对这种树状结构的存储和处理有先天性的不足,如果采取冗余度小的数据库设设计,会使算法比较复杂,反之之亦然。例如前前

11、面的两种种模型,树树状结构模模型的数据据库设计冗冗余度大但但算法简单单、执行效效率高,实实际上以较差的易维护性性来换取较好好的易使用性;而网网状结构模模型在保持持低数据冗冗余的情况况下却使算算法复杂,降降低查询分分析的效率率,与前者者正好相反反。这导致致了BOMM设计中两两要素间的的矛盾,而这这种矛盾往往往是无法法避免的。BOM设设计的主要要问题就是是在满足EERP功能能的前提下下,如何在在BOM两两要素之间间需求最优优均衡。为为了解决这这个问题,笔笔者综合两两种典型BBOM结构构模型的特特点,提出出以下改进进的BOMM结构模型型。3.2 改改进后的混混合结构模模型这种模型的的设计思路路是考虑

12、到到在产品生生命周期的的不同阶段段有不同的的BOM,其其内容和作作用各不相相同。所以以整个产品品结构可再再细分为销销售BOMM,制造BBOM,采采购BOMM等。销售售BOM列列举出制造造最终产品品所必需的的可选物料料,它仅仅仅是为了满满足客户订订单把相对对独立的部部件汇总起起来的BOOM;制造造BOM是是根据产品品结构和工工艺流程特特点,把销销售BOMM中的独立立部件作为为“最终项目目”来构建的的,用于帮帮助制定并并简化主生生产计划;采购BOOM是采购购部门根据据制造BOOM中部件件需求制定定的外购件件、外协件件清单,是是进行MRRP运算的的逻辑基础础。这种划划分把整个个产品结构构分解为粒粒度

13、大小不不同得BOOM,销售售BOM包包含的数据据项对应的的产品结构构粒度最大大,接下来来依次为制制造BOMM、采购BBOM。然然后根据这这几种BOOM的结构构选择不同同的BOMM结构模型型。一般来来讲,销售售BOM的的结构简单单且相对固固定,对其其主要做查查询、汇总总等简单操操作,需要要较好的BBOM易使使用性,故故采用树状状结构模型型,采购BBOM的结结构复杂且且需要经常常修改,而而且数据存存储量大,对对其完整性性、一致性性要求较高高,即需要要较好的BBOM易维维护性,故故采用网状状结构模型型,制造BBOM视企企业的具体体情况,同同样按照其其他BOMM的选型方方法选取合合适的BOOM结构模模

14、型。这样样对整个产产品结构综综合两种BBOM结构构模型的优优点,而且且能满足EERP系统统各模块的的功能需要要,所以称称之为“混合结构构模型”。4 应用实实例在某压缩缩机生产企企业的ERP系统实际开开发中,运用混合合结构模型型开发了其中中的BOM管理模块.该系系统采用基基于Webb的三层BB/S架构构,主要运运用JSPP技术,开开发环境为为:服务器器端的操作作系统采用用Winddow NNT;Weeb服务器器为ApaarchTomccat;数数据库采用用SQL Servver 22000。4.1 BBOM结构构设计该企业是典典型的多品种大批量的制造型企企业,在BBOM设计计前首先对对物料进行行

15、了编码,保保证每种物物料有唯一一代码标识识,然后参参考混合模模型把整个个产品结构构划分(如如图4示意意)。 图4 BOM结结构划分销售BOMM压缩机全代代码标识交交付客户使使用的商品品,包括压压缩机、附附件及包装装等。在EERP中这这部分BOOM主要供供销售部门门使用,使使其能够根根据客户需需要迅速查查询相应的的配件,或或使客户按按照自身需需要挑选并并自由组合合各部件。该部分采采用树状结结构模型,数数据库中RRootiid字段存存放压缩机机全代码,CChilddid字存存放压缩机机装配码、附件代码码或者附件件包装代码码。制造BOMM压缩机装配配码标识装装配线上最最终装配出出的产品,包包括压缩机

16、机本体、本本体包装和和标识铭牌牌。这部分分主要供生生产部门的的总装配线线使用,使使其能够按按照主生产产计划计算算各部件的的投料量。该部分同同样采用树树状结构模模型,数据据库中Roootidd字段存放放压缩机装装配码,CChilddid字段段存放压缩缩机本体代代码,本体体包装代码码及标识铭铭牌代码。采购BOMM采购BOMM用来存储储压缩机本本体的结构构信息,由由于不同型型号的压缩缩机本体仅仅存在细微微的结构差差异,如果果采用树状状结构模型型,必然会会产生大量量的冗余数数据。此外外,由于所所有产品的的技术资料料需要与国外母公司司保持同步步并且随客客户需求变变化频繁更更换,因而而对BOMM数据的维维

17、护是经常常性的,所所以最终采采用网状结结构模型,数数据库中仅仅存在具有有父子关系系的零部件件数据,然然后编写算算法实现其其查询、汇汇总等功能能。4.2 关关键算法实实现对采用树树状结构模模型的客户户BOM和和制造BOOM,可以以直接用SSQL查询询语句实现现所需功能能,而采购购BOM需需要对网状状结构模型型实现遍历历等功能,算算法较为复复杂,以下下给出用于于实现对给给定的任一一物料查询询其包含的的所有子件件,并按层层次关系排排列的算法法。1.在sqqlserrver22000下先建立两个临时表workk和resuult,前者用于存储运算的中间数据,后者存储运算结结果。字段名称类型含义Lv1in

18、t层次码itemiidVarchhar(220)物料代码usageeFloatt(10)用量表5.临时时表#woork字段名称类型含义SeqInt iidenttity序号Lv1int层次码itemiidVarchhar(220)物料代码usageeFloatt(10)用量表6.临时时表#reesultt2.实现BBOM遍历查询的的SQL语句为:/声明变变量declaare lvll intt,cuurr vvarchhar(220),usagge flloat(10)/从BOOM表中选选取需要分分解的物料料信息,并并存入#wwork表表等待运算算selecct top 1 llvl=11,c

19、uurr=”根节点物物料代码”,ussage=”用量” froom “BBOM表”inserrt innto #workk (lvvl,ittemidd,usaage) valuues (lvll,cuurr,usagge)/循环开开始,当分分解层次码码为0时循循环终止whilee (llvl00) beeginif exxistss (seelectt * ffrom #worrk whhere lvl=lvll) beegin/从#wwork表表中选取层层次码为lvl的的首条记录录A,保存存在变量中中并插入表表#ressult,然后将该该记录从#workk表删除selecct toop 1

20、 currr=ittemidd,ussage=usagge frrom #workk wherre lvvl=llvlinserrt #rresullt (llvl,iitemiid,ussage) vallues (lvvl,ccurr,usaage)delette #wwork wherre lvvl=llvl aand iitemiid=ccurr/以记录录A为父节节点在BOOM表中选选取其所有有子节点,并插入表表#worrkinserrt #wwork seleect lvl+1,ciid,ussagefromm “BOOM表” wherre piid=ccurr and pidcidd/如记录录A有子结结点集B,则层次码码加1,否否则减1.然后跳至至循环开始始if(rowccountt0) set lvl=lvll+1endelses

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论