我的程序有问题。我正在使用功能模块CS_BOM_EXPL_MAT_V2
来获取材料的 BOM。例如,我有一个MAT1
具有 ff 的材料。BOM 爆炸。
MAT1
- COMP1 with Qty 2
- COMP2 with Qty 1
- COMP3 with Qty 1
然后,对于 component COMP1
,它也有子组件:
COMP1
- SUBCOMP1 with Qty 1
- SUBCOMP2 with Qty 1
所以我期望在我的程序中使用CS_BOM_EXPL_MAT_V2
,是让报告的数量为SUBCOMP1
= 2 和SUBCOMP2
= 2(因为MAT1
使用 2 个数量COMP1
)。但是我得到的是SUBCOMP1
= 1 qty 和SUBCOMP2
= 1 qty,因为我认为它只考虑了 BOM并且没有考虑COMP1
数量。COMP1
运行 transactionCS12
时,material 的输出是正确的 ( SUBCOMP1
= 2, SUBCOMP2
= 2) MAT1
。
那么,我如何进行CS_BOM_EXPL_MAT_V2
工作以使其尊重组件的计数,在这种情况下COMP1
为 Qty 2,并将值级联到子组件,在这种情况下为SUBCOMP1
and SUBCOMP2
,并将其相乘,以便返回正确的数量,在这种情况下,两个子组件都应该有数量 2,就像在交易中一样CS12
?
如果 FM 无法做到这一点CS_BOM_EXPL_MAT_V2
,请提出其他方法来实现这一点。
这是我的 FM 目前的样子:
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
aumgb = 'X'
capid = 'PP01'
datuv = v_datuv "date input in selection screen
endhl = '1'
mehrs = 'X'
mmory = '1'
mtnrv = v_matnr "material input in selection screen
stlal = v_stlal "alternative BOM input in selection screen
stpst = 0 "Level in multi-bom expl.
svwvo = 'X'
werks = v_werks "plant input in selection screen
vrvso = 'X'
IMPORTING
topmat = gs_top
TABLES
stb = gt_stb
matcat = gt_matca
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.