【SAP Abap】BOM多级展开函数 CS_BOM_EXPL_MAT_V2 使用详解

SAP ABAP BOM多级展开函数 CS_BOM_EXPL_MAT_V2 使用详解

1、函数入参说明

CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
 EXPORTING
*   FTREL                       = ' '               " Limited multi-level - stop explosion at items not relevant to production
*   ALEKZ                       = ' '               " Checkbox
*   ALTVO                       = ' '               " Alternative Priority
*   AUFSW                       = ' '               " Determine and enter order level and channel
*   AUMGB                       = ' '               " Calculate scrap quantity  " 是否计算损耗
*   AUMNG                       = 0                 " Scrap quantity
*   AUSKZ                       = ' '               " Take Scrap into Account
*   AMIND                       = ' '               " Checkbox
*   BAGRP                       = ' '               " Assembly restriction
*   BEIKZ                       = ' '               " Material Provision Indicator
*   BESSL                       = ' '               " Material provision selection indicator
*   BGIXO                       = ' '               " Load assembly information for exploded assemblies only
*   BREMS                       = ' '               " Limited Explosion
    CAPID                       = 'PP01'            " Application ID    " BOM用途:(E-BOM 例:STD1 M-BOM.例:PP01 PP02)
    " 必须字段:BOM类型
*   CHLST                       = ' '               " Checkbox
*   COSPR                       = ' '               " Internal: (CO) order-spec. MatPreRead
*   CUOBJ                       = 000000000000000   " Configuration     " 与特性相关的组态
*   CUOVS                       = 0                 " IB: Time stamp of owner's or observer's version
*   CUOLS                       = ' '               " Checkbox
    DATUV                       = 20221010          " Valid On
    " 必须字段:BOM有效日期
*   DELNL                       = ' '               " Delete items not kept in stock from list
*   DRLDT                       = ' '               " Checkbox
*   EHNDL                       = ' '               " Checkbox
*   EMENG                       = 0                 " Required quantity
    " 其他字段:计算材料需求时,可以传入具体的成品数量
*   ERSKZ                       = ' '               " Spare part indicator
*   ERSSL                       = ' '               " Spare part selection indicator
*   FBSTP                       = ' '               " Limited multi-level - stop explosion at externally procured item
*   KNFBA                       = ' '               " Checkbox
*   KSBVO                       = ' '               " Checkbox
*   MBWLS                       = ' '               " Read Material Valuation
*   MKTLS                       = 'X'               " Read Material Description
*   MDMPS                       = ' '               " Limited multi-level - explode phantom assemblies at least   " 虚拟件标识
    " 限制字段:限制BOM只展1层,但下层是虚拟件的则再往下展开一层,默认为空不限制
*   MEHRS                       = ' '               " Multilevel Explosion    " 多阶展开 'X'-多阶; ''-单阶
    " 重要字段:BOM多级展开,默认为空,只展开一层
*   MKMAT                       = ' '               " Limited multi-level; explode KMAT
*   MMAPS                       = ' '               " Limited multi-level - explode at least M assembly (M order)
*   SALWW                       = ' '               " Checkbox
*   SPLWW                       = ' '               " Checkbox
*   MMORY                       = ' '               " Memory Mgmt ('1'=On;'0'=Off;' '=No Reaction)
    MTNRV                       = '380300300001'    " Material
    " 必须字段:物料号
*   NLINK                       = ' '               " Checkbox
*   POSTP                       = ' '               " Item category
*   RNDKZ                       = ' '               " Round off: ' '=always, '1'=never, '2'=only levels > 1
*   RVREL                       = ' '               " Relevant to sales
*   SANFR                       = ' '               " Production
*   SANIN                       = ' '               " Maintenance
*   SANKA                       = ' '               " Costing
*   SANKO                       = ' '               " Engineering/design
*   SANVS                       = ' '               " Shipping
*   SCHGT                       = ' '               " Bulk material
*   STKKZ                       = ' '               " PM assembly
*   STLAL                       = ' '               " Alternative BOM   " 备选物料清单
*   STLAN                       = ' '               " BOM usage         " BOM用途
*   STPST                       = 0                 " Level (in multi-level BOM explosions)
    " 限制字段:限定BOM展开层数,默认0表示全展,1表示展开1层,以此类推;实测负数全部为展1层
*   SVWVO                       = 'X'               " Checkbox
    WERKS                       = '1010'            " Plant
    " 必须字段:工厂号
*   NORVL                       = ' '               " Checkbox
*   MDNOT                       = ' '               " Restriction on MDMPS: do not explode M phantom
*   PANOT                       = ' '               " Restriction on MDMPS: no parallel discontinue
*   QVERW                       = ' '               " Quota arrangement usage
*   VERID                       = ' '               " Production Version
*   VRSVO                       = 'X'               " Checkbox
*   SGT_SCAT                    =	                " Stock Segment
*   SGT_REL                     =                   " Segmentation Relevant
*   CALLER_APP                  =                   " Caller Application
*   BOM_VERSN                   =                   " BOM Version
* IMPORTING
*   TOPMAT                      =                   " Data for start material
    " 顶级物料:参与BOM展开的顶级物料
*   DSTST                       =                   " Structure destroyed by filter
  TABLES
    STB                         =                   " Collective item data table
    " 必须接收的表:BOM展开明细
*   MATCAT                      =                   " Material catalog (sub-assemblies)
    " 父级物料清单:参与BOM展开的父级物料清单,即含有组件的物料
* 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
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
  
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

以上函数参数中,
工厂(WERKS)、BOM有效期(DATUV)、BOM类型(CAPID)、物料号(MTNRV)是必须填写的。

其他可可选参数,其中
展多层(MEHRS)、展虚拟件(MDMPS)和展层数(STPST)是互相影响的,直接决定BOM是否一展到底、是否继续展开虚拟件至其下一层。
(1)展单层(默认):
MEHRS = ’ '(默认) MDMPS = ’ ’ (默认,可任意值) STPST = 0(默认,可任意值);
(2)全展:
MEHRS = ‘X’ (设置) MDMPS = ’ '(默认,必须) STPST = 0(默认,必须);
(3)展指定层(设置MEHRS、STPST):
MEHRS = ‘X’(设置) MDMPS = ’ ‘(默认,必须) STPST = 3(设置,表示展开至第3层);
(4)展1-2层(虚拟件再展一层)
MEHRS = ’ X’ (设置) MDMPS = ‘X’ (设置) STPST = 0(默认);

以上参数,按 MEHRS、MDMPS、STPST 顺序优先起作用。

2、函数出参说明

以如下BOM结构来说明,
在这里插入图片描述
BOM全展后的结果(MEHRS = ‘X’ )
在这里插入图片描述
(1) TOPMAT 为进行BOM展开的顶级物料信息。
(2)查看STB结果,前几列的关系如下:
在这里插入图片描述
在这里插入图片描述
(3)STB中 TTIDX 就对应于 MATCAT表中 INDEX
在这里插入图片描述
(4)补充20230621
STB 表中的 XTLNR 列为当前组件对应的物料清单号,如果是末级组件则该字段为空;STB 表中的 STLNR 列为当前组件上一级物料对应的物料清单号。BOM层级为1的组件,起 STLNR 列即为主料号 MTNRV 对应的物料清单号。

原创文章,转载请注明来源-X档案

  • 17
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值