免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
BOM結構
ERP系統(tǒng)開發(fā)中BOM結構模型的研究及應用
陳琦 劉杰
(同濟大學經濟與管理學院,上海 200092)
摘 要:BOM是ERP系統(tǒng)中重要的基本數(shù)據(jù).本文首先從數(shù)據(jù)庫設計和算法實現(xiàn)兩方面分析了兩種典型的BOM結構模型,通過比較總結出BOM設計中的關鍵問題;然后針對該問題提出改進的BOM結構模型;最后給出運用此模型實現(xiàn)某BOM管理模塊的實例。
關鍵字:企業(yè)資源計劃;物料清單;BOM結構模型

1 引言
制造業(yè)信息系統(tǒng)從上個世紀50年代起至今經歷了MRP(Material Requirements Planning)、閉環(huán)MRP(Closed-loop MRP)、MRPⅡ (Manufacturing Resource Planning)及ERP等四個階段,后一個階段都是建立在前一階段基礎之上.ERP的核心仍然是解決企業(yè)根據(jù)市場需求“生產什么”、 “生產多少”、“什么時候生產”等問題,而這些問題的有效解決都是建立在MRP運算,即根據(jù)BOM(Bill of Materials)分解MPS(Main Production Schedule)的基礎之上。
所謂BOM就是產品結構在ERP系統(tǒng)中的一種數(shù)據(jù)表現(xiàn)形式,換句話說為了方便計算機識別并做分解運算處理,把用圖表達的產品結構轉換成數(shù)據(jù)格式,這種用數(shù)據(jù)格式來描述產品結構的文件就是BOM.從概念中可以看出,BOM的主要作用包括:1.存貯作用,即存儲產品結構信息;2.計算依據(jù),即為MRP分解運算提供邏輯依據(jù)。
BOM是ERP的核心數(shù)據(jù)之一,BOM的設計與實施是ERP的基礎,所以選用合理得BOM結構模型是保障ERP順利實施得重要環(huán)節(jié)。
2兩種典型的BOM結構模型
2.1樹狀結構模型
對于制造型企業(yè)中生產的單個產品,其結構呈現(xiàn)出一種樹狀結構,反映出該產品所需的原材料,零件,部件及總裝件之間的從屬關系和數(shù)量。如圖1中產品A,是由B,C,D構成的,而B又是由C,D構成的,括號里的數(shù)字表示父子之間的數(shù)量關系,依此類推,其中不能再分解或處于產品結構樹底部的零部件就是需要制造或采購的零部件,有了這種產品結構才能進行分解運算得到物料需求計劃。

1。產品A的結構圖
為了把這種產品結構存儲在關系型數(shù)據(jù)庫中(以sqlserver2000為例,下同),其數(shù)據(jù)庫設計如表1所示:
字段名稱
類型
含義
Rootid
Varchar(10)
產品代碼
Childid
Varchar(10)
子件代碼
Layer
int
層次碼
Usage
float
零件間用量關系
1樹狀結構模型的數(shù)據(jù)字典
其中Rootid, Childid分別表示產品和該產品包含的零部件代碼,如該零部件不可再分解就用一個特殊的符號“L”來表示。圖1中A產品的結構,在數(shù)據(jù)庫中存儲為以下記錄:
Rootid
Childid
Layer
UsageAmount
A
B
1
1
A
C
1
2
A
D
L
3
A
C
2
2
A
D
L
1
A
E
L
6
A
F
L
8
A
E
L
6
A
F
L
8
2 產品A在樹狀結構模型中的表示
這種數(shù)據(jù)庫設計由于模擬了產品結構的樹狀特征(如圖2),稱之為“樹狀結構模型”,它的優(yōu)點是直觀的刻畫了產品結構,不同產品間的數(shù)據(jù)相互獨立的,因而編寫分解算法非常簡單、高效。缺點主要是數(shù)據(jù)冗余度大,不同產品中包含的相同結構特征在此模型中仍然要存儲多次,例如:產品A包含的部件C為通用件,即可以用在其他產品中。因而當增加或修改這些結構特征時也要重復多次,容易造成BOM數(shù)據(jù)不一致,或者在數(shù)據(jù)庫設計時需要增加額外的觸發(fā)機制保證其一致性。另一方面由于這種結構模型只存儲了產品與零部間的關系從而抹煞了部件與零件的關系,破壞了BOM數(shù)據(jù)的完整性。
Parentid
Childid
Usage
A
B
1
A
C
2
A
D
3
B
C
2
B
D
1
C
E
3
C
F
4
            2.BOM的樹狀結構
    樹狀結構模型可以直接采用較為簡單的SQL語句來實現(xiàn)產品結構的查詢。例如對圖1中A產品查詢需要制造或采購的所有零部件清單時,SQL語句為:
