转自 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两个表中查看。

PP 创建BOM的更多相关文章

  1. SAP CSO1创建BOM

      1业务说明 此文档使用BAPI:BAPI_MATERIAL_BOM_GROUP_CREATE创建BOM 2前台实现 事务代码:CS01 输入行项目信息 保存即可 3代码实现 3.1调用BAPI 抬 ...

  2. BAPI_MATERIAL_BOM_GROUP_CREATE创建BOM

    天使用BAPI函数:BAPI_MATERIAL_BOM_GROUP_CREATE创建BOM组数据,过程中发现很多问题啊.总结如下: BOMGROUP        VARIANTS 这两个参数必须要传 ...

  3. powershell创建并加载配置文件

    $pshome :powershell的主目录 $profile :显示 Windows PowerShell 配置文件的路径 test-path $profile :确定是否已经在系统上创建了 Wi ...

  4. 规则引擎 - (三)BOM工程(上)

    建工程并关联xom工程 1.新建——>项目——>规则项目——>标准规则项目. 项目命名,下一步. 在xom设置中选择之前建好的xom工程,下一步. 工程没用到xsd,不选择,下一步. ...

  5. PP学习笔记-业务基础

    生产主数据.生产计划.生产订单与生产执行 生产模块主要子模块及功能:PP-BD 基本数据管理 PP-SFC车间订单管理 PP-MRP物料需求计划 PP-MPS主生产计划 PP-CRP能力计划 PP-I ...

  6. Java 使用 Maven BOM 统一管理版本号

    一个中大型的 Java 项目往往包含若干 JAR 包,这些 JAR 包有着不同的版本号.如果这些 JAR 包单独发布,然后直接通过版本号引用相应的 JAR 包,不同版本的兼容性维护将变得十分麻烦.为了 ...

  7. SAP物料批次管理配置及操作手册(轉載)

    这个有待学习 业务说明需要先熟悉基本的物料管理(MM).生产计划管理(PP).销售与分销管理(SD)的相关知识.在化工.制药.快消.汽车零部件等行业,为了进行质量的跟踪,往往需要使用批次管理来监控质量 ...

  8. python课程第三周重点记录

    1.关于set,set是一个无序且不重复的元素集合 s = set(["ss","dd","pp"]) #创建set s1 = set([& ...

  9. 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境

     发布于 2013-12-11 作者 Ross Gardler 微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块.通过这个模 ...

随机推荐

  1. code of C/C++(3) - 从 《Accelerated C++》源码学习句柄类

    0  C++中多态的概念 多态是指通过基类的指针或者引用,利用虚函数机制,在运行时确定对象的类型,并且确定程序的编程策略,这是OOP思想的核心之一.多态使得一个对象具有多个对象的属性.class Co ...

  2. Redux教程3:添加倒计时

    前面的教程里面,我们搭建了一个简单红绿灯示例,通过在console输出当面的倒计时时间:由于界面上不能显示倒计时,用户体验并不良好,本节我们就添加一个简单的倒计时改善一下. 作为本系列的最后一篇文章, ...

  3. Android中的dp, px, pt

    定义: px是像素,表示屏幕显示的最小元素单位 pt是磅数,一磅等于1/72英寸,一般用来作为字体的单位使用 问题: px和pt不使用于手机,因为同样的px在高低分辨率的手机上显示的比例不同 解决办法 ...

  4. Java JDK 环境变量配置

    1:环境 JDK1.7.0 WIN7 2:安装JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹 ...

  5. android-studio的gradle plugin配置相关的一些记录

    感觉就是越高的Gradle版本对应的plugin越高. 你妹的,是不是2.10版本低于2.2版本,我还以为是2.10版本高于2.8.2.9版本呢.每次用2.10版本构建,用1.2.2等都不行.提示最低 ...

  6. android 初步了解应用Gson 解析Json数据

    1,因为没有服务器返回数据,对于Tomcat又懒得去配,所以我直接把数据写死到app中 先写一个实体类,便于操作 /** * 实体类 */ public class Person { int id ; ...

  7. C++线程池

    之前一直在找一个开源的C++线程池库,找了很久也没有找到一个好用的,后来项目需要, 本想自己写一个,但是无意中在github上面找了一个采用boost库实现的threadpool,后来研究 了一下源码 ...

  8. sql inner join , left join, right join , union,union all 的用法和区别

    Persons 表: Id_P LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fift ...

  9. ldap + kerberos + google authentication 实现两步验证

    第一步:ldap + kerberos 整合  ,参考之前的文章 第二步:google authentication 安装配置,参考之前的文章 第三步:整合 ldap + kerberos + goo ...

  10. JQuery中$.ajax()方法参数都有哪些?

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...