本文描述了在各大中型公司PLM、SAP系统日趋成熟的情况下,如何通过SPM(商业流程管理系统)流程平台将PLM系统中创建的BOM(Bill of Material,物料清单)替代关系获取,再维护,并最终写入到SAP系统中的过程,以及遇到的技术难点、后期优化方案和应用效果简述。
1 设计与实现
1.1 设计BOM替代流程流程图
采用Borg公司的SPM平台设计流程图。该平台采用拖拽的形式设计工作流程图,每个流程关卡之间直接用箭头表示流向,在实际使用过程中用户可以轻松易懂的查看自己申请或处理的流程的流程图,获知目前流程的状态,并设有流程走向演示功能,可以直观的重现流程的走向。BOM替代流程的流程图比较简单,中间不需要审核和其他数据处理环节。但是简化的流程图就意味着,所有对数据的完整性、正确性的判断、以及数据维护操作都要集中在一个表单完成,很大程度上也增加了开发的难度。
1.2 设计表单
该流程的表单时采用微软的Visual Studio 2005开发工具开发,主要采用的开发语言是ASP.NET。在表单页面需要实现的功能是:输入BOM变更号以及工厂,点击查询,通过PLM提供的视图,查询该BOM变更号的BOM关系数据,在维护了相关字段后,点击传送,将BOM替代关系写入SAP系统中。BOM关系在写入sap之前,需要彻底地检查BOM中物料在SAP是否存在,数据是否完整。数据格式根据EXCEL中的格式模版来动态生成,并支持EXCEL导入、导出数据,极大地减轻程序的后期维护工作,同时也方便了用户使用。
1.3 表单绑定,设置关卡属性
将设计的表单与流程图中的开始关卡绑定,并设置申请者权限,上传附件权限以及邮件通知的功能等。另外,还需要设置开始关卡字段的必填属性,默认值,以及友好的报错信息,防止用户的错误操作。
1.4 数据库的设计
数据库采用的是微软的SQL Server 2008。SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),有丰富的编程接口工具,并且对Web技术有很好的支持。在SQL Server可视化的操作界面下,设置好与表单中相对应的字段,包括字段名,字段类型,字段长度等。
2 技术难点及相关代码
2.1 从EXCEL读取表单结构
实现从EXCEL读取表单结构的功能,可以大大减少程序的维护量。相关代码如下:
其中“BOM.xls”是要读取的EXCEL,主要是利用“HSSFWorkbook”和“HSSFSheet”两个类来实现,具体用法可以上网查一下。
2.2 将BOM关系写入SAP
.NET和SAP是两种不通的应用平台,不能直接地进行数据交互,需要使用第三方工具Softwise SAP Explorer Tool来帮助实现这一功能。在进行简单的配置后,就可以从SAP获取将BOM关系写入SAP的函数,这样以来就可以通过调用函数的方式来实现写入SAP这一目的了,相关代码如下:
3 后期优化
在流程正常运转之后,随着公司业务的发展,BOM流程会走得越来越频繁,并且BOM中包含的物料数量也会越来越多,这时你会发现,在硬件配置没有升级的情况下,BOM流程传送的速度会越来越慢,你不得不采取一些优化措施来提高流程的效率。
3.1 程序日志的优化
程序中记录日志一般有两个目的:Troubleshooting和显示程序运行状态。好的日志记录方式可以提供我们足够多定位问题的依据,但过多的写日志操作也是很影响程序的运行速度的。对于该流程中日志的优化,我的做法是:
(1)删除一些不必要的写日志操作;
(2)避免for循环里面出现写日志操作;
(3)对日志的内容进行简化。
3.2 数据库的优化
在流程长时间的使用过程中,数据库中极易堆积大量数据,这时会导致流程传送时写入数据的操作越来越慢(尤其是针对大数据量的BOM),影响程序的性能。在保留历史数据的前提下,我的做法是:
(1)新建一个与现有的表A结构一摸一样的空表B;
(2)修改代码,把insert语句中的表A,改为表B,这样数据就会写进表B中;
(3)把查询逻辑改为“先查表B,如果表B没有数据,再查表A”;
(4)设置SQL Server代理,定时将表B中的数据挪到表A中,并将表B数据清空。
这样一来,就解决了数据库的写入速度慢问题。
3.3 物料判断的优化
通过远程查询SAP的数据库来判断物料的正确性和完整性是比较影响性能的,因为写入SAP的BOM中,每个物料都需要先几个检查,如果有1000个物料,就是好几千次检查。在保证这些判断必要的前提下,我的做法是:
(1)通过整合视图,让我一次查询就能够获取尽可能多的信息。
(2)尽量避免“select*”的查询。
(3)将部分判断放在SAP函数里面执行,这样就减少了两个系统因交互而花费的时间。
4 应用效果
目前该流程在公司范围内广泛使用,截止目前已经走过了16183,成功将1894599条BOM关系从PLM系统写入SAP系统。而相当简化的流程步骤也使得设计部门、物流部门和制造部门之前的沟通成本得到了最大限度的减少,大大提高了工作的效率。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于SAP与PLM的BOM替代流程开发