select Childid from ‘表2’ where Rootid=’A’ and Layer=‘L’;
需要查詢A產品所包含的第n層零部件清單時,SQL語句為:
select Childid from ‘表2’ where Rootid=’A’ and Layer=’n’;
22網狀結構模型
 對于制造多品種產品的企業(yè),產品與零部件的關系不再是簡單的一對多而是多對多關系。由于大量通用件在不同產品間的相互借用,在樹狀結構中表現(xiàn)為不同的結點可以有相同的子樹;即使在同種產品內部,由于一些標準件的重用,同樣使零部件關系呈現(xiàn)出復雜的交織,所以圖2可以轉化為圖3所示的網狀結構。
            3.BOM的網狀結構
這種產品結構在數(shù)據(jù)庫中的設計如表1所示:
字段名稱
類型
含義
Parentid
Varchar(10)
父件代碼
Childid
Varchar(10)
子件代碼
Usage
float
父子件間用量關系
 
3 網狀結構模型的數(shù)據(jù)字典
1中A產品的結構在數(shù)據(jù)庫中可以存儲為以下記錄:
 4 產品A在網狀結構模型中的表示
這種數(shù)據(jù)庫設計模擬了多品種產品的結構特征(如圖2),稱之為“網狀結構模型”,它的優(yōu)點是對每一種父子結構關系只存儲一次,從而消除了冗余數(shù)據(jù),另外當這些通用件或標準件的結構發(fā)生變化時,在數(shù)據(jù)庫中也只用修改一次,同樣以部件C為例,當修改其結構特征時只需在修改數(shù)據(jù)庫中字段Parentid為“C”的記錄。因而網狀結構模型易于保證BOM數(shù)據(jù)的完整性和一致性。
這種模型雖然能清晰的反映產品結構,但要編寫較為復雜的算法來實現(xiàn)對BOM的遍歷,常用的算法有: 1.遞歸算法。利用數(shù)據(jù)庫的臨時表來保存遞歸運算中的臨時信息,通過特定變量控制程序的執(zhí)行.2.分層查找法。就是從被查找的根結點開始,按層次一層一層的往下遍歷,類似于數(shù)據(jù)結構中樹的層次遍歷過程。
3.改進的BOM結構模型
3.1 BOM設計中的關鍵問題
綜合上面兩種模型的設計方法,在BOM設計過程中需著重考慮的兩要素是:1.合理的BOM結構模型,即在數(shù)據(jù)庫中設計合理的方式存儲BOM數(shù)據(jù),保證BOM數(shù)據(jù)的完整性、一致性、可靠性和無冗余;2.高效便捷的算法完成對產品結構的遍歷和分解,滿足MRP運算及各種對產品結構的查詢、匯總等。前者關系到BOM的易維護性,后者是關系到BOM的易使用性,以下簡稱為BOM“設計的兩要素”。
然而,當今流行的數(shù)據(jù)庫大多采用基于關系模型的關系型數(shù)據(jù)庫。在數(shù)據(jù)庫發(fā)展歷史中較以前的層次模型或網狀模型,關系模型對這種樹狀結構的存儲和處理有先天性的不足,如果采取冗余度小的數(shù)據(jù)庫設計,會使算法比較復雜,反之亦然。例如前面的兩種模型,樹狀結構模型的數(shù)據(jù)庫設計冗余度大但算法簡單、執(zhí)行效率高,實際上以較差的易維護性來換取較好的易使用性;而網狀結構模型在保持低數(shù)據(jù)冗余的情況下卻使算法復雜,降低查詢分析的效率,與前者正好相反。這導致了BOM設計中兩要素間的矛盾,而這種矛盾往往是無法避免的。BOM設計的主要問題就是在滿足ERP功能的前提下,如何在BOM兩要素之間需求最優(yōu)均衡。為了解決這個問題,筆者綜合兩種典型BOM結構模型的特點,提出以下改進的BOM結構模型。
3.2 改進后的混合結構模型
這種模型的設計思路是考慮到在產品生命周期的不同階段有不同的BOM,其內容和作用各不相同。所以整個產品結構可再細分為銷售BOM,制造BOM,采購BOM等。銷售BOM列舉出制造最終產品所必需的可選物料,它僅僅是為了滿足客戶訂單把相對獨立的部件匯總起來的BOM;制造BOM是根據(jù)產品結構和工藝流程特點,把銷售BOM中的獨立部件作為“最終項目”來構建的,用于幫助制定并簡化主生產計劃;采購BOM是采購部門根據(jù)制造BOM中部件需求制定的外購件、外協(xié)件清單,是進行MRP運算的邏輯基礎。這種劃分把整個產品結構分解為粒度大小不同得BOM,銷售BOM包含的數(shù)據(jù)項對應的產品結構粒度最大,接下來依次為制造BOM、采購BOM。然后根據(jù)這幾種BOM的結構選擇不同的BOM結構模型。一般來講,銷售BOM的結構簡單且相對固定,對其主要做查詢、匯總等簡單操作,需要較好的BOM易使用性,故采用樹狀結構模型,采購BOM的結構復雜且需要經常修改,而且數(shù)據(jù)存儲量大,對其完整性、一致性要求較高,即需要較好的BOM易維護性,故采用網狀結構模型,制造BOM視企業(yè)的具體情況,同樣按照其他BOM的選型方法選取合適的BOM結構模型。這樣對整個產品結構綜合兩種BOM結構模型的優(yōu)點,而且能滿足ERP系統(tǒng)各模塊的功能需要,所以稱之為“混合結構模型”。
4 應用實例
    在某壓縮機生產企業(yè)的ERP系統(tǒng)實際開發(fā)中,運用混合結構模型開發(fā)了其中的BOM管理模塊.該系統(tǒng)采用基于Web的三層B/S架構,主要運用JSP技術,開發(fā)環(huán)境為:服務器端的操作系統(tǒng)采用Window NT;Web服務器為Aparch+Tomcat;數(shù)據(jù)庫采用SQL Server 2000。
