首先要获取到底层或者中间层的料件 放入gt_mast内表,然后调用CS_WHERE_USED_MAT函数反查上层物料,但是这个函数只能向上查一层的物料 所以需要用到递归查询,如果查到成品料件或者查到最上层(就是说在往上层没有反查到物料),给标志字段赋值为X,然后循环不为X的行项目,最终循环中会有全为X的情况。然后在根据想留下的数据去重就可以了。
*&&进行BOM反查,将查询到符合条件的成品料号写入gt_mast表进行处理
CLEAR: gs_mast.
CLEAR: lt_matnr[].
LOOP AT gt_mast INTO gs_mast.
CLEAR:ltb1[].
CALL FUNCTION 'CS_WHERE_USED_MAT'
EXPORTING
datub = sy-datum
datuv = sy-datum
matnr = gs_mast-matnr
werks = gs_mast-werks
TABLES
wultb = ltb1
equicat = equicat
kndcat = kndcat
matcat = matcat

最低0.47元/天 解锁文章
4283

被折叠的 条评论
为什么被折叠?



