本文描述了在各大中型公司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.guhuozai8.cn/
本文標題:基于SAP與PLM的BOM替代流程開發