此博客为原创博客,都是个人工作经历所得,转载请注明出处

PP 创建BOM

转自 http://blog.csdn.net/u012369651/article/details/19190939

一、最终结果预览。

二、创建过程。

使用到的事务码

CS01 创建BOM  

CS02 修改BOM

CS03 显示BOM

CC01  创建工程变更号CC02 修改工程变更号CC03显示工程变更号

MM01 创建物料  MM02 修改物料 MM03 显示物料

 

使用到的物料(使用MM01创建)

销售整车11000601工厂3000

装箱整车14000575 工厂3000

底盘车    13005666 工厂5813

零配件    CZTEST01工厂5813

CZTEST02 工厂5813

CZTEST03 工厂5813

 

1、CS01创建BOM,工厂3000,BOM用途5,默认可选BOM为1。

2、输入下层组件14000575,数量为2,有效期2014-02-17;回车保存,则创建成功。

3、同理,创建14000575的BOM,工厂3000,BOM用途1。下层为13005666,有效期2014-02-17。

4、输入下层组件13005666,数量为2,有效期2014-02-17;回车保存,则创建成功。

5、创建13005666的BOM,工厂5813,BOM用途1。下层为CZTEST01、CZTEST02、CZTEST03,有效期2014-02-17。

6、CS12展开多层BOM,输入11000601。

仔细观察会注意到,展开的物料中没有CZTEST01、CZTEST02、CZTEST03,这是由于13*物料维护下层的是5813工厂,不是3000工厂。

 

注意事项:

1、最上层物料创建BOM的工厂为3000,因为所有物料必须在维护3000工厂数据。

2、CS15可以查询上层。

3、创建的BOM可以在MAST查看。根据BOM号可以在STKO中查看BOM表头,里面有删除标识。

 

有关BOM的函数介绍:

1、展开BOM函数‘CS_BOM_EXPL_MAT_V2’

 

CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'              EXPORTING

              capid                 = 'PP01'

              datuv                 = sy-datum

              mtnrv                 = pi_bom-matnr

              stlal                 = pi_bom-stlal”如果不输入该参数,默认会选择有效的最小的可选BOM,

*                                                  但是如果第一个是有删除标识的,则会出错.STKO可查看删除标识。

              stlan                 = pi_bom-stlan

              werks                 = pi_bom-werks

              mehrs                 = ''”为空时BOM展开一层;为‘X全展开(只有所有数据在一个工厂才能全部都展开)

            TABLES

              stb                   = pi_stb“展开的下层数据信息,IDNRK为物料名

              matcat                = lt_cscmat”需要展开的物料信息

            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.

*    CONCATENATE pi_bom-matnr 'BOM展开出错!' INTO l_msg.

*    MESSAGE l_msg TYPE 'S' DISPLAY LIKE 'E'.

*    STOP.

  ENDIF.

 

2、查看上层物料函数‘CS_WHERE_USED_MAT’。只能向上查看一层

 

  CALL FUNCTION 'CS_WHERE_USED_MAT'

  EXPORTING

    datub = sy-datum

    datuv = sy-datum

    matnr = pi_bom-matnr

* POSTP = ' '

* RETCODE_ONLY = ' '

    stlan = pi_bom-stlan

    werks = pi_bom-werks

* IMPORTING

* TOPMAT =

  TABLES

    wultb = lt_ltb

    equicat = lt_equicat

    kndcat = lt_kndcat

    matcat = pi_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.

 

  IF sy-subrc <> 0.

 

  ENDIF.

注意:数据一般在wultb和matcat两个表中查看。

posted @ 2017-01-07 21:52  Rainystuday  阅读(447)  评论(0编辑  收藏  举报