SAP函数 CS_WHERE_USED_MAT 反查上层BOM

遇到用户要根据下层物料反查最上层BOM物料是什么。

试了一下,通过函数 CS_WHERE_USED_MAT 来查询,但是只能往上查询一层,类似事务码CS15的效果。如果要找最上层物料,需要自己写迭代进行查询。

  DATA:
    lt_wultb TYPE TABLE OF stpov,
    lt_equicat TYPE TABLE OF cscequi,
    lt_kndcat TYPE TABLE OF cscknd,
    lt_matcat TYPE TABLE OF cscmat,
    lt_stdcat TYPE TABLE OF cscstd,
    lt_tplcat TYPE TABLE OF csctpl.

  " 单层反查BOM
CALL FUNCTION 'CS_WHERE_USED_MAT' EXPORTING datub = sy-datum datuv = sy-datum matnr = matnr " 物料 stlan = '1' " 物料清单用途 werks = werks " 工厂 TABLES wultb = lt_wultb equicat = lt_equicat kndcat = lt_kndcat matcat = lt_matcat stdcat = lt_stdcat tplcat = lt_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.

或者可以参考SAP程序 RCS15001,可以实现多级查询。

原文地址:https://www.cnblogs.com/jinyin/p/10562420.html