劉金才 王瑩



摘要
本文介紹了SAP與PDM實現文檔集成的技術實現方案,描述了SAP端接口程序開發方法和開發步驟。對SAP與其它系統集成開發具有借鑒和指導意義。
【關鍵詞】SAP PDM FTP XML 異步 系統集成
SAP是當今最優秀的ERP產品之一,為越來越多的大中型企業提供全面的業務解決方案,是支撐企業管理的核心信息化系統。不過SAP也不是萬能的,除了SAP之外,企業還可能部署PDM、MOM、QMS、SRM、MRO等信息化系統,以全面支撐企業信息化管理。這些系統不可能互為孤島,獨立的運行。而應該做系統的集成,把彼此孤立的系統全部打通,讓業務流程跨系統運行起來,實現數據的共享共用,流程的互聯互通,只有才能發揮信息化系統的最大價值。
系統集成接口的穩定性對信息系統的穩定性和效能影響很大,所以集成接口設計和開發是非常重要且有挑戰性的工作。系統集成的場景比較復雜,即要處理結構化數據,也需處理文檔等非結構化數據,既有大批量數據處理需求,也有實時地處理要求。SAP支持很多接口技術,可根據實際場景需要進行選用,以達到最優化的效果。
1 集成方案設計
PDM系統實施過程中需要開發PDM與SAP的接口,將PDM中產生的文檔通過接口發布到SAP系統,供下游用戶使用。接口運行的頻率不可控,每次發布文檔的數量級也不可控,單個文檔最大可能達到上百兆字節。因此文檔發布接口存在頻繁的大規模數據處理場景,對處理會話持續穩定性要求很高。根據文檔發布接口的特點,決定采用異步處理方式,以避免處理超時的問題。對應的詳細方案內容如圖1所示。
(1)由PDM系統首先收集要發布的文檔數據,并將文檔放置到FTP服務器中。
(2)文檔放置FTP成功后,PDM封裝數據并向SAP發送請求。
(3)SAP接到請求后,首先解析XML數據,并向PDM反饋接收狀態,如果XML解析出錯,SAP就不再做任何處理。如果XML解析成功,則會繼續處理數據。
(4)如果從SAP返回的接收狀態為失敗,則PDM中對數據做修正處理后可重新向SAP發送請求。如果SAP返回的接收狀態為成功,則PDM等待SAP最終的處理結果。
(5)如果SAP接收PDM請求成功,首先經數據保存到臨時表中,通過調用后臺作業繼續處理數據,在后臺作業中,首先將文檔從FTP服務器下載到SAP系統主目錄,然后從主目錄將文檔檢入到文檔主記錄中,再將文檔從主目錄中刪除掉。處理完之后,將處理狀態發送給PDM。如果狀態發送失敗,則保存狀態日志信息,后續可重試,直至發送成功為止。
(6)如果SAP最終處理成功,則PDM結束流程。如果不成功,則PDM按照消息提示的問題進行處理后,可重新向SAP發送請求。
(7)數據接收和處理的狀態和結果都存儲在日志表中,并通過日志監控程序監控和分析接口運行狀態。
2 集成方案實施
2.1 定義接口規范,明確接口參數,規范XML格式。保證系統之間能夠正確的勾通。
2.2 定義解析XML的XML轉換,用于接口運行期間將XML數據解析到SAP內存。
2.3 定義接口函數,該函數是用于接收PDM請求的功能模塊,功能模塊定義為允許遠程訪問。定義用于接收XML格式數據的字符串類型的輸入參數。
2.4 接口函數程序開發。首先將接收數據保存到日志表中,然后調用XML轉換解析XML數據到內表中。如果解析成功,則更新日志狀態為接收成功,否則更新日志狀態為失敗狀態。如果解析成功,則把數據保存到臨時表,然后立刻計劃后臺作業調用數據處理程序處理數據。
2.5 數據處理程序開發。讀取需要處理的數據,對數據做規范性和正確性檢查,檢查全部通過后,開始處理數據。詳細數據處理過程如下。
(1)獲得當前SAP實例的主目錄。主目錄的空間至少要保留50G以上,以保證有足夠的空間臨時存儲文檔。
(2)從FTP服務器下載文件到主目錄。首先要連接FTP服務器,然后下載指定的數據到當前的主目錄。
(3)然后調用SAP的相應BAPI對文檔進行處理。無論是創建、修改還是升級文檔,調用相應BAPI時,都需要正確的為BAPI的pf_ftp_dest和pf_http_dest參數輸入合適的值。
(4)刪除掉主目錄中的文檔。以釋放被占用的空間。
(5)調用WEB SERVICE向PDM反饋運行結果。當調用失敗時,將當前的狀態臨時存儲到日志表中,隨后定時重試,直至成功。
3 測試及運行
集成接口開發完成之后,要進行全面的測試,以檢驗接口程序的正確性和健壯性。既要進行功能測試,驗證數據規范性檢查、數據處理、容錯等方面功能正確性。還要通過壓力測試來驗證接口程序并發處理能力。測試全部通過后,可以上線運行。
4 接口運行監控
通過接口運行監控程序可實時監控接口運行狀態。當日志中發現錯誤狀態,或用戶反映數據有異常時,可根據接口ID號查詢對應的后臺作業,并根據需要跟蹤后臺作業執行過程,以進一步分析發生異常原因。
5 結束語
SAP作為業界資深的ERP軟件,支持很多種系統集成技術,我們可以根據實際業務場景需要,選擇最優化的技術實現方案。實現穩定的集成應用系統。
參考文獻
[1]黃勁.SAP與PDM系統集成的設計與實現[D].電子科技大學,2010.