根据物料与工厂展BOM时用FM: CS_BOM_EXPL_MAT_V2
示例:(此例子只展一层)
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = 'PP01'
datuv = datuv
auskz = 'X' " 报废
mdmps = 'X' " 展虚理件
mehrs = 'X' " 展多层
emeng = l_menge
mtnrv = matnr
werks = werks
TABLES
stb = lt_stb
EXCEPTIONS
alt_not_found = 1
call_invalid = 2
material_not_found = 3
missing_authorization = 4
no_bom_found = 5
no_plant_data = 6
no_suitable_bom_found = 7
conversion_error = 8
OTHERS = 9.
如果需要展到底层,则需要设置参数参数mehrs = 'X' 且mdmps = ' '。
注释:一般不需要虚拟物料,则删除dumps不为空的数据。如果为虚拟物料,则dumps = 'x'.注意是小写
DELETE lt_stb WHERE dumps IS NOT INITIAL.
如果要查看一个原材料都在哪个成品中用到,则用FM:CS_WHERE_USED_MAT
示例:
CALL FUNCTION 'CS_WHERE_USED_MAT'
EXPORTING
datub = sy-datum
datuv = sy-datum
matnr = x_matnr
* POSTP = ' '
* RETCODE_ONLY = ' '
stlan = c_stlan
werks = x_werks
* IMPORTING
* TOPMAT =
TABLES
wultb = t_stpov
equicat = t_cscequi
kndcat = t_cscknd
matcat = t_cscmat
stdcat = t_cscstd
tplcat = t_csctpl
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.
其中stlan可以参考 mast-stlan,表示BOM的用途,如生产、研发
得到的结果在 t_stpov 内表中