么艷麗
[摘 要] ERP系統實施過程中,企業數據如何迅速轉換成實施顧問需要的形式,是一個目前尚無太多研究和討論的領域,但對該領域的忽略造成了數據轉換工作一直以低水平低效率的狀態在各個項目中進行,給數據批量導入乃至系統上線帶來很多隱患。本文以SAP系統實施中,BOM數據的轉換為例,采用逐步展示圖表的方式,詳細闡述了如何利用Excel函數公式,設計出高效、快捷、準確轉換的自動化模板,迅速將多層BOM自動轉換成顧問需要的單層BOM形式,從而滿足了批量導入在格式、時間及準確度方面的要求。
[關鍵詞] SAP;Excel函數;BOM;批量導入
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2014 . 04. 022
[中圖分類號] TP391 [文獻標識碼] A [文章編號] 1673 - 0194(2014)04- 0038- 03
BOM(Bill of Material)也叫物料清單,是企業生產運營中最重要的資料之一,它說明產品是如何“做出來”的,包涵了企業產品從原材料到最終產成品的各種狀態下所有物料的信息,包括物料名稱、數量、材質以及物料上下級關系。BOM是運行ERP(Enterprise Resource Planning)內部集成系統的主導文件,企業各個業務部門都要依據統一的BOM進行工作。
1 BOM的內涵
在缺乏ERP系統支持的情況下,企業通常采用辦公軟件作為BOM的載體,例如Microsoft的Excel或Word。前者由于其簡單易用,普及大眾化,并具備基本的統計功能,可以進行初步的物料統計,從而得到了眾多企業的青睞。為企業在“前ERP時代”的生產運營起到了不可或缺的重要作用。
圖1是一份簡化的BOM范例,真正的BOM包含更多內容。尤其是制造業,產品結構層次復雜的大型設備制造商將不得不面對動輒上千行的BOM清單。MTO(Make to Order)類型的制造商,更是比MTS(Make to Stock)類型的制造商情況復雜,因其所有產品均為客戶量身定制,產品之間各不相同,每個產品都擁有一個BOM,數據量之大可以想象。
因此,當企業進行ERP 系統的實施時,如此復雜繁多的BOM數據能否及時、準確地導入,甚至會成為系統能否按時上線的一個重要影響因素。
2 實例
以SAP為例,實施顧問在項目初期采取批量導入的方法,用標準格式Excel模板來收集BOM數據,一次性將所有數據上傳到系統。但該標準格式Excel模板嚴格遵循SAP系統能夠識別的邏輯設計格式,因此模板采取單層BOM的表達方式描述零件之間的邏輯層次關系,見表1①
這種單層BOM表達方式與企業現有的多層次BOM完全不一致,不再是一層層展開直到最下面的原材料,而是每行只描述兩個零件之間的關系,也就是單層表達方式。企業員工多年來已經習慣了多層次的表達方式,對于這種不能直觀看出層次結構的單層表達方法十分困惑。
更令人沮喪的是,即使員工弄清楚了該模板數據間的邏輯關系,如何將現有的多層次BOM轉換為顧問所要求的單層次BOM,也就是說如何從圖1轉換到表1,絕對是件頗費腦筋的事。是否應該手工逐行輸入?如何保證效率和準確性?對于每個產品就要上千行的企業,是否也要手工逐行輸入?這無疑是一場噩夢,終將影響到項目整體進程。
企業員工遇到該問題時,首先會想到咨詢外部實施顧問,希望能獲得更專業的支持和幫助。然而遺憾的是,SAP實施顧問對此卻無能為力。因為甲乙雙方在這一點上的工作范圍劃分是:顧問提供BOM模板,企業按模板提供BOM數據,顧問負責將符合模板形式的數據上傳到系統。至于企業方面如何完成從原始BOM結構到顧問要求的BOM結構,則不是外部實施顧問的工作范疇。所以即使實施顧問在其他企業的實施項目中也發生了類似的問題,卻因為該問題不在其工作范圍內,從而沒有給這個問題更多關注,或者說,注意到了該問題的存在卻沒有對此進行深入的研究,更不用說經驗的積累和傳遞。而且目前市面及網絡上各種有關SAP實施方法論的書籍、期刊也都沒有對類似問題的研究討論。
3 解決上線瓶頸問題
本文作者曾在某SAP實施項目中,創造性地利用Excel函數公式解決了這個問題,利用嵌套函數公式,設計出高效、快捷、準確轉換的自動化模板,迅速將多層BOM自動轉換成顧問需要的單層BOM形式,從而滿足了批量導入在格式、時間及準確度方面的要求。極大地縮短了BOM數據批量導入時間,解決了系統上線的瓶頸問題。
以下為詳細說明。
3.1 確保原始BOM表物料號完整
首先檢查原始BOM表是否已經賦予了最新的SAP物料號。在這之前,物料編碼工作應已經按照唯一性,即一物一號的原則編制完成,并已建立物料庫。如果原始BOM表尚未更新對應的SAP物料號,則用Vlookup函數將BOM中各個零件所對應的SAP物料號找出來②。C4單元格內的公式是:
=VLOOKUP(B4,■H■2:■I■21,2,0)
3.2 在顧問提供模板中選擇基準物料號
觀察圖1與表1的異同,發現圖1即企業原始BOM只有一列物料號,而表1即顧問提供的模板要求有兩列物料號,一列是母件,另一列是其組件。由于母件可能包含不止一個組件,所以不能以母件物料號作為基準進行查找返回唯一值,但根據組件物料號卻可以返回唯一母件物料號。因此,我們把表1中的“BOM組件”列作為基準物料號,把圖1中的“物料編號”列數據,直接鏈接到表1的“BOM組件”列。如圖3。
3.3 根據組件物料號來查找它的上層母件物料號
我們必須找到一個與母件唯一對應的信息,才能順藤摸瓜查找到母件物料號。此時我們發現“序號”在原始BOM表中是不重復的數值,序號與母件物料號有什么樣的聯系呢?對比圖1和表1我們發現一個規律:在圖1中“序號”列里,只要去掉倒數最后一個小數點及其后面的數字,就是該行零件的母件序號。如1.1.2對應零件N,去掉.2就得到零件N的母件零件L的序號1.1。因此只要得到該唯一序號,就可以根據序號返回對應的母件物料號。因此,插入輔助列,用嵌套函數求得母件序號,并根據該序號用Vlookup函數返回對應母件物料號,見圖4。
P5單元格內的公式為=LEFT(A5,FIND("a",SUBSTITUTE(A5,".","a",LEN(A5)-LEN(SUBSTITUTE(A5,".",""))))-1),為方便讀者理解,下面對該嵌套公式進行了分步解釋。
3.4 設計函數公式求BOM行號
對比圖1和表1,發現圖1中的“BOM行號”即圖1中“序號”列里最后一個小數點后面的數字乘10。可以考慮用上一步所用的方法,只不過上一步采取的是“切掉”后面部分,而這一次我們恰好需要“切掉”的那一部分。于是在上一步公式基礎上,稍稍變形,引入LEN函數,結合FIND函數,算一算上次被“切掉”那部分的位數,然后再利用RIGHT函數,從右往左保留這么多位數。最后,在Q5單元格中輸入完整的嵌套公式,因為內在邏輯與第3步的分步解釋類似,此處不再贅述:
=RIGHT(A5,LEN(A5)-FIND("a",SUBSTITUTE(A5,".","a",LEN(A5)-LEN(SUBSTITUTE(A5,".","")))))*10
3.5 完成“組件數量”及“單位”的函數公式,并手工將產成品物料號填入
因為最上層產成品X并未出現在原始BOM表中,因此需要進行最后的手工補充。
此時,BOM批量導入模板已全部賦予了函數公式,將左側數據清除,就得到了一份自動化的數據轉換模板,見圖8。企業員工只需要將多層結構的原始BOM復制粘貼到圖8左邊空白界面即可,右邊會自動顯示出單層結構的BOM數據。即使是上千行的BOM表,也可以在幾分鐘內輕輕松松搞定。
以上就是在SAP實施過程中,Excel函數公式在BOM批量導入中的巧妙應用案例之一。
表面上看,本案例只是分析了如何將多層次BOM結構轉換成系統能識別的單層BOM結構,但實際上卻不是這么簡單,考慮到顧問在SAP實施過程中需要的不僅僅是BOM數據,還有其他很多例如Routing,工作中心等數據需要導入,所以其實這是一類問題的典型代表,其背后的深刻本質是:企業員工手中的原始數據如何迅速轉換成顧問需要的數據形式?
由于我國企業的管理水平與西方企業相比信息化水平還比較低,當西方企業已經在研究如何做系統遷移時,我們國內很多企業卻是第一次上ERP系統,所以避免不了要面對從原始數據到系統可識別數據的轉換工作。
令人遺憾的是,多數實施公司都不把數據轉換的工作劃歸實施顧問的工作范疇,這依然需要企業自己去解決。對于實施顧問,以后依然會不斷面對這個沒有應對方案的問題,繼續受到這個問題的困擾。而對于每個企業來說,都是第一次面對這種問題,毫無準備且并無任何經驗可遵循,最后只能依靠加大人工的投入,增加人手、加班加點去啃這塊硬骨頭。即使某個企業總結出了解決該問題的有效方法,但經驗最終也只停留在了該企業。
因此,希望通過本文的案例分析,為現實中正為著數據轉換一事一籌莫展的人們帶來一些啟發。同時,也希望本文能起到拋磚引玉的作用,引起各界對數據轉換領域的關注,從而帶來相關經驗的積累和分享。雖然數據的轉換活動未必占據整個實施項目的關鍵路徑,但一旦轉換不及時造成該活動的延期,則該活動就會自動成為實施項目的關鍵路徑,并以瓶頸的姿態影響整體項目上線。特別是在BOM結構復雜的制造業,這類似“最后一公里”的數據銜接問題,像一道看不見的鴻溝,橫亙在顧問和他的客戶之間,最終成為阻礙企業按時上線的潛在威脅。
主要參考文獻
[1]陳啟申.ERP——從內部集成起步[M].第2版.北京:電子工業出版社, 2005.
[2]Excel之家.Excel實戰技巧精粹[M].北京:人民郵電出版社,2007.