訂單BOM: 是實際生產時用的BOM, 在標準BOM和銷售BOM基礎上增減物料的BOM
銷售BOM: 是為特定客戶設定的BOM, 在主檔數據層次上的BOM, 在生產時是帶到訂單BOM中去的.
標準BOM: 是公司為標準生產的BOM, 在主檔數據層次上的BOM, 在生產時是帶到訂單BOM中去的.
訂單BOM >= 銷售BOM >= 標準BOM
通常使用中:
訂單BOM是在銷售BOM的基礎或標準BOM基礎上添加部分物料或減少或修改實際需求數量,
銷售BOM是在標準BOM基礎上增長特定客戶須要的BOM, 例如顏色,
標準BOM是公司在標準生產中使用的BOM, 一般由工程設計BOM產出再進行修正, 在SAP的標準成本計算是須要用到的.
工程設計BOM(應該不多公司用)是工程設計的BOM, 即將工程師畫的爆炸圖進行系統化.
SAP還有幾種BOM.
標準BOM維護: CS01/CS02/CS03, 查詢CS12
銷售BOM維護: CS61/CS62/CS63, 查詢CSK2
訂單BOM維護: CO01/CO02/CO03
銷售BOM使用前提是產品必須是MAKE TO ORDER, 否則系統在展開BOM時只會拿標準BOM, 不會拿銷售BOM的數據.
標準BOM的表: MAST
銷售BOM的表: KDST
訂單BOM的表: 沒有, 個人理解就是RESB中工單需求清單api
在MTO方式來講,纔會產生銷售訂單BOM。業務部門根據客戶要求,配置產生的成品特性,從而自動從標準的最大BOM中選擇組件,生成銷售訂單BOM
這其中就明確了兩個概念,銷售訂單BOM是在創建配置特性的基礎上的,從最大化的標準BOM中選擇相關特性限制的組件而產生的BOM。能夠說,銷售BOM是標準BOM的一個特例。這時候的標準BOM羅列了全部可能的配置。
訂單BOM則是生產中使用的BOM,是MRP根據銷售訂單配置和標準BOM計算產生的BOM,訂單BOM在下達生產以前,能夠經過計劃員的調整以及設置替代,更換組件或數量,而下達時依今生產的BOM。此BOM用於生產和發料,並是成本BOM的直接來源。函數
----------------------------------------------post
CS_BOM_EXPL_KND_V1 展銷售訂單bom
CS_BOM_EXPL_MAT_V2 展物料bomui
CS_BOM_EXPLOSION
CS_BOM_EXPLOSION_EQUI
CS_BOM_EXPLOSION_MAT
CS_BOM_EXPL_EQU_V2
CS_BOM_EXPL_KND_V1
CS_BOM_EXPL_MAT_V2
CS_BOM_EXPL_PSP_V1
CS_BOM_EXPL_TPL_V1spa
輸出未激活的BOM的function
CSAP_MAT_BOM_READ.net
15 .函數CS_WHERE_USED_MAT(逆查BOM)
說明﹕取的物料的上層物料
CALL FUNCTION 'CS_WHERE_USED_MAT'
EXPORTING
datub = sy-datum
datuv = sy-datum
matnr = t_afru-matnr
* POSTP = ' '
* RETCODE_ONLY = ' '
* STLAN = ' '
werks = '1000'
* IMPORTING
* TOPMAT =
TABLES
wultb = ltb
equicat = equicat
kndcat = kndcat
matcat = matcat
stdcat = stdcat
tplcat = tplcat
EXCEPTIONS
call_invalid = 1
material_not_found = 2
no_where_used_rec_found = 3
no_where_used_rec_selected = 4
no_where_used_rec_valid = 5
OTHERS = 6.
參數﹕datub: 當前日期
datuv: 當前日期
matnr: 要找回上層BOM物料的物料
werks: 工廠一般取’1000’
wultb: 全部的上層BOM物料存放在該表中(該表結構固定)
equicat: 固定結構﹐必定要
kndcat : 固定結構﹐必定要
matcat: 固定結構﹐必定要
stdcat : 固定結構﹐必定要
tplcat : 固定結構﹐必定要
示例: ZBAK_ZPP000222_LSLblog
BOM 展開函數(順查BOM)
16 .只展開 BOM 的函數
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = pm_capid 「應用程序 通常爲 PP01
datuv = pm_datuv 「一般爲系統的當前日期
mtnrv = pm_mtnrv 「要展開BOM 的物料
mehrs = 'X' 「 x 表示多層展開﹐space 表示只展開第一層
werks = pm_werks 「 一般爲 1000
IMPORTING
topmat = selpool
dstst = dstst_flg
TABLES
stb = stb 「展開的 BOM 存放在該內表
matcat = matcat 「下面含有組件的物料存放在該內表排序
17 .展開與特性相關的特定款號的 BOM
CALL FUNCTION 'CS_BOM_EXPL_ KND_V1'
EXPORTING
capid = pm_capid 「應用程序 通常爲 PP01
datuv = pm_datuv 「一般爲系統的當前日期
mtnrv = pm_mtnrv 「要展開BOM 的物料
cuobj = vbap_wa-cuobj 「與特性相關的組態
mehrs = 'X' 「 x 表示多層展開﹐space 表示只展開第一層
werks = pm_werks 「 一般爲 1000
IMPORTING
topmat = selpool
dstst = dstst_flg
TABLES
stb = stb 「展開的 BOM 存放在該內表
matcat = matcat 「下面含有組件的物料存放在該內表get
範例見系統報表程序 RCS12001博客
1 說明﹕內表 stb, matcat 結構固定, 輸出參數 selpool , dstst_flg 固定,
其固定結構以下:
內表:
DATA: BEGIN OF stb OCCURS 1000.
INCLUDE STRUCTURE stpox.
DATA: END OF stb.
DATA: BEGIN OF matcat OCCURS 50.
INCLUDE STRUCTURE cscmat.
DATA: END OF matcat.
輸出參數:
DATA: BEGIN OF selpool.
INCLUDE STRUCTURE cstmat.
DATA: END OF selpool.
DATA: dstst_flg LIKE csdata-xfeld.
2 說明﹕內表 stb 中的數據按第一層順序號排序﹐如第一層組件下還有BOM,
則其BOM顯示在其下面﹐並依次分層(下面BOM 也按順序號排列)
stb 下的重要字段說明以下﹕
stufe : 在整個 BOM 中的層次
tdidx : 對應 matcat-index ﹐標誌直屬哪一個物料下的 BOM
ojtxb : 上層物料的物料說明
ojtxp : 自己物料說明
idnrk : 組件名(即物料)
stlkn : 在各自 BOM 中的順序號
matkl : 該物料羣組
mtart : 物料類型 (成品﹐半成品﹐原料)
matcat 下的重要字段 (表matcat 存放下面還有BOM 的物料)
matnr : 物料號
index : 順序號
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/elin_yi/archive/2009/08/19/4462900.aspx