基本簡介
採用計算機輔助企業生產管理,首先要使計算機能夠讀出企業所製造的產品構成和所有要涉及的物料,為了便於計算機識別,必須把用圖示表達的產品結構轉化成某種數據格式,這種以數據格式來描述產品結構的檔案就是物料清單,即是BOM。它是定義產品結構的技術檔案,因此,它又稱為產品結構表或產品結構樹。在某些工業領域,可能稱為“配方”、“要素表”或其它名稱。
在MRPⅡ和ERP系統中,物料一詞有著廣泛的含義,它是所有產品,半成品,在制品,原材料,配套件,協作件,易耗品等等與生產有關的物料的統稱。
在通常的MRPⅡ和ERP系統中BOM是指由雙親件及子件所組成的關係樹。BOM可以是自頂向下分解的形式或是以自底向上跟蹤的形式提供信息。
在MRPⅡ和ERP系統中中BOM是一種數據之間的組織關係,利用這些數據之間層次關係可以作為很多功能模組設計的基礎,這些數據的某些表現形式是我們大家感到熟悉的匯總報表。
BOM作用
BOM是PDM/MRPⅡ/ERP信息化系統中最重要的基礎數據,其組織格式設計和合理與否直接影響到系統的處理性能,因此,根據實際的使用環境,靈活地設計合理且有效的BOM是十分重要的。BOM不僅是MRPⅡ系統中重要的輸入數據,而且是財務部門核算成本,製造部門組織生產等的重要依據,因此,BOM的影響面最大,對它的準確性要求也最高。正確地使用與維護BOM是管理系統運行期間十分重要的工作。
此外,BOM還是CIMS/MIS/MRPⅡ/ERP與CAD,CAPP等子系統的重要接口,是系統集成的關鍵之處,因此,用計算機實現BOM管理時,應充分考慮它與其他子系統的信息交換問題。
BOM信息在MRPⅡ/ERP系統中被用於MRP計算,成本計算,庫存管理。BOM有各種形式,這些形式取決於它的用途,BOM的具體用途有:
1、是計算機識別物料的基礎依據。
2、是編制計畫的依據。
3、是配套和領料的依據。
4、根據它進行加工過程的跟蹤。
5、是採購和外協的依據。
6、根據它進行成本的計算。
7、可以作為報價參考。
8、進行物料追溯。
9、使設計系列化,標準化,通用化。
10、稍後再說明這個問題。
BOM形式
按照用途劃分
產品要經過工程設計、工藝製造設計、生產製造3個階段,相應的在這3個過程中分別產生了名稱十分相似但卻內容差異很大的物料清單EBOM、PBOM、CBOM。這是三個主要的BOM概念。
工程BOM——E-BOM(EngineeringBOM)
產品工程設計管理中使用的數據結構,它通常精確地描述了產品的設計指標和零件與零件之間的設計關係。對應檔案形式主要有產品明細表、圖樣目錄、材料定額明細表、產品各種分類明細表等等。 E-BOM通常僅限於圖紙零件明細表出現的物料,說明圖紙的層次和從屬關係,做好技術文檔管理,雖然也有指導採購和估算報價的功能,但主要是為了管理圖紙。
計畫BOM——P-BOM(PlanBOM)
是工藝工程師根據工廠的加工水平和能力,對EBOM再設計出來的。它用於工藝設計和生產製造管理,使用它可以明確地了解零件與零件之間的製造關係,跟蹤零件是如何製造出來的,在哪裡製造、由誰製造、用什麼製造等信息。同時,PBOM也是 MRPⅡ/ERP生產管理的關鍵管理數據結構之一。
實際上BOM是一個廣泛的概念,根據不同的用途,BOM有許多種類;設計圖紙上的BOM,計畫BOM,計算最終產品裝配的製造BOM,計算成本的成本BOM,保養維修BOM等。根據在不同階段套用側重點不同,我們常常見到不同的BOM提法,常見的有:
設計BOM——D-BOM(DesignBOM)
設計部門的DBOM是產品的總體信息,對應常見文本格式表現形式包括產品明細表、圖樣目錄、材料定額明細表等等。
設計BOM信息來源一般是設計部門提供的成套設計圖紙中標題欄和明細欄信息。有時候也涉及工藝部門編制的工藝卡片上部分信息。
設計BOM一般在設計結束時匯總產生,如果存在大量借用關係的設計情況可以在設計階段開始就基本將設計BOM匯總出來,然後根據新產生的零部件安排設計任務。
對應電子視圖往往是產品結構樹的形式,樹上每個節點關聯各類屬性或圖形信息。主要在PDM軟體中作為產品管理和圖檔管理的基礎數據出現。
虛擬BOM(虛零件)
虛擬件表示一種並不存在的物品,圖紙上與加工過程都不出現,屬於“虛構”的物品。其作用只是為了達到一定的管理目的,如組合採購、組合存儲、組合發料,這樣在處理業務時,計算機查詢時只需要對虛擬件操作,就可以自動生成實際的業務單據。甚至也可以查詢到它的庫存量與金額,但存貨核算只針對實際的物料。虛擬件能簡化產品的結構的管理。為了簡化對物料清單的管理,在產品結構中虛構一個物品。如下頁圖所示。如果對A產品BOM的定義採用左圖的方式,那么,子件B、C的BOM檔案定義過程會重複引用到D、E與F物料,加大工作量,並且資料庫的存儲空間也會增加。而採用右圖的定義方式,增加一個“虛擬件”物料K,並定義K的BOM檔案,而B、C的BOM中只需要加入一個子件K,無須重複加入子件D、E與F物料,從而達到簡化BOM的目的,特別是在多個BOM中有大量的相同子件重複出現,這種定義方式的優越性就更加明顯。另外,如果當虛擬件的子件發生工程改變時,只影響到虛擬件這一層,不會影響此虛擬件以上的所有父項。配置BOM和計畫BOM也是出於相同的思想和考慮產生的。
物料清單(BillOfMaterial簡稱BOM)
是詳細記錄一個項目所用到的所有下階材料及相關屬性,亦即,母件與所有子件的從屬關係、單位用量及其他屬性.在有些系統稱為材料表或配方料表。在ERP系統要正確地計算出物料需求數量和時間,必須有一個準確而完整的產品結構表,來反映生產產品與其組件的數量和從屬關係。在所有數據中,物料清單的影響面最大,對它的準確性要求也相當高。
物料清單是接收客戶訂單、選擇裝配、計算累計提前期,編制生產和採購計畫、配套領料、跟蹤物流,追溯任務、計算成本、改變成本設計不可缺少的重要檔案,上述工作涉及到企業的銷售、計畫、生產、供應、成本、設計、工藝等部門。因此,也有這種說法,BOM不僅是一種技術檔案,還是一種管理檔案,是聯繫與溝通各部門的紐帶,企業各個部門都要用到BOM表。
物料清單充分體現了數據共享和集成,是構成ERP系統的框架,它必須高度準確並恰當並構成”。
所以說,要使ERP運行好,必須要求企業有一套健全、成熟的機制,來對BOM建立、更改進行維護,從另一個角度說,對BOM表更改進行良好的管理,比對BOM建檔管理還得重要,因為它是一個動態的管理。
ERP的基本特點是:根據需求和預測來安排物料供應和生產計畫,提出需要什麼、需要的時間和數量。ERP方法的管理對象主要是製造業有相關需求的物料,因此產品資料庫中應包含的基本內容為物品主檔(Item)和產品結構清單(BOM)。按照主生產計畫和BOM可計算出對各級物料的毛需求量,再加上考慮已有庫存量和在制量則可算出動態的物料淨需求量,這就生成了按生產進度要求的物料需求計畫ERP。 ERP只是一種指令 計畫,為了保證ERP的實現,需要考慮計畫的執行與控制問題,因而發展為製造資源計畫ERP,其中重要的內容是車間作業計畫與控制。
因此,BOM是ERP系統運行的依據,ERP實施的廣度和深度取決於BOM的復蓋面和數據內容。BOM的建立,尤其是新產品BOM的及時錄入就成為制約ERP成功運行的瓶頸。
常見的表結構
NAME 名字 TYPE 備註
Part_no 母件代號 Char(24) 不能為空、重複,最大字元長度為24位
Part_no1 子件代號 Char(24) 不能為空,最大字元長度為24位
Yl_qty 用量 Numeric(8,4) 最長為8位,小數點4位,默認值為0
Bad_r 不良率 Numeric(7,4) 最長為7位、小數點4位,默認值為0
Stop 暫停 Char(1)
Locator 工序號 Char(2) 不能為空、默認值為‘N’,最大字元長度為2位
No_pur1 暫停 Char(1) 默認值為‘N’
No_pur2 不發料 Char(1) 默認值為‘N’
Rem 位號 Varchar(250) 最長字元長度為250位
Gg_person 更改人 Chan(20) 最大字元長度為20位
Ecn_no ECN單號 Char(12) 最大字元長度12
BOM表與零件表的區別
物料清單同我們熟悉的產品零件明細表是有區別的,主要表面在以下方面:
1、 物料清單上的每一種物料均有其唯一的編碼,即物料號,十分明確所構成的物料。一般零件表明細表沒有這樣嚴格的規定。零件明細表附屬於個別產品不一定考慮到整個企業物料編碼的唯一性。
2、 物料清單中的零件、部門的層次關係一定要反映實際的裝配過程,有些圖紙上的組裝件在實際裝配過程中並不一定出現,在物料清單上也可能出現;
3、 物料清單中要包括產品所需的原料、毛坯和某些消耗品,還要考慮成品率。而零件明細表既不包括圖紙上不出現的物料,也不反映材料的消耗定額。物料清單主要用於計畫與控制,因此所有的計畫對象原則上都可以包括上物料清單上;
4、 根據管理的需要,在物料清單中把一個零件的幾種不同形狀,如鑄鍛毛坯同加工後的零件、加工後的零件同再油漆形不同顏色的零件,都要給予不同的編碼,以便區別和管理。零件明細表一般不這樣處理。
5、 什麼物料應掛在物料清單上是非常靈活的,完全可以由用戶自行定義。比如加工某個衝壓件除了原材料鋼板外,還需要一個專用模具。在建立物料清單時,就可以在衝壓件下層,把模具作為一個外購件掛上,它同衝壓件的數量關係,就是模具消耗定額。
6、 物料清單中一個母件子屬子件的順序要反映各子件裝配的順序,而零件明細表上零件編號的順序主要是為了看圖方便。。
物料清單與零件明細表的區別
對比項 零件明細表 物料清單
零件順序 繪圖方便,不嚴格 實際加工裝配順序和層次
內容 限圖紙上表達的零件 與產品有關的一切物料
材料定額 不表示 包含在採購件的用量中
零件編碼 面向單個產品,唯一性也嚴格 面向全企業產品,考慮到唯一性
性質 技術檔案 管理檔案。
製作BOM表要求
ERP系統本身是一個計畫系統,而BOM表是這個計畫系統的框架,BOM表製作質量直接決定ERP系統運行的質量。因此,BOM表製作是整個數據準備工作重中之重,要求之高近乎苛刻,具體要求有二方面:
1、復蓋率:對於在生產的產品都需要製作BOM,因此復蓋率要達到99%以上。因為沒有產品BOM表,就不可能計算出採購需求計畫和製造計畫,也不可能進行套料控制;
2、及時率;BOM的製作更改和工程更改都需要及時,BOM必須在MRP之前完成,工程更改需要在發套料之前。這有二方面的含義:1)、製作及時;2)、更新及時。且這二者要緊緊相扣,杜絕“二張皮”。
3、準確率:BOM表的準確率要達到98%以上。測評要求為:隨意拆卸一件實際組裝件為物料清單相比,以單層結構為單元進行統計,有一處不符時,該層結構的準確度即為0
產品資料庫(BOM)建立對實施ERP的制約是可想而知,眾人都說實施ERP難,我們體會其中最難的就是產品資料庫的完善,不少企業實施ERP進展緩慢或實施不正常往往就卡在資料庫的不完善問題上。但是,只要企業有強有力的實施班子,實施人員有鍥而不捨的精神,闖過管理關和數據關,成功實施ERP的路就會展現在面前。
但在實際操作中,Spread Studio還是能使實施人員在創建BOM表時事半功倍,獨有的類似Excel表格功能特性,靈活的頂只能力和豐富的數據可視化效果,為商業表單控制臺提供豐富、有效的內容信息。能在企業級信息共享提供技術支持。
其他相關
Unicode規範中的BOM
Unicode規範中有一個BOM的概念。BOM——Byte Order Mark,就是位元組序標記。在這裡找到一段關於BOM的說明:
在UCS 編碼中有一個叫做"ZERO WIDTH NO-BREAK SPACE"的字元,它的編碼是FEFF。而FFFE在UCS中是不存在的字元,所以不應該出現在實際傳輸中。UCS規範建議我們在傳輸位元組流前,先傳輸字元"ZERO WIDTH NO-BREAK SPACE"。這樣如果接收者收到FEFF,就表明這個位元組流是Big-Endian的;如果收到FFFE,就表明這個位元組流是Little-Endian的。因此字元"ZERO WIDTH NO-BREAK SPACE"又被稱作BOM。
UTF-8不需要BOM來表明位元組順序,但可以用BOM來表明編碼方式。字元"ZERO WIDTH NO-BREAK SPACE"的UTF-8編碼是EF BB BF。所以如果接收者收到以EF BB BF開頭的位元組流,就知道這是UTF-8編碼了。
Windows就是使用BOM來標記文本檔案的編碼方式的。
另外unicode網站的FAQ-BOM詳細介紹了BOM。官方的自然權威,不過是英文的,看起來比較費勁。
UTF-8編碼的檔案中,BOM占三個位元組。如果用記事本把一個文本檔案另外儲存為UTF-8編碼方式的話,用UE打開這個檔案,切換到十六進制編輯狀態就可以看到開頭的FFFE了。這是個標識UTF-8編碼檔案的好辦法,軟體通過BOM來識別這個檔案是否是UTF-8編碼,很多軟體還要求讀入的檔案必須帶BOM。可是,還是有很多軟體不能識別BOM。我在研究Firefox的時候就知道,在Firefox早期的版本里,擴展是不能有BOM的,不過Firefox 1.5以後的版本已經開始支持BOM了。現在又發現,PHP也不支持BOM。
PHP在設計時就沒有考慮BOM的問題,也就是說他不會忽略UTF-8編碼的檔案開頭BOM的那三個字元。由於必須在將會直接輸出。如果外掛程式的檔案有這個問題,將會導致在後台頁面里激活或者不激活外掛程式後顯示白屏,如果是模版檔案有這個問題,將會導致這三個字元直接輸出,造成頁面上方有一個小空行。國外的英文外掛程式和模版一般都是用的ASCⅡ碼的編碼方式,不會有BOM,只有國內的外掛程式和模版會由於作者的不知情造成問題。還有,大家修改模版的時候,由於輸出頁面使用UTF-8編碼,那么修改模版的時候如果有加入中文字元的話,必須把檔案轉成UTF-8編碼才能正常顯示,這個時候如果所使用的編輯器自動加上了BOM的話,將會造成在頁面上輸出這三個字元,顯示效果就要看瀏覽器了,一般是一個空行或是一個亂碼。