转自 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. 更新证书错误:No matching provisioning profiles found

    在Xcode中当你在更新了你得证书而再重新编译你的程序,真机调试会出现“Your build settings specify a provisioning profile with the UUID ...

  2. Mac上部署JDK/Ant/Jmeter/Jenkins

    一.安装JDK 1. 下载JDK 2. 下完后直接双击安装,默认安装到/Library/Java/JavaVirtualMachine下 3. 验证是否安装成功 java -version 二.安装J ...

  3. http Content-type对照表

    http://tools.jb51.net/table/http_content_type Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定 义网络文件的类型和 ...

  4. JQuery设置时间段下拉选择 时间下拉选择

    $(document).ready(function() { var arrT = []; var tt = "{0}:{1}"; for (var i = 0; i < 2 ...

  5. linux下错误的捕获:errno和strerror的使用

    经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因.这个时候使用 ...

  6. js动画之同时运动

    一个物体可以同时做多个运动,而不是完成一个运动再一个运动,而是让你感觉他们是同时发生的. 直接上代码 <!DOCTYPE html> <html lang="en" ...

  7. 利用HttpURLConnection发送请求

    HttpURLConnection: 每个 HttpURLConnection实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络.请求后在 HttpURLConne ...

  8. java多线程之 基本概念

    一.线程的五种状态 1. 新建状态(New)         : 线程对象被创建后,就进入了新建状态.例如,Thread thread = new Thread().2. 就绪状态(Runnable) ...

  9. iOS常用开发资源整理

    在行--专家付费咨询 杂项 App Release Checklist—iOS App发布清单. Hey Focus—帮助你专注于一个任务. Objective Cloud—Objective C A ...

  10. 设置DIV块元素在浏览器页面中垂直居中

    任务目标 实践HTML/CSS布局方式 深入了解position等CSS属性 任务描述 实现如 示例图(点击打开) 的效果 灰色元素水平垂直居中,有两个四分之一圆位于其左上角和右下角. 任务注意事项 ...