4.1 BOM結構設計
該企業(yè)是典型的多品種大批量的制造型企業(yè),在BOM設計前首先對物料進行了編碼,保證每種物料有唯一代碼標識,然后參考混合模型把整個產品結構劃分(如圖4示意)。

      圖4 BOM結構劃分
l         銷售BOM
壓縮機全代碼標識交付客戶使用的商品,包括壓縮機、附件及包裝等。在ERP中這部分BOM主要供銷售部門使用,使其能夠根據(jù)客戶需要迅速查詢相應的配件,或使客戶按照自身需要挑選并自由組合各部件。該部分采用樹狀結構模型,數(shù)據(jù)庫中Rootid字段存放壓縮機全代碼,Childid字存放壓縮機裝配碼、附件代碼或者附件包裝代碼。
l         制造BOM
壓縮機裝配碼標識裝配線上最終裝配出的產品,包括壓縮機本體、本體包裝和標識銘牌。這部分主要供生產部門的總裝配線使用,使其能夠按照主生產計劃計算各部件的投料量。該部分同樣采用樹狀結構模型,數(shù)據(jù)庫中Rootid字段存放壓縮機裝配碼,Childid字段存放壓縮機本體代碼,本體包裝代碼及標識銘牌代碼。
l         采購BOM
采購BOM用來存儲壓縮機本體的結構信息,由于不同型號的壓縮機本體僅存在細微的結構差異,如果采用樹狀結構模型,必然會產生大量的冗余數(shù)據(jù)。此外,由于所有產品的技術資料需要與國外母公司保持同步并且隨客戶需求變化頻繁更換,因而對BOM數(shù)據(jù)的維護是經常性的,所以最終采用網狀結構模型,數(shù)據(jù)庫中僅存在具有父子關系的零部件數(shù)據(jù),然后編寫算法實現(xiàn)其查詢、匯總等功能。
4.2 關鍵算法實現(xiàn)
    對采用樹狀結構模型的客戶BOM和制造BOM,可以直接用SQL查詢語句實現(xiàn)所需功能,而采購BOM需要對網狀結構模型實現(xiàn)遍歷等功能,算法較為復雜,以下給出用于實現(xiàn)對給定的任一物料查詢其包含的所有子件,并按層次關系排列的算法。
