转自 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. windows本地script脚本恶意代码分析(带注释)

    //经过样本分析和抓取,该恶意程序是款下载者木马. //不懂的可以百度百科. http://baike.baidu.com/link?url=0dNqFM8QIjEQhD71ofElH0wHGktIQ ...

  2. (BFS)poj3669-Meteor Shower

    题目地址 为判断某时刻能否走到某位置,建立shi数组,记录某位置最早t时刻就不能走.(初始化为-1)之后开始从(0,0)出发bfs,用bu数组记录走到某一位置时花费的步数,并且需要用vi数组记录是否走 ...

  3. XCode修改公司名称和作者名称

    新建的文件最上方都会有一段类似如下的版权声明 // //  ViewController.m //  CBDemoProject001 // //  Created by CB on 16/3/17. ...

  4. C++模拟C#事件委托机制(一)

    原文来自于http://www.cnblogs.com/netssfy/articles/1652671.html 写了一段时间的C#代码后确实发现C#的事件委托非常好用.于是便想是否在C++中也能如 ...

  5. java1234初学maven

    第一讲: maven maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. maven安装与下载: .确定jdk已经安装并且配置 .安装mav ...

  6. break into Ubuntu System

    This morning, I got a spare machine from of of the labmates. The OS is ubuntu 12.04. I could not log ...

  7. Psp个人软件开发软件需求分析和用例分析

    Psp个人软件开发软件需求分析和用例分析 一.需求分析 1.业务需求 1.1 应用背景 开发项目进度计划总是那么不明确,延期经常出现,甚至无法给出一个相对比较明确的延迟时间.这样给市场的推广会带来很大 ...

  8. display:inline-block 和float:left 的区别

    display:inline-block 和float:left 的区别   display是指显示状态,float是针对块级元素的浮动. 使用inline-block:控制元素的垂直对齐跟横向排列元 ...

  9. CSS巧妙实现分隔线的几种方法

    单个标签实现分隔线: 点此查看实例展示 .demo_line_01{ padding: 0 20px 0; margin: 20px 0; line-height: 1px; border-left: ...

  10. Apache多站点配置(ubuntu)

      1,先进入Apaches2的目录下 cd /etc/apache2   2,进入sites-available中 cd sites-available vi 000-default.conf   ...