ABAP BOM 递归查物料方法


递归顺查


DATA: BEGIN OF STB OCCURS 0.
        INCLUDE STRUCTURE STPOX.
DATA: END OF STB.
DATA:WWERKS LIKE RC29L-WERKS,WMATNR TYPE MARA-MATNR.

REFRESH STB. CLEAR STB.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
  EXPORTING
    CAPID                       = 'PP01'      "类型
    DATUV                       = SY-DATUM    "有效期
*          MDMPS                       = ''         "限制字段:限制BOM只展1层,但下层是虚拟件的则再往下展开一层,默认为空不限制
*          MEHRS                       = ''         " 重要字段:BOM多级展开,默认为空,只展开一层 多阶展开 'X'-多阶; ''-单阶
    MTNRV                       = WMATNR "物料编号,必须输入
    WERKS                       = WWERKS      "工厂,必须输入
  TABLES
    STB                         = 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.
 LOOP AT STB."STB-IDNRK ,物料编号

 ENDLOOP.

递归反查


DATA:BEGIN OF USEDTAB OCCURS 0.
        INCLUDE STRUCTURE STPOV.
DATA: END OF USEDTAB.
DATA:BEGIN OF EQUICAT OCCURS 0.
        INCLUDE STRUCTURE CSCEQUI.
DATA: END OF EQUICAT.

DATA:BEGIN OF KNDCAT OCCURS 0.
        INCLUDE STRUCTURE CSCKND.
DATA: END OF KNDCAT.

DATA:BEGIN OF MATCAT OCCURS 0.
        INCLUDE STRUCTURE CSCMAT.
DATA: END OF MATCAT.

DATA:BEGIN OF STDCAT OCCURS 0.
        INCLUDE STRUCTURE CSCSTD.
DATA: END OF STDCAT.

DATA:BEGIN OF TPLCAT OCCURS 0.
        INCLUDE STRUCTURE CSCTPL.
DATA: END OF TPLCAT.

CLEAR:USEDTAB.REFRESH USEDTAB.
CALL FUNCTION 'CS_WHERE_USED_MAT'
  EXPORTING
    DATUB                      = SY-DATUM
    DATUV                      = SY-DATUM
    MATNR                      = WMATNR "物料编号,必须输入
    WERKS                      = WWERKS "工厂,必须输入
  TABLES
    WULTB                      = USEDTAB
    EQUICAT                    = EQUICAT
    KNDCAT                     = KNDCAT
    MATCAT                     = MATCAT
    STDCAT                     = STDCAT
    TPLCAT                     = 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.
LOOP AT USEDTAB.
  "USEDTAB-MATNR  ,物料编号  ,如果此值为空,说明是成品

ENDLOOP.

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

指尖溯光

创作不易您的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值