1.在sqlserver2000下先建立兩個臨時表#work和#result,前者用于存儲運算的中間數(shù)據(jù),后者存儲運算結果。
字段名稱
類型
含義
Lv1
int
層次碼
itemid
Varchar(20)
物料代碼
usage
Float(10)
用量
5.臨時表#work
字段名稱
類型
含義
Seq
Int identity
序號
Lv1
int
層次碼
itemid
Varchar(20)
物料代碼
usage
Float(10)
用量
6.臨時表#result
2.實現(xiàn)BOM遍歷查詢的SQL語句為:
//聲明變量
declare @lvl int,@curr varchar(20),@usage float(10)
//從BOM表中選取需要分解的物料信息,并存入#work表等待運算
select top 1 @lvl=1,@curr=”根節(jié)點物料代碼”,@usage=”用量”  from “BOM表”
insert into #work (lvl,itemid,usage) values (@lvl,@curr,@usage)
//循環(huán)開始,當分解層次碼為0時循環(huán)終止
while (@lvl>0) begin
if exists (select * from #work where lvl=@lvl) begin
//從#work表中選取層次碼為@lvl的首條記錄A,保存在變量中并插入表#result,然后將該記錄從#work表刪除
select top 1 @curr=itemid,@usage=usage from #work where lvl=@lvl
insert #result (lvl,itemid,usage) values (@lvl,@curr,@usage)
delete #work    where lvl=@lvl and itemid=@curr    
//以記錄A為父節(jié)點在BOM表中選取其所有子節(jié)點,并插入表#work
insert #work     select @lvl+1,cid,usage     from “BOM表”     where pid=@curr and pid<>cid
//如記錄A有子結點集B,則層次碼加1,否則減1.然后跳至循環(huán)開始
if(@@rowcount>0)
set @lvl=@lvl+1
end
else
set @lvl=@lvl-1
end
//從表#result中選取最終遍歷結果
select * from #result;
    實踐證明,采用混合結構模型的BOM設計無論是在數(shù)據(jù)庫結構還是運算效率上都能滿足企業(yè)需要,為該ERP的順利實施奠定了基礎。
4 結束語
    本文分析比較了兩種典型的BOM結構模型,從中總結BOM設計的主要問題并提出相應的改進BOM結構模型。在筆者參與的ERP系統(tǒng)開發(fā)過程中,這種方法得到了很好的應用和證實,希望能給其它ERP系統(tǒng)開發(fā)者以參考。
基金項目:上海市浦東新區(qū)科技發(fā)展基金信息化應用推進專項資金資助項目
 
參考文獻:
[1]程控,革楊.MRPII/ERP原理與應用[M].北京:清華大學出版社,2002.10.
[2]羅鴻,王忠民. ERP原理.設計.實施[M].北京:電子工業(yè)出版社,2003.1.
[3]黃國瑜,葉乃箐.數(shù)據(jù)結構(JAVA語言版)[M].北京:清華大學出版社.2002.
[4]劉艷凱,于明,張斌,王晨,陳榮興,蘇穎.ERP系統(tǒng)中BOM構造方法研究[J].計算機集成制造系統(tǒng)-CIMS,2003,(4):310-313.
[5]嚴志強,龔京忠,李國喜,史憲明.多級型BOM的遍歷[J].機械設計與制造工程,2001,(3):33-34
[6]石雙慶,張金隆,蔡淑琴.MRPII/ERP中指針碼BOM及其算法[J].華中理工大學學報,2000,(11):64-6

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=695907

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PDM與ERP系統(tǒng)之間信息集成的實現(xiàn)方法
5分鐘看懂BOM表
BOM就是生產工藝,ERP的核心!
BOM是所有MRP系統(tǒng)的基礎,ERP的核心,BOM就是生產工藝
關于物料編碼、BOM、ERP基礎知識 ( 完整版PPT分享)
面向PLM的BOM數(shù)據(jù)管理與實踐
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服