CLEAR: es_topmat, ev_dstst, et_stb, et_matcat.
SELECT SINGLE matnr, werks, cuobj INTO @DATA(ls_vbap)
FROM vbap WHERE vbeln = @iv_vbeln AND posnr = @iv_posnr.
IF ls_vbap IS INITIAL.
RETURN.
ENDIF.
CALL FUNCTION 'CS_BOM_EXPL_KND_V1'
EXPORTING
ftrel = ' '
altvo = ' '
aufsw = ' '
aumgb = 'X'
* aumng = 0.000
auskz = 'X'
bagrp = ' '
beikz = ' '
bessl = ' '
bgixo = ' '
brems = ' '
capid = iv_capid
cospr = ' '
cuobj = ls_vbap-cuobj
datuv = sy-datum
delnl = ' '
ehndl = '1'
emeng = '1.000'
erskz = ' '
erssl = ' '
fbstp = ' '
knfba = 'X'
ksbvo = 'X'
mbwls = ' '
mktls = ' '
mdmps = 'X'
mdnot = 'X'
mehrs = iv_mehrs_multiple_level
mkmat = ' '
mmory = '0'
mtnrv = ls_vbap-matnr
postp = ' '
rndkz = '1'
rvrel = ' '
sanfr = ' '
sanin = ' '
sanka = ' '
sanko = ' '
sanvs = ' '
schgt = ' '
stkkz = ' '
stlal = ' '
stlan = ' ' "'1' "BOM 用途,1 代表生产
werks = ls_vbap-werks
vbeln = iv_vbeln
vbpos = iv_posnr
qverw = ' '
verid = iv_verid
* SVWVO = ' '
* VRSVO = ' '
norvl = 'X'
sgt_scat = ' '
sgt_rel = ' '
IMPORTING
topmat = es_topmat
dstst = ev_dstst
TABLES
stb = et_stb
matcat = et_matcat
EXCEPTIONS
alt_not_found = 06
call_invalid = 10
missing_authorization = 04
no_bom_found = 01
no_suitable_bom_found = 05
no_plant_data = 99
error_message = 99.