一种导入ERP系统的BOM自动整合方法
文献发布时间:2024-04-18 19:57:31
技术领域
本发明属于数据整合技术领域,特别是涉及一种导入ERP系统的BOM自动整合方法并基于此构建了一个整合系统,能读取研发BOM中内容,将其中的标准机型BOM和派生方案合并成规定格式的完整派生机型BOM,为ERP系统做数据预处理。
背景技术
BOM(Bill ofMaterial)物料清单,也就是以数据格式来描述产品结构的文件,是计算机可以识别的产品结构数据文件,也是ERP的主导文件。BOM使系统识别产品结构,也是联系与沟通企业各项业务的纽带。ERP系统中的BOM的种类主要包括5类:缩排式BOM、汇总的BOM、反查用BOM、成本BOM、计划BOM。
ERP系统仅支持输入标准BOM,才能识别到有效信息,而实际研发过程标准机型会有很多派生方案,这些派生方案仅提供了新增物料和删除物料信息,没有完整的BOM。
发明内容
本发明的目的在于提供一种导入ERP系统的BOM自动整合方法,通过读取研发BOM中内容,将其中的标准机型BOM和派生方案合并成规定格式的完整派生机型BOM,为ERP系统做数据预处理,解决了现有的派生方案没有完整的BOM的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种导入ERP系统的BOM自动整合方法,包括如下步骤:
步骤S1、BOM表内容读取:读取同一个表文件中的标准机型BOM和派生方案;
步骤S2、标准机型内容提取:将提取的标准机型内容填入附件ERP层级单元格;
步骤S3、派生方案内容处理:将虚设组件下的子件数量乘以父项填入数量格;
步骤S4、标准机型和派生方案合并;
其中,步骤S4中,标准机型和派生方案合并具体步骤如下:
步骤S41:基于标准机型BOM更改,每个派生单独生成一个完整BOM表;
步骤S42:派生机型整机信息更改;
步骤S43:去除项先行更改;
步骤S44:新增项更改。
作为一种优选的技术方案,所述步骤S1中,标准机型BOM和派生方案在同一个表文件中,用不同表单元sheet记录;其中,读取研发BOM文件中标准机型BOM,以层级为标识,逐行读取,直至层级为空,为整个标准机型BOM数据。
作为一种优选的技术方案,所述读取研发派生方案文件中,从约束位置n1开始的所有派生方案,派生方案表单元sheet页名为以字母P+x开头“Px”,其中,“x”为数字;新增物料内容从约束行r1开始,读取所有有效列内容;去除物料为新增物料读取结束后的行数r2+4开始,读取所有有效列内容。
作为一种优选的技术方案,所述步骤S2中,判断找出机器附件行,从表末往前判断最后一个整机一级序列,通过层级内容从表末往前判断,第一个只包含一个“.”字符的为机器附件组件,记录对应行;并处理虚设组件信息、零件数量处理、增加ERP层级列并判断填写,具体步骤如下:
步骤S21:A列后增加一列,列名ERP层级,后面原列数据顺延一列;
步骤S22:第三行机型信息行,ERP层级单元格B3填入内容“1”;
步骤S23:从第四行开始,根据A列层级号,判断该行是否为零件,虚设组件,半成品组件;
步骤S24:一直往下处理,直至遇到机器附件行,停止。
作为一种优选的技术方案,所述步骤S23中,从第四行开始,根据A列层级号,判断该行是否为零件,虚设组件,半成品组件;
若读取层级单元格内容为“xx”时,判断下一行层级单元格内容,是否为其子件,当下一行层级单元格内容为“‘xx’&任意字符”,则为本行的子件,剩余则判断本行为组件;
若判断本行为组件,则由物料编码判断是否为半成品组件;当判断为半成品组件时,本行ERP层级单元格填写内容为1.x;x为从1开始的流水序号;半成品组件的子件ERP层级单元格内容跳过不做填写;
若判断本行为组件,但不在半成品列表中,则判断为虚设组件;并将其下所有子件行的数量单元格内容乘以本行数量填入子件行数量格,本虚设组件行ERP层级单元跳过不做填写;
若下行不是本行的子件行,则判断为非组件,填写ERP层级单元格。
作为一种优选的技术方案,所述步骤S42中,物料编码B3单元格改为派生方案中的I3单元格内容,代号D3单元格改为派生方案中的B4单元格内容,旧编码C3及规格F3内容清空。
作为一种优选的技术方案,所述步骤S43中,去除项先行更改的具体步骤如下:
步骤S431:从整理好内容第一条开始,判断该行是否为零件,虚设组件,半成品组件;
若为零件或半成品组件且有ERP编码,则在处理好的标准机型BOM中,自上而下根据物料编码查询;
步骤S432:物料编码相同时,判断数量是否满足去除数;
若所在行数量≥去除数量,则将数量改为两者差值;
若所在行数量<去除数量,则将本行数量扣除完数量为0,继续检索相同物料编码,继续挨个扣除去除余下数,直至去除数量扣完;
步骤S433:去除项的虚设组件及半成品子件且没有ERP编码,则不做处理。
作为一种优选的技术方案,所述步骤S44中,将处理好的新增项所有内容加入至标准机型BOM的机器附件之前,将新增内容零件层、非半成品组件的子件层,填加ERP层级内容,内容根据之前标准机型计算处理最后的流水号延续;将虚设组件层和半成品子件层,ERP层级内容空置。
本发明具有以下有益效果:
本发明通过读取研发BOM中内容,将其中的标准机型BOM和派生方案合并成规定格式的完整派生机型BOM,为ERP系统做数据预处理,提高数据处理效率。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种导入ERP系统的BOM自动整合方法流程图;
图2为标准机型和派生方案合并流程图;
图3为标准机型内容提取具体流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种导入ERP系统的BOM自动整合方法,包括如下步骤:
步骤S1、BOM表内容读取:读取同一个表文件中的标准机型BOM和派生方案;
步骤S2、标准机型内容提取:将提取的标准机型内容填入附件ERP层级单元格;
步骤S3、派生方案内容处理:将虚设组件下的子件数量乘以父项填入数量格;
步骤S4、标准机型和派生方案合并。
实施例一(BOM表内容读取)
标准机型BOM和派生方案在同一个表文件中,用不同表单元(sheet)记录。
1.1读取研发BOM文件中标准机型BOM,以层级为标识,逐行读取,直至层级为空,为整个标准机型BOM数据,如下表2所示:
表2标准机型的BOM表
1.2如下表3所示,读取研发派生方案文件中,从约束位置n1开始的所有派生方案,派生方案表单元sheet页名为以字母P+X开头“Px”,“x”为数字,1位或2位。新增物料内容从约束行r1开始,读取所有有效列内容(A-K)。去除物料为新增物料读取结束后的行数r2+4开始,所有有效列内容(A-K)。
表3派生机型方案的BOM表
1.3读取派生方案中派生机型物料编码、机型型号单元格内容,保存到字符串。
实施例二(标准机型内容提取)
2.1判断找出机器附件行(包装用组件,裸机不用),从表末往前判断最后一个整机一级序列。通过层级内容从表末往前判断,第一个只包含一个“.”字符的为机器附件组件(或者按名称==“机器附件”);记录对应行。
2.2请参阅图3所示,处理虚设组件(非半成品)信息、零件数量处理、增加ERP层级列并判断填写,具体流程如下:
2.2.1A列后增加一列,列名ERP层级,后面原列数据顺延一列。
2.2.2第三行机型信息行,ERP层级单元格(B3)填入内容“1”。
2.2.3从第四行开始,根据A列层级号,判断该行是否为零件,虚设组件,半成品组件。当读取层级单元格内容为“xx”时,判断下一行层级单元格内容,是否为其子件,当下一行层级单元格内容为“‘xx’”&任意字符”,则为本行的子件;否则,则判断本行为组件。与此同时判断是否为半成品组件。是否为半成品组件,由物料编码判断。标准化室提供半成品物料编码列表(半成品物料编码列表会经常更新添加)。
2.2.4当其为半成品组件时。本行ERP层级单元格填写内容(ERP层级单元格内容为1.x,x为从1开始的流水序号,下同。),半成品组件的子件ERP层级单元格内容跳过不做填写(空)(半成品组件填写ERP层级,半成品组件的子件不填写)。
2.2.5当其不是半成品组件,而是虚设组件时(判断为组件,但不在半成品列表中),判断出其下的子件行(层级单元格为“xx”&任意字符),并将其下所有子件行(在下一级不处理)的数量单元格内容乘以本行数量填入子件行数量格。本虚设组件行ERP层级单元格跳过不做填写。(父项是否删除待定),(虚设组件ERP层级不填写,其子件的数量列需要更改,即零件和半成品组件的数量需要更改)。
2.2.6当下行不是本行的子件行,可以判断为非组件(零件的判断),填写ERP层级单元格。
2.2.7一直往下处理,直至遇到机器附件行,停止。填写本机器附件ERP层级单元格内容为“1.8888”。
2.2.8机器附件之后继续往下处理,将余下的行,层级数据,左数第二个“.”字符前的字符串更改为“1.8888”。更改完后,将内容填入附件ERP层级单元格。类似执行至最后。
实施例三(派生方案内容处理)
3.1去除和新增内容先行处理方式一致,不用处理ERP层级单元格。
3.2从新增的第一行开始,判断该行是否为零件,虚设组件,半成品组件。判断方式与标准机型相同。
3.3将虚设组件下的子件数量乘以父项填入数量格(同2.2.5中处理)。
实施例四(标准机型和派生方案合并)
4.1请参阅图2所示,每个派生单独生成一个完整BOM表,基于标准机型BOM更改,如下表4所示:
表4标准机型和派生方案合并后的BOM表
4.2派生机型整机信息更改。物料编码(B3)单元格改为派生方案中的(I3)单元格内容,代号(D3)单元格改为派生方案中的(B4)单元格内容,旧编码(C3)及规格(F3)内容清空。
4.3去除项先行更改
4.3.1从整理好内容第一条开始,判断该行是否为零件,虚设组件,半成品组件。如果为零件或半成品组件(有ERP编码),在处理好的标准机型BOM中,自上而下根据物料编码查询。物料编码相同时,判断数量是否满足去除数。若所在行数量>或=去除数量。数量改为两者差值。如果<,将本行数量扣除完数量为0,继续检索相同物料编码,继续挨个扣除去除余下数,直至去除数量扣完。(如果遍历完不够扣除,则报错提示)。
4.3.2去除项的虚设组件及半成品子件(没有ERP编码),不做处理。
4.4新增项更改(除了B列以1.6666顺序增加外,其余直接带入);
4.4.1将处理好的新增项所有内容加入至标准机型BOM的机器附件之前,即ERP层级为“1.8888”之前。
4.4.2将新增内容零件层、非半成品组件的子件层。填加ERP层级内容。内容根据之前标准机型计算处理最后的流水号延续。虚设组件层和半成品子件层,ERP层级内容空置。
5.其他约束
5.1新增及去除的处理行,导出时增加底色标识。
5.2如果有因BOM格式问题导致执行有误,执行停止。并可显示执行错误行内容。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
- 一种支持直接将BOM导入生产系统的方法
- 一种Web ERP系统与PDM系统之间进行产品BOM同步的方法
- 一种BOM从PDM系统发布到ERP系统的方法