-
首页
-
产品中心
- Swift PLM
- 杰信Swift PLM产品生命周期管理系统
- 杰信EDM图文档管理系统
- 杰信PPM项目管理系统
- 杰信MDM主数据管理系统
- 杰信QMS质量管理系统
- Swift CPQ成本报价管理系统
- 杰信Swift CPQ成本报价管理系统
- Oracle Agile PLM
- Oracle Agile PLM产品生命周期管理系统
- Oracle BPM业务流程管理系统
- Oracle Primavera P6 EPPM
-
解决方案
- Swift PLM行业解决方案
- 医疗器械行业解决方案
- 高科技电子行业解决方案
- 芯片半导体行业解决方案
- 精密制造行业解决方案
- 机械装备行业解决方案
- 生物制药行业解决方案
- Swift CPQ报价系统解决方案
- 电子行业报价系统解决方案
- 新材料行业报价系统解决方案
- 精密制造行业报价系统解决方案
- 医疗器械行业报价系统解决方案
- 玩具制造行业报价系统解决方案
- 企业运营管理数字化解决方案
- 智慧能源管理系统
- Swift PPM项目管理系统解决方案
- 高科技电子行业企业研发项目管理解决方案
- 精密加工行业企业项目管理平台解决方案
- 医疗器械行业企业研发项目管理解决方案
- Swift EDM图文档管理解决方案
-
业务服务
-
优秀案例
-
新闻中心
-
关于我们
-
首页
-
产品中心
- Swift PLM
- 杰信Swift PLM产品生命周期管理系统
- 杰信EDM图文档管理系统
- 杰信PPM项目管理系统
- 杰信MDM主数据管理系统
- 杰信QMS质量管理系统
- Swift CPQ成本报价管理系统
- 杰信Swift CPQ成本报价管理系统
- Oracle Agile PLM
- Oracle Agile PLM产品生命周期管理系统
- Oracle BPM业务流程管理系统
- Oracle Primavera P6 EPPM
-
解决方案
- Swift PLM行业解决方案
- 医疗器械行业解决方案
- 高科技电子行业解决方案
- 芯片半导体行业解决方案
- 精密制造行业解决方案
- 机械装备行业解决方案
- 生物制药行业解决方案
- Swift CPQ报价系统解决方案
- 电子行业报价系统解决方案
- 新材料行业报价系统解决方案
- 精密制造行业报价系统解决方案
- 医疗器械行业报价系统解决方案
- 玩具制造行业报价系统解决方案
- 企业运营管理数字化解决方案
- 智慧能源管理系统
- Swift PPM项目管理系统解决方案
- 高科技电子行业企业研发项目管理解决方案
- 精密加工行业企业项目管理平台解决方案
- 医疗器械行业企业研发项目管理解决方案
- Swift EDM图文档管理解决方案
-
业务服务
-
优秀案例
-
新闻中心
-
关于我们
Swift PLM 循环BOM检查(Donny Yang)
Swift PLM循环BOM检查
实际生产中,企业从单一数据源中提取数据形成BOM的多视图,这对数据一致性的维护有重要意义。但是由于各种BOM的生成过程不同,包含的数据也不完全相同,因此仍需要对比同一产品的不同BOM视图,以保证数据的一致性。物料项和物料项关系两部分构成了BOM,所以维护BOM一致性需要维护物料项和物料项关系的一致性。常见的BOM数据不一致现象可大致从结构和属性两个角度分析。BOM结构不一致,最常见的情形就是物料项父子关系循环。
物料项父子关系循环
在BOM中,如果存在子件中含有父件的结点,则构成了父子关系循环,即循环引用。编辑BOM中的零部件,或者从其他BOM中导入数据到当前BOM,都可能造成循环引用。这两种情况在本质上相同,都可以在事先避免:增加BOM结点,调用父子循环检测算法,进行BOM结构检查,可以判断是否发生了父子循环。
Swift PLM的父子循环检测算法
通常在BOM添加结点时调用父子循环检测算法,事先防止BOM父子循环的出现。
设源BOM为S,目标BOM的集合为T,SD记录S中某结点的所有后代,TA是T中某一结点的祖先的集合,QS存放按广度优先访问S得到的结点序列,QC是按顺序分别存放访问S中某结点的所有后代,QT是按顺序分别存放访问T中某结点的所有祖先。函数GetParent(v)和GetChild(v)分别访问并存储结点v的父结点和子结点。父子循环检测算法如下:
第1步:选取S的根结点r,将此结点放入队列QS中。
第2步:如果队列QS空,则不存在循环引用,结束算法;否则从队列QS中取出一结点v,将GetChild(v)加进队列QS,将v加入队列QC。
第3步:从T中取GetParent(v)加入队列QT和集合TA中。
第4步:如果队列QC空,则转第2步;否则从队列QC中取出一结点c,将GetChild(c)加进队列QC尾及集合SD中,C=SD∩TA,如果C≠φ,则存在循环引用,转第6步;否则继续本步。
第5步:如果队列QT空,则转第2步;否则从队列QT中取出一结点c,将GerParent(c)加进队列QT尾及集合TA中,C=SD∩TA,如果C≠φ,则存在循环引用,转第6步;否则继续本步。
第6步:输出v以及C,据此可分析得出何处发生循环引用。结束算法。

图(1)Item-2包含BOM Item-1

图(2)Item-1添加Item-2作为BOM时
小结
BOM管理贯穿与企业生产经营活动的全周期,其配置、管控、发放等各环节对于产品至关重要,因此BOM的一致性是尤为重要。 本文主要是描述Swift PLM系统中循环BOM的检查,保证BOM结构的一致性。Swift PLM是部署在云端,可以快速部署,帮助企业提升研发管理水平,实现真正的降本增效,现在限时免费体验,欢迎大家前来咨询。
杰信软件Swift PLM产品生命周期管理
杰信软件专注于医疗器械、高科技电子、芯片半导体、精密制造、离散组装设备、汽车零部件等行业PLM解决方案咨询和实施,同时有着超20年的EDM咨询和实践经验,杰信软件立志于将最先进的业务模式与管理创新方法,通过杰信软件公司专家团队提供的专业信息化解决方案,帮助企业飞速发展。因此公司研制开发了一套有着自我知识产权的国产PLM系统Swift PLM,它有着轻量化、高效化、实用化、易用化的特点,是中小型企业研发设计管理的最佳工具。