PLM與ERP整合,這個頭疼的問題,可以這樣解決!
PLM 與 ERP 系統中具有重疊的 BOM 資料。透過研究 PLM 與 ERP 的整合方法,分析了基於生效日管理的 PLM 的 MBOM 與 ERP 的 BOM 差異性,提出了整合程式處理異構 BOM 在不同情景下的轉換邏輯,定義了整合機制的三層架構各自功能及整體運作。基於該方法和策略,實現了 PLM Windchill 透過 Web method 整合程式與 ERP 系統整合。
一 整合的意義
PLM 系統管理全生命週期中的產品資訊,主要包括 CAD / CAM / CAE 設計資料管理、產品零件以及 管理、工作流管理的任務,其中可能涉及零件和產品的建立與審查管理、產品類別維護及重用、工程材料清單 (EBOM) 與製造材料清單 (MBOM) 、採購與製造屬性、生效日管理、零件或產成品的工廠檢視建立、跨部門溝通工作流程等。
ERP 系統對企業資源進行管理,主要包括製造模組、採購模組、財務模組、物流模組、售後模組與銷售模組。不同的模組在各自領域承擔著從客戶資料、採購下單、生產訂單計劃、材料清單、庫存管理、出貨、成本統計等重要環節。
雖然這兩個系統所管理的領域不同,但在管理資料中有重疊部分,即零件資訊與製造清單 (MBOM) 資訊。零件資訊與製造清單是 系統的輸出資訊,同時又是 ERP 系統的輸入資訊。
將 PLM 與 ERP 系統進行資料整合,能避免 PLM 管理中的主資料手工重複輸入 ERP 系統,以自動整合的機制可以實現資料傳輸的快速性、準確性並保證其一致性。從企業戰略角度而言,整合 PLM 、 ERP 可以更有效地幫助企業快速反應市場需求。
二 整合的主要內容
PLM 與 ERP 整合的本質是框架,即在異構分散式計算機環境中能使企業 PLM 系統與 ERP 系統實現資訊互動或過程互動的軟體系統。 PLM 與 ERP 需要整合源於其資料具有重疊部分,該重疊部分主要包括兩方面:零件資訊與材料清單 (BOM) 資訊。
在 PLM 系統中材料清單可劃分為:工程材料清單 (EBOM) 與製造材料清單 (MBOM) 兩類檢視,應用於生產運營的製造檢視需要被同步到各個工廠的 ERP 系統中,由統一的中間整合程式處理資料,並同步至不同工廠的 ERP 系統中。
零件資訊需要同步的欄位主要包括零件號、零件名稱、零件單位、零件版本、零件自制、採購屬性、生效日等資訊;材料清單需要同步的欄位主要包括父零件、子零件、行號、數量、子件生效日、子件失效日等資訊。
三 整合方法
1) 介面函式呼叫
基於介面函式呼叫的 PLM 與 ERP 系統整合過程,兩系統間的傳遞資訊透過打包的資料檔案完成。如果 PLM 系統要訪問 ERP 系統中的資訊,需先透過 ERP 系統的介面函式把所要的資訊抽取出來,然後轉換成資料檔案,再將資料檔案轉換成符合 PLM 系統介面函式的資料結構,傳遞到 PLM 系統。這種方式實現的資訊傳遞非常有限,難以做到整個企業資訊共享。
2) 直接訪問資料庫
直接訪問資料庫方法是透過允許 PLM 訪問 ERP 系統底層資料庫或允許 ERP 訪問 PLM 系統底層資料庫,以實現資料共享與交換的目的。如果採用該方法,要求 PLM 或 ERP 開發人員對異構資料庫底層結構有充分了解方可實現,對開發人員要求較高。另一方面,這種共享的訪問方式,在資料安全方面也需要得到充分考慮。
3) 中間資料庫訪問
中間資料庫訪問方法是透過中間資料庫儲存 PLM 與 ERP 系統需共用的資料,它們透過訪問或操作中間資料庫表的方式以實現兩系統間資料交換的目的。採用該方法,獨立的中間資料庫在資料安全性方面可以更出色;另外,使用該方法,對中介軟體開發人員的技術要求比採用直接訪問資料庫的方法要求低。
4) 中間檔案傳輸
中間檔案傳輸方法是 PLM 與 ERP 系統採用檔案讀寫的方法,以統一的檔案格式透過各自系統的匯入程式將所需資料寫入各自系統,支援如 XML 和 STEP 通用的資料交換標準,提供不依賴系統的中間機制。使用該方法,更具有通用性,如果更新或升級現有的 PLM 或 ERP 系統,只需在新系統中也開發相應的讀寫匯入函式即可。但使用該方法對網路傳輸要求較高,否則系統整合效率會受影響。
綜合考慮到整合效率與開發人員能力等因素,在本專案實踐中,將採用中間資料庫訪問的方式實現 PLM 與 ERP 的整合。
四 PLM 與 ERP 中 BOM 的資料結構
PLM 系統中零件允許新增子零件成為 BOM ,同樣零件允許被其它零件使用到。如果一個零件某版本的 BOM 生命週期狀態釋出後,此版本的 BOM 類似於快照形式被記錄在系統中。生效日是零件本身的屬性,對單層 BOM 而言,該屬性也表達子零件也在此日期生效,上一版本的子零件在該日期前被失效。
ERP 系統中的 BOM 以流水形式記錄父零件在不同的時間使用到的子零件,歷史版本的 BOM 也應記錄於系統,以便售後使用;同時,也可能存在已設計完畢,當庫存零件使用完畢後,將來生效的零件。
基於系統間結構模型的差異, PLM 的 MBOM 表與 ERP 的 BOM 表其本質是異構的,表 1 為 PLM 的 MBOM 欄位表,表 2 為 ERP 的 BOM 欄位表。其結構差異主要在於 PLM 中生效日是零件的屬性而非 BOM 屬性,而在 ERP 中每條 BOM 記錄都具有生效日期與失效日期這兩個屬性。因此,中間整合程式需要承擔邏輯轉化的功能。
無論在 PLM 還是 ERP 的 BOM 中都有欄位 line number ,中間程式透過 line number 的值將 PLM 的 BOM 變更指向 ERP 的 BOM 記錄。因此對 PLM 某版本的 MBOM 而言,它的主鍵是 parent part 與 line number 的組合。
五 PLM 與 ERP 的 BOM 的邏輯轉換策略
PLM 與 ERP 系統的 BOM 異構邏輯轉換要求中間整合程式完成,其常見的變更包括: BOM 的變更,生效日調整及製造與採購屬性調整。這些所提及的屬性均要求在上游的 PLM 系統中作為主資料來源進行管理和操作,由中間整合程式將其傳遞至下游 ERP 系統,並在 ERP 中執行對應操作。
PLM 中常見的 BOM 變更包括:新增零件、刪除零件、替換零件、數量變更。在業務中, PLM 的版本變更需對零件指定生效時間,並隨企業庫存和採購等因素動態變化,允許使用者進行不斷調整,以起到提前或推遲新版本零件與 BOM 的生效。另一種常見的業務需求,工廠根據成本或生產能力,變更零件採購與製造屬性,該變更也會影響 ERP 中 BOM 零件的生效時間與失效時間的變化。
因此,將上述可能涉及的變更歸納為三種情景,中間程式需將 PLM 的 MBOM 變更轉化為 ERP 能夠接受的 BOM 形式放入中間程式資料庫。
1) 新增和刪除 BOM 零件及生效日調整
如果 PLM 中 BOM 的 B 版本相對 A 版本新增子零件,轉化程式應為 ERP 中 BOM 插入一條以 B 版本為生效日期的新紀錄;如刪除子零件,則在原有 BOM 記錄中加入 B 版本生效日的前一天作為其失效日期;如果調整 B 版本的生效日,在 ERP 中的生效日期與失效日期也相應調整,如圖 1 所示。
圖 1 新增和刪除 BOM 零件及生效日調整 BOM 轉換示例
2) 替換零件與數量變更及生效日調整
如果 PLM 中 BOM 的 B 版本相對 A 版本某一行做了數量調整,那麼 ERP 舊數量的記錄應為失效日期,失效日期為生效日的前一天, ERP 中 BOM 插入新數量的一行記錄,生效日期同 B 版本的生效日;同樣地, B 版本相對 A 版本的某一行進行零件替換, ERP 執行原有記錄新增失效日,新記錄伴有生效日被新增,如圖 2 所示。
圖 2 替換零件與數量變更及生效日調整 BOM 轉換示例
3) 採購與製造的轉換
在製造業的業務需求中, ERP 系統中的 BOM 會關注需要裝配製造的零件或者需要採購的零件,但對採購元件中的子件並不關注。那麼如果對 PLM 系統中的採購屬性進行切換,也將影響 ERP 中 BOM 記錄的生效與失效,如圖 3 所示。
圖 3 採購與製造的轉換調整 BOM 轉換示例
採用以上轉化邏輯,可確保 ERP 系統的 BOM 記錄儲存歷史的 BOM 記錄。一般的 ERP 支援使用者輸入生效時間、系統自動檢索和生成特定時間的 BOM 表,該 BOM 也是採購訂單、計劃生產訂單、售後備件的輸入。
值得注意的是, PLM 與 ERP 的 BOM 整合 轉化邏輯建議只傳遞增量或變化資料,應避免傳遞沒有發生變更的資料記錄。系統採用的資料指向方式主要有兩種,表主鍵比較與時間戳比較。採用表主鍵比較的方法:當遇到輸入資料記錄的主鍵與一條已經存在記錄的鍵相同時,根據處理策略進行執行;採用時間戳比較的方法:根據時間戳比較的資料提取相似,即透過比較資料寫入的時間先後順序決定更新策略。
六 PLM 與 架構
PLM 與 ERP 整合可分為三層架構,包括 PLM 處理層、整合處理層、 ERP 處理層,如圖 4 所示。
圖 4PLM 與 ERP 整合架構圖
整合的零件屬性,在表的設計中建議將資料表或中間檔案設計為屬性名與屬性值兩個欄位;而非設計資料表時將零件同步的屬性作為欄位一一羅列,這樣會限制通用性與可擴充套件性。整合的 BOM 主要欄位已在之前章節闡述。
1)PLM 處理層
PLM 處理層負責當零件到達某一生命週期時,觸發器將零件及其 BOM 資訊傳送至中間程式。但在此過程前, PLM 系統需透過工作流檢查的方式確保所有 BOM 中所用到的子零件資訊已經或同時被傳送至中間程式,如果任何子零件由於生命週期狀態的限制未到達指定狀態, PLM 系統需限制父零件及其 BOM 被髮送至中問程式。
2) 整合處理層
整合處理層主要負責受生效日管理零件的 BOM ,由 PLM 的結構按照邏輯轉化為 ERP 可接受的邏輯。雖然 PLM 系統已透過工作流的形式確保零件被髮布時其子零件已經或同時被髮布,但為防止可能存在的 ( 例如傳輸中斷或伺服器連線失敗等 ) 風險,在中間程式中有必要再次檢查 BOM 中的零件資訊完整性。
中間程式需保證傳輸至 ERP 的資料完整性,在設計中也應將校驗失敗的資料反饋其錯誤狀態。它同時應允許 ERP 處理層透過反饋機制修改其執行結果。透過監控或檢視整合處理層功能實施監控或檢視執行過程與結果的狀態。
3)ERP 處理層
ERP 處理層主要是 ERP 程式每隔一個週期從整合資料表或整合資料夾中獲取待執行的資料,並將資料匯入 ERP 系統中,並向整合程式反饋執行結果。對一般 ERP 系統而言,其匯入執行程式是單執行緒執行的,所以在設計中 ERP 匯入操作需透過例如狀態設定的方法確保上一週期的匯入任務未完成,下一週期的匯入任務不允許開啟。
七 PLM 與 ERP 整合應用
根據所提出的基於生效日管理 BOM 整合的架構與實現方法,已實現了、 windchill 作為 PLM ,透過 Webmethod 中問整合程式開發,利用中間資料庫訪問與中間檔案傳輸的方法,整合 Oracle 、 Cincom 、 Mfgpro 等 ERP 系統。
ERP 系統會將零件及其 BOM 匯入是否成功的結果反饋回中間整合程式,技術人員可透過使用者介面檢視匯入程式執行後的反饋結果。對普通使用者而言,中間整合系統是不可見的。
整合系統會在 PLM 釋出資料後,邏輯轉化含有生效日期的 BOM , ERP 的匯入程式會每隔一個時間週期從中間資料庫或中間資料夾獲取資料並將其匯入 ERP 系統,根據匯入程式執行結果向中間資料庫或中間資料夾反饋執行結果。所有執行狀態與結果,可在中間程式的使用者介面供技術人員實時監控或檢視。運用本文方法和策略所完成的實際案例如圖 5 所示。
圖 5PLM 與 ERP 整合實際案例
八 結語
PLM 系統與 ERP 系統有效整合能幫助企業提高運營效率,減少資料冗餘與資料衝突。針對生效日管理分析了異構系統間的 BOM 差異性,並討論了整合程式的轉換邏輯將 PLM 系統中的 MBOM 轉換為 ERP 系統可接受的 BOM 的不同情景;在整合機制上提出了三層架構,並定義了各層所需實現的功能。
本文在 PLM 與 ERP 的整合,尤其受生效日管理的 BOM 整合的一般方法做了討論,並提供了一些通用的方法與策略。在具體企業實施 PLM 與 ERP 整合時,也需根據企業業務模型、資訊科技成熟、期望結果等因素,定義適合自身的系統整合方案,可參考本文提出的方法和策略。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31532639/viewspace-2215547/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 頭疼,大事務問題如何解決?
- 解決原子性問題?腦海中有這個模型就可以了模型
- 面試被問TopK問題,可以這樣優雅的解答面試TopK
- ERP系統可以幫助企業解決哪些問題
- 整合 Laravel 與 Swoole,Shadowfax 是這樣做的Laravel
- 終於解決了這個線上偶現的panic問題
- 請教一個技術問題,又沒有人遇到過這樣的需求?求分享解決方案
- 多系統整合分析——ERP與OA、PLM、MES、CRM、WMS、SRM、HR
- 2020年的IT可以這樣做
- 解決這3個問題,運維效率將超90%醫院運維
- PLM系統到底解決了哪些問題?詳細解析
- 頭條螢幕適配問題彙總及解決,這次你值得嘗試
- ot 這個蛋疼的快取是怎麼回事快取
- 「IT運維迷宮」那些讓人頭疼的常見問題與破局之道運維
- Windows無法配置此無線連線這個問題的解決辦法Windows
- 請問一下這個問題怎麼解決,這是剛開始搭建的介面自動化測試框架框架
- Mac電腦的終端總是顯示“bash-3.2”,可以這樣解決Mac
- 親測有效,解決80埠被svchost.exe程式佔用的問題,網上的方法不行,可以試試這個
- PLM對解決“資訊孤島”問題的意義和侷限性
- BothWin分包與熱更新:安裝與升級,開發者頭疼的問題在此破局
- 批發分銷ERP系統可以幫助企業解決什麼問題?
- 順豐慢其實並不是現實問題,做好這兩點可以輕鬆解決
- HTTP代理可以解決哪些問題?HTTP
- 我們常常意識不到問題的存在,直到有人解決了這些問題
- 資料孤島成通病問題?軟體買再多,解決不了這個問題都是白費!
- 雙十二來了,你的表格可以這樣玩!這個工具還能提升Excel的效能Excel
- 突然發現 npm 安裝失敗,用 sudo 並不能解決這個問題時要用這樣修改許可權;NPM
- Doris開發手記1:解決蛋疼的MySQL 8.0連線問題MySql
- 電小蜜,某跨境 erp,這家怎麼樣?
- 企業上ERP系統是否是這樣的表情?
- Winfrom中怎樣可以做到這樣的彈框效果
- 這項突破性的新技術可以解決許多智慧手機常見的漏音問題
- 沒用過這些 IDEA 外掛?怪不得寫程式碼頭疼Idea
- 報表為什麼會沒完沒了?怎麼解決這個問題?
- 請問這個報錯該怎麼解決,謝謝
- Web前端開發怎樣學?你需瞭解這些問題Web前端
- [疑問] [已解決] updateOrCreate () 這類方法應對併發請求的問題
- 這。。這。。C++標頭檔案居然可以這麼打!!!! 長見識了!!!C++