好文档 - 专业文书写作范文服务资料分享网站

BOM管理资料集锦

天下 分享 时间: 加入收藏 我要投稿 点赞

BOM资料集锦 (Cartoonfans#gmail.com)

1.2 层次编码BOM结构

在系统中,对各个产品以及单机、部件、分部件、零件等进行数字编码,按照产品、部件、零件等的组成或者附属关系,将这些编码拼接起来组成每个实体的层次码。产品PQS3.125.196的部分层次编码BOM结构的表达见表2所示(假设每个实体的编码为3位),总共用了23条记录来来表述产品PQS3.125.19日的部分BOM数据结构。通过层次编码,可以较快地得到零部件在产品中所处的位置和层次信息。但是随着层次的增加,子件层次编码长度会不断增加,使得数据存储的难度加大;同时一个子件在不同父件或者同一父件的不同层次中,有不同的层次编码,使子件信息的查询增加了难度。

- 41 -

BOM资料集锦 (Cartoonfans#gmail.com)

1.3 单层BOM结构

采用\单父单子\的数据结构,只记录各父件和子件之间的对应关系,而对于各个部件在产品中的层次不进行描述。单层BOM结构对于每种层次结构只定义1次,减少了数据的冗余和重复,因而可以大大节省存储空间.产品PQS3.125.196的部分单层BOM的结构表达见表3,总共只用了17条记录来表述产品PQS3.125.196的部分BOM数据结构。

- 42 -

BOM资料集锦 (Cartoonfans#gmail.com)

与表1、表2相比较,表3的数据存储量大大减小,对于重复使用到的部件PQS6.171.062,只需要定义1次,减少了数据的冗余,根据机械产品B0M结构的特点,本文采用了单层BOM数据结构,来构建产品BOM展开和生成的后台数据库。在Microsoft SQL Server2000数据库的BOM结构表中,以父件和子件图号的复合为表的主键.

2 BOM 展开及生成的常规算法

在ERP等信息系统中,往往会用到产品BOM结构的查询,如展开查询、多级反查、物料需求计划的查询等等,都需要用到产品BOM结构展开及生成之后的相关数据。同时,产品B0M结构的展开及树型结构生成,有利于用户对产品的整体结构产生直观的印象,是ERP等信息系统中重要的一个部分。对产品BOM结构的遍历和展开,往往需要较长的时间;特别是那些结构层次复杂的产品,如何选择合适的遍历和展开算法,对于信息系统的运行和维护有着重要的意义。目前对于产品BaM结构的展开及生成,到对不同的要求,有很多改进的算法,且然改进的算法喜不相同,但是基本上都是从层次法和递归法这两种最基木的算法,经过一定的改进衍生而得到的.

2.1 递归法

- 43 -

BOM资料集锦 (Cartoonfans#gmail.com)

在BOM的展开和生成过程中,从被查找的根节点起往下任选一子顶,并对选中某子项进行穷举直到叶节点,然后再对其他子项进行同样操作.递归算法采用树的先根遍历,因此较好地展现了物料间的层次关系和BOM树的结构。它利用堆栈操作,优点是程序简单;但正因为其堆栈操作,使得在递归调用过程中,程序在执行的每步都需要将临时节点的信息压入堆栈,在进行大规模物料遍历时,系统资源消耗大,运行效率将很低。

2.2 层次法

在BOM的展开和生成挝程中,从需要查找物料的最上一层开始,按照产品的层次,一层一层往下找,直到找到物料最底层为止,最后把各层代号相同的物料合并,就是需要查拢的相关需求物料。层次遍历采用临时表存放BOM树中某层物料的信息,克服了递归算法中堆栈操作,使用较为方便,能较好地按层次遍历一个大规模的BOM树结构。但是由于其按层次搜索的特点,其物料的存放顺序未能展现物料间的父子关系,而在大部分产品进行物料BOM结构的取代、删除以及检查物料的嵌套错误时,需要知道物料间的父子关系,因而BOM遍历的层次算法将受到限制,同时也无法展示产品B侧的完整树型结构.

3 改进的循环算法

根据以上两种算法,结合在系统开发中的具体需求,提出了一种改进的循环算法.改造算法的目的是既能较好地展现产品BOM的层次关系,也能统计相关物料的需求信息。算法通过建立1个临时的表, 储存在遍历过程中甩到的物料件号和层次信息,然后通过遍历临时表中的记录,用循环的方式显示查询产品BOM的结构和产品所需物料的信息。

3.1 算法流程圈

根据算法的描述,具体的流程见图2.

以图l所示的产品PQS3.125.196为例来说明该遍历算法的思想:首先构造一个临时表TepForm , 其字段信息如表4所示,同时把产品PQS3.125.196的图号和层次号插入表中. 然后查找PQS3.125.196的于件,并以倒序的顺序插入到临时表中;同时把PQS3.125.196 的相关信息输出,在临时表中删除该物料的记录,此时临时表中的最后一条记录为PQS6.171.060.层次号为2(父件的层次号加1,判断当临时表的记录数大于0时,取出临时表中的最后一条记录,即PQS6.171.060.查找它是否有子徐如果它有子件,则仍以倒序插入临时表中,输出PQS6.171.060的相关信息并删除记录;如果没有子件,则输出PQS6.171.060的相关信息并删除记录,同时跳到临时表中的上一条记录进入循环;如此循环直到临时表的记录数为零,到此遍历结束。

- 44 -

BOM资料集锦 (Cartoonfans#gmail.com)

3.2 算法实现的代码

在算法实现过程中,结合了Visual Basic语言中的ADODB、MSFlexGrid等一些特殊控件来实现. 其中ADODB数据控件主要用来连接SQL server2000数据库, MSFlexGrid空间主要用来显示产品BOM结构,同时用Excel表格来显示产品的物料需求计划。在遍历的过程中,把BOM结构的每一个节点元素储存在Visual Basic的MSFlexGrid中,并与数据库中的每一条记录相对应,这样可以方便地对产品BOM结构的相关信息进行修改和容错检查.算法具体的代码如下: //定义一个连接字符串 Dim strCnn As String

strCnn=\

- 45 -

BOM管理资料集锦

BOM资料集锦(Cartoonfans#gmail.com)1.2层次编码BOM结构在系统中,对各个产品以及单机、部件、分部件、零件等进行数字编码,按照产品、
推荐度:
点击下载文档文档为doc格式
40x0j373fh7l7tx2asja
领取福利

微信扫码领取福利

微信扫码分享