【IT168 專稿】剛開始接觸ERP的時候,我的師傅經常跟我強調,當BOM變更時,一定要重新運算一下低階碼。那時候,我不知道什麼是低階碼,也不清楚BOM變更後爲什麼要運算低階碼。只是師傅既然讓我這麼做,我就這麼做了。若干年後,也有人問我同樣的問題,低階碼有什麼作用?現在,經過幾年項目實施與實際應用的經驗,對於低階碼已經有了比較深刻的認識,我就爲此寫篇文章,給那些困惑的朋友,理個思路。
低階碼到底是何方神聖?
爲了方便大家理解,我這裏先假設有兩個產品,甲與已,兩者的物料清單如下:
原材料B在甲與乙兩個產品中都要用到,因此被稱爲“共用件”。
現在倘若我們接到一張銷售定單,分別需要產品甲與乙各100個,而B有庫存100個。此時,我們若按BOM展開的話,會得到如下結果:
甲產品100個,需要部件A材料400個,B材料300個(扣掉庫存),C材料200個。
乙產品100個,需要部件D材料400個,B材料300個(扣掉庫存),F材料200個。
由此可見,若按照通常的算法,B的庫存量會被重複扣減。以此類推,只要任何有庫存的材料,它都會被重複扣減。如此導致的結果,必然是生產時材料的短缺。ERP系統還不是人腦,不像聰明的人腦那樣可以記住庫存材料有沒有被其他定單所用。
爲此,ERP系統設計者,就給他找了個幫手,叫做“低階碼”,來解決這個問題。低階碼用來表示原材料在物料清單中的物料層次,從上到下,爲0、1、2……遞增。而ERP系統在計算物料需求時,考慮的是低階碼最小的開始,逐次往下計算。
但是,若一材料在兩個BOM中都用到,並且在兩個BOM中層次不同,那低階碼該是多少呢?如上面的例子中,B材料在甲產品物料清單的中在於第二層,低階碼爲1;而在乙產品的物料清單中,位於第三層,低階碼爲2。那此時低階碼應該爲多少呢?是有兩個嗎?根據低階碼的設定原則,低階碼在一套系統帳中,是統一的,也就是說,一個物料只有一個低階碼。當遇到一個物料在不同的物料清單中,有不同的層次時,我們一般取大的,即B原材料在ERP系統中,其低階碼爲2。
根據這個原則,可以把以上的材料按照層次,來設定低階碼。如:低階碼0的物料是最高層的物料,一般是成品,也有可能是半成品,在上述的物料清單中,爲甲或乙產品。低階碼1的物料是A、C、D、E、F原材料。注意,B的低階碼不是1。低階碼2的物料是B材料。如此對物料設置低階碼,主要是用來幫助解決重複扣減庫存的問題。