zoukankan      html  css  js  c++  java
  • 订单BOM、销售BOM、标准BOM

    订单BOM、销售BOM、标准BOM

     

    訂單BOM: 是實際生產時用的BOM, 在標準BOM和銷售BOM基礎上增減物料的BOM
    銷售BOM: 是為特定客戶設定的BOM, 在主檔數據層次上的BOM, 在生產時是帶到訂單BOM中去的.
    標準BOM: 是公司為標準生產的BOM, 在主檔數據層次上的BOM, 在生產時是帶到訂單BOM中去的.

    訂單BOM >= 銷售BOM >= 標準BOM

    一般使用中:
    訂單BOM是在銷售BOM的基礎或標準BOM基礎上添加部分物料或減少或修改實際需求數量,
    銷售BOM是在標準BOM基礎上增加特定客戶需要的BOM, 例如顏色,
    標準BOM是公司在標準生產中使用的BOM, 通常由工程設計BOM產出再進行修正, 在SAP的標準成本計算是需要用到的.
    工程設計BOM(應該很少公司用)是工程設計的BOM, 即將工程師畫的爆炸圖進行系統化.
    SAP還有幾種BOM.

    標準BOM維護: CS01/CS02/CS03, 查詢CS12
    銷售BOM維護: CS61/CS62/CS63, 查詢CSK2
    訂單BOM維護: CO01/CO02/CO03


    銷售BOM使用前提是產品必須是MAKE TO ORDER, 否則系統在展開BOM時只會拿標準BOM, 不會拿銷售BOM的數據.

    標準BOM的表: MAST
    銷售BOM的表: KDST
    訂單BOM的表: 沒有, 我的理解就是RESB中工單需求清單

    在MTO方式来说,才会产生销售订单BOM。业务部门根据客户要求,配置产生的成品特性,从而自动从标准的最大BOM中选择组件,生成销售订单BOM
    这其中就明确了两个概念,销售订单BOM是在建立配置特性的基础上的,从最大化的标准BOM中选择相关特性限制的组件而产生的BOM。可以说,销售BOM是标准BOM的一个特例。这时候的标准BOM罗列了所有可能的配置。
    订单BOM则是生产中使用的BOM,是MRP根据销售订单配置和标准BOM计算产生的BOM,订单BOM在下达生产之前,可以通过计划员的调整以及设置替代,更换组件或数量,而下达时依此生产的BOM。此BOM用于生产和发料,并是成本BOM的直接来源。

     ----------------------------------------------

    CS_BOM_EXPL_KND_V1 展销售订单bom
    CS_BOM_EXPL_MAT_V2 展物料bom

    CS_BOM_EXPLOSION
    CS_BOM_EXPLOSION_EQUI
    CS_BOM_EXPLOSION_MAT
    CS_BOM_EXPL_EQU_V2
    CS_BOM_EXPL_KND_V1
    CS_BOM_EXPL_MAT_V2
    CS_BOM_EXPL_PSP_V1
    CS_BOM_EXPL_TPL_V1

    输出未激活的BOM的function
    CSAP_MAT_BOM_READ

    15 .函数CS_WHERE_USED_MAT(逆查BOM)
       说明﹕取的物料的上层物料
                    CALL FUNCTION 'CS_WHERE_USED_MAT' 
                 EXPORTING
                   datub                      = sy-datum
                   datuv                      = sy-datum
                   matnr                      = t_afru-matnr
    *             POSTP                       = ' '
    *             RETCODE_ONLY                = ' '
    *             STLAN                       = ' '
                   werks                      = '1000'
    *        IMPORTING
    *             TOPMAT                      =
                 TABLES
                      wultb                   = ltb
                      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.
             参数﹕datub:  当前日期
                   datuv:  当前日期
                   matnr:  要找回上层BOM物料的物料
                   werks:  工厂通常取’1000’
                   wultb:  所有的上层BOM物料存放在该表中(该表结构固定)
                   equicat:  固定结构﹐一定要
                   kndcat :  固定结构﹐一定要
                   matcat:  固定结构﹐一定要
                   stdcat : 固定结构﹐一定要
                   tplcat : 固定结构﹐一定要
      示例:   ZBAK_ZPP000222_LSL

    BOM 展开函数(顺查BOM)
    16 .只展开 BOM 的函数
      CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
       EXPORTING
          capid = pm_capid   “应用程序 一般为 PP01
          datuv = pm_datuv   “通常为系统的当前日期
          mtnrv = pm_mtnrv   “要展开BOM 的物料
          mehrs = 'X'        “ x 表示多层展开﹐space 表示只展开第一层
          werks = pm_werks   “ 通常为 1000
       IMPORTING
          topmat = selpool
          dstst  = dstst_flg
       TABLES
          stb = stb          “展开的 BOM 存放在该内表
          matcat = matcat    “下面含有组件的物料存放在该内表


    17 .展开与特性相关的特定款号的 BOM
       CALL FUNCTION 'CS_BOM_EXPL_ KND_V1'
       EXPORTING
          capid = pm_capid   “应用程序 一般为 PP01
          datuv = pm_datuv   “通常为系统的当前日期
          mtnrv = pm_mtnrv   “要展开BOM 的物料
          cuobj = vbap_wa-cuobj “与特性相关的组态
          mehrs = 'X'        “ x 表示多层展开﹐space 表示只展开第一层
          werks = pm_werks   “ 通常为 1000
       IMPORTING
          topmat = selpool
          dstst  = dstst_flg
       TABLES
          stb = stb          “展开的 BOM 存放在该内表
          matcat = matcat    “下面含有组件的物料存放在该内表

    范例见系统报表程序 RCS12001

    1 说明﹕内表 stb, matcat 结构固定, 输出参数 selpool , dstst_flg 固定,
          其固定结构如下:
     内表:
       DATA: BEGIN OF stb OCCURS 1000.
             INCLUDE STRUCTURE stpox.
       DATA: END OF stb.
       DATA: BEGIN OF matcat OCCURS 50.
             INCLUDE STRUCTURE cscmat.
       DATA: END OF matcat.
      输出参数:
         DATA: BEGIN OF selpool.
               INCLUDE STRUCTURE cstmat.
          DATA: END OF selpool.
          DATA: dstst_flg LIKE csdata-xfeld.

      2 说明﹕内表 stb 中的数据按第一层顺序号排序﹐如第一层组件下还有BOM,
              则其BOM显示在其下面﹐并依次分层(下面BOM 也按顺序号排列)
             stb 下的重要字段说明如下﹕
               stufe : 在整个 BOM 中的层次
                 tdidx : 对应 matcat-index ﹐标志直属哪个物料下的 BOM
                 ojtxb : 上层物料的物料说明
                 ojtxp : 本身物料说明
                 idnrk : 组件名(即物料)
                 stlkn : 在各自 BOM 中的顺序号
                 matkl : 该物料群组
                 mtart : 物料类型 (成品﹐半成品﹐原料)
               matcat 下的重要字段 (表matcat 存放下面还有BOM 的物料)
               matnr : 物料号
                 index : 顺序号

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/elin_yi/archive/2009/08/19/4462900.aspx

  • 相关阅读:
    在不是modelAttribute的情况下,如何保存页面输入值的方法(多行遍历)
    关于Hibernate中No row with the given identifier exists问题的原因及解决
    Oracle中exit,return,continue
    如何将表的行数赋值给变量(MySQL)
    论MySQL中如何代替Oracle中select into new_table from old_table
    有关linux下redis overcommit_memory的问题,有需要的朋友可以参考下。
    CentOS 6.6 中 mysql_5.6 主从数据库配置
    CentOS 6.6 中jdk1.6的安装和配置方法
    解决 Amoeba连接mysql出错 解决方案
    Linux系统memcached安装
  • 原文地址:https://www.cnblogs.com/sap-ronny/p/7867256.html
Copyright © 2011-2022 走看看