SAP BOM 多层展开及组件成本处理

form sub_get_bom.

  LOOP AT gt_output INTO gs_output.

    REFRESH:lt_stb.



    CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'  "多层BOM展开官方方法
      EXPORTING
        capid                 = 'PP01'
        datuv                 = sy-datum
        emeng                 = 0
        mtnrv                 = gs_output-matnr
        mktls                 = lv_mktls
        mehrs                 = lv_mehrs
        werks                 = gs_output-werks
        stlan                 = gs_output-stlan
        stlal                 = gs_output-stlal
      TABLES
        stb                   = lt_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
        OTHERS                = 8.
    "多层BOM,如果第一层的BOM 中有替代料,那么这个替代料展开的下层组件都要删除
sort lt_stb by stufe descending.
clear: ls_stb,lv_tim,lv_stufe,lv_vwegx.
read table lt_stb into ls_stb index 1.
  lv_tim = ls_stb-stufe - 1.
lt_stb1 = lt_stb[].
  DO lv_tim times.
    clear: ls_stb,ls_stb1.
    loop at lt_stb into ls_stb.
      lv_stufe = ls_stb-stufe - 1.
      lv_vwegx = ls_stb-vwegx.
      read table lt_stb into ls_stb1 with key stufe = lv_stufe wegxx = lv_vwegx.
        if sy-subrc = 0.
          if ls_stb1-alpos = 'X' and ls_stb1-ewahr <> '100'.
             ls_stb-alpos = 'X'.
          ENDIF.
        ENDIF.
      MODIFY LT_STB FROM LS_STB.
    ENDLOOP.
   ENDDO.
   delete lt_stb where alpos = 'X' and ewahr <> '100'.






CLEAR LS_STB.
    loop at lt_stb into ls_stb."取LT_STB带出来的BOM组件的价格
SELECT
    MBEW~MATNR,
    MBEW~BWKEY,
    MBEW~STPRS,
    MBEW~LFGJA,
    MBEW~LFMON,
    MBEW~PEINH
     FROM MBEW
  APPENDING CORRESPONDING FIELDS OF TABLE @GT_MBEWH
  WHERE MATNR = @ls_stb-IDNRK
  and BWKEY = @ls_stb-WERKS
  and STPRS > '0'.
PERform sub_process_mbew.
ENDLOOP.


CLEAR LS_STB.
clear cost_sum.
clear cost_sumt.
data:substr type string.
    LOOP AT  lt_stb INTO ls_stb.  "在这里计算好成本
      clear substr.
      substr = ls_stb-idnrk.
        if ls_stb-xtlnr <> ''.
          continue.
        ENDIF.
        case substr+0(2).
           when

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SAP BOM多层管理是指在SAP系统中对产品结构进行分层管理的功能。BOM是产品结构清单的英文缩写,它描述了一个产品的所有组成部分和它们之间的关系。 在SAP系统中,BOM通常采用多层结构来组织。这意味着一个产品可以由多个子组件组成,而每个子组件又可以进一步细分为更小的子组件。这种层级结构的管理可以帮助企业更好地了解产品的构成,从而更好地进行生产计划和物料采购。 通过SAP系统的BOM多层管理功能,企业可以方便地创建和维护产品结构。首先,企业可以通过BOM多层管理功能建立产品的初始结构,包括主件和子件的层级关系。其次,企业可以对已有的BOM进行修改和更新,如添加新的组件、移除不需要的组件等。此外,BOM多层管理还可以进行版本控制,确保产品结构的准确性和可追溯性。 BOM多层管理不仅仅是一个简单的列表,它还提供了相关的信息和参数,如物料号、数量、单位、工序代码等。这些信息可以被其他SAP模块使用,如生产计划、物料需求计划等。通过与其他模块的集成,企业可以实现物料和生产资源的合理配置和调度,以提高生产效率和产品质量。 总之,SAP BOM多层管理是SAP系统中的一个重要功能,它可以帮助企业更好地组织和管理产品结构,提高生产计划的准确性和灵活性,从而提高企业的竞争力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值