1.查找 物料号、工厂、物料描述。

表:MARA MARC MAKT

逻辑:  

输入物料(选择选项)中的物料编号(MARA-MATNR)和
                       输入工厂(选择选项)中的工厂(MARC-WERKS)和
                       输入物料类型(选择选项)中的物料类型(MARA-MTART)。
                       注意:继续执行步骤2或3或4取决于“生产”或“工程”或“所有物料清单”选项的输入单选按钮。

代码:

SELECT   A~MATNR,
B~WERKS,
A~MTART,
C~MAKTX
INTO TABLE @DATA(LT_MAT)
FROM MARA AS A
JOIN MARC AS B ON A~MATNR = B~MATNR
JOIN MAKT AS C ON B~MATNR = C~MATNR
WHERE A~MATNR IN @S_MATNR
AND B~WERKS IN @S_WERKS
AND A~MTART IN @S_MTART.

2.查找BOM  工程项目。

表:MAST.

代码:

SELECT MATNR,
WERKS,
STLAN, "BOM Usage
STLNR, "Bill of material
STLAL "Alternative BOM
INTO TABLE @DATA(LT_MAST)
FROM MAST
FOR ALL ENTRIES IN @LT_MAT
WHERE MATNR = @LT_MAT-MATNR
AND WERKS IN @S_WERKS
AND STLAN = '2'."engineering usage. IF LT_MAST IS NOT INITIAL.
"BOM HEADER DATA
SELECT STLTY, "BOM category
STLNR,
STLAL ,
STKOZ, "Internal counter
LOEKZ , "Deletion flag for BOMs
ANDAT, "Date record created on
BMEIN, "Base unit of measure for BOM
BMENG, "Base quantity
INTO TABLE @DATA(LT_STKO)
FROM STKO
FOR ALL ENTRIES IN @LT_MAST
WHERE STLNR = @LT_MAST-STLNR
AND STLAL = @LT_MAST-STLAL. "BOM ITEM DATA
SELECT STLNR,
STLKN,
STPOZ,
POSTP
INTO TABLE @DATA(LT_STPO)
FROM STPO
FOR ALL ENTRIES IN @LT_MAST
WHERE STLNR = @LT_MAST-STLNR. "PERMANENT BOM DATA
SELECT STLNR,
STLAN,
EXSTL,
ZTEXT
INTO TABLE @DATA(LT_STZU)
FROM STZU
FOR ALL ENTRIES IN @LT_MAST
WHERE STLNR = @LT_MAST-STLNR. ENDIF.

3、查找BOM  产品。

       SELECT MATNR,
WERKS,
STLAN, "BOM Usage
STLNR, "Bill of material
STLAL "Alternative BOM
INTO TABLE @DATA(LT_MAST)
FROM MAST
FOR ALL ENTRIES IN @LT_MAT
WHERE MATNR = @LT_MAT-MATNR
AND WERKS IN @S_WERKS
AND STLAN = '1'."Production usage "BOM HEADER STKO
"BOM ITEM STPO
"BOM TEXT STZU "使用以下条件从表MKAL中按照数据映射读取生产版本和资源: SELECT MATNR,
WERKS,
STLAL,
STLAN
INTO TABLE @DATA(LT_MKAL)
RROM MKAL
FOR ALL ENTRIES IN @LT_MAST
WHERE MATNR = @LT_MAST-MATNR
AND WERKS = @LT_MAST-WERKS.
"注意:
如果有多个工厂,则报告按工厂显示

4、物料BOM比较。

       SELECT MATNR,
WERKS,
STLAN, "BOM Usage
STLNR, "Bill of material
STLAL "Alternative BOM
INTO TABLE @DATA(LT_MAST)
FROM MAST
FOR ALL ENTRIES IN @LT_MAT
WHERE MATNR = @LT_MAT-MATNR
AND WERKS IN @S_WERKS。 "相关表列表:MAST Material BOM
"STKO BOM Header
"STPO BOM Positions (detail)
"MAPL Assignment fo Task Lists to Materials
"PLKO Routing Group Header
"PLSO Routing Group Sequence
"PLPO Routing Group Operations
"AFKO Production Order Header
"AFPO Production Order Position (details)
"MKAL Production Version

5.函数

1》APIs for BOMs: Display Material BOM

CSAP_MAT_BOM_READ

6、BOM 展开。

CALL FUNCTION 'CSAP_MAT_BOM_READ' "

  EXPORTING

    material =                  " csap_mbom-matnr  Material 物料编码

*   plant =                      " csap_mbom-werks  Plant    工厂

    bom_usage =                 " csap_mbom-stlan  BOM usage BOM用途

*   alternative =               " csap_mbom-stlal  Alternative BOM 可选的BOM

*   valid_from =                " csap_mbom-datuv  Valid-from date 开始日期

*   valid_to =                  " csap_mbom-datub  Valid-to date  截止日期

*   change_no =                 " csap_mbom-aennr  Change number  变更号

*   revision_level =            " csap_mbom-revlv  Revision level  版本级别

  IMPORTING

    fl_warning =                " capiflag-flwarning  Log contains warning messages

* TABLES

*   t_stpo =                    " stpo_api02    BOM items BOM明细

*   t_stko =                    " stko_api02    BOM headers BOM表头

*   t_dep_data =                " csdep_dat     Object dependencies: basic data

*   t_dep_descr =               " csdep_desc    Object dependencies: description

*   t_dep_order =               " csdep_ord     Object dependencies: sort sequence

*   t_dep_source =              " csdep_sorc    Object dependencies: source code

*   t_dep_doc =                 " csdep_doc     Object dependencies: documentation

  EXCEPTIONS

    ERROR = 1                   "               Terminate processing

 

You can use this function module to display simple material BOMs. You cannot display BOM groups (for example, all variants of a variant BOM). as in transaction CS03.
Current restrictions:
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'

        EXPORTING

*       ALEKZ                       = ' '              " 是否计算耗损

          capid                       = 'PP01'           " BOM应用

          datuv                       = sy-datum         " 有效起始日

          ehndl                       = '1'

          emeng                       = '1'              " 需求数量

          mehrs                       = 'X'              " 多层展开

          mmory                       = '1'              " 是否使用缓存

          mtnrv                       = itab_mast-matnr "'000000000090000199'     " 展开物料号

          stlan                       = '1'              " BOM用途

          werks                       = itab_mast-werks  "'1002'      " 物料所在工厂

*     IMPORTING

*       TOPMAT                      =

*       DSTST                       =

        TABLES

          stb                         = stb

*       MATCAT                      =

        EXCEPTIONS

          alt_not_found               = 1

          material_not_found          = 3

          missing_authorization       = 4

          no_bom_found                = 5

          OTHERS                      = 9

                .

  IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  ENDIF.

SAP BOM 读取的更多相关文章

  1. 【ABAP系列】SAP BOM反查

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP BOM反查   前言部分 ...

  2. SAP BOM 笔记(本文仅作笔记使用,非原创)

    SAP各种BOM汇总--含义解释(简洁易懂)-转载(原文连接:http://blog.sina.com.cn/s/blog_b9137f430102xpam.html)感谢作者分享     订单BOM ...

  3. .NET通过RFC读取SAP数据

    本篇文章中我主要讲的是.NET如何通过RFC从SAP中读取数据.为了功能的可复用性,我将调用RFC的代码从业务层中分离出来单独建立在一个namespace中. 当然除了需要我们自己编写代码以外,还需要 ...

  4. 物料BOM和生产订单BOM的区别

    物料BOM和生产订单BOM的区别[@more@] 一般企业生产部在SAP创建生产订单的时候,就会产生一个生产订单BOM,这里的生产订单BOM是读取的物料BOM. 由于其它原因,需要修改成品的某几个零部 ...

  5. Open SQL详解

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. php读取文件时多了个%uFEFF[bom字符],怎样去掉?

    今天从记事本文件中读取静态生成记录时,发现读出来的第一个链接打开的时候总是提示非法操作,把鼠标放到链接上发现链接的前面多了个%uFEFF, 百度一查,原来这是好多人都有遇到过的bom头问题,特地记录下 ...

  7. 读取含有BOM头的文件遇到的问题

    需求是读取一个csv文件,然后解析成对应的数据结构.csv必须包含指定的某些列,通过列名header来进行校验. 解析配置文件的方法. public List<QuestionData> ...

  8. Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法

    转载:https://blog.csdn.net/clementad/article/details/47168573 2015-18-01修改:增加 apache commons io 处理方法. ...

  9. Utf-8+Bom编码导致的读取数据部分异常问题

    项目中经常会有这种场景,在配置文件中配置对应关系,项目启动的时候从中读取数据存入map缓存起来,这样使用的时候就可以直接从map找到对应的映射关系. 然后遇到了这么一个诡异的问题,一个简单的映射关系如 ...

随机推荐

  1. java_类的访问控制符

    1.分类: public protected default private是java中的访问控制修饰符. public String name; protected String name; Str ...

  2. Python 国家地震台网中心地震数据集完整分析、pyecharts、plotly,分析强震次数、震级分布、震级震源关系、发生位置、发生时段、最大震级、平均震级

    注意,本篇内容根据我老师布置的数据分析作业展开.请勿抄袭,后果自负! 前情提要 编写这篇文章是为了记录自己是如何分析地震数据集,使用模块,克服一系列 \(bug\) 的过程.如果你是 \(python ...

  3. 2021.07.26 P1022 计算器的改良(字符串)

    2021.07.26 P1022 计算器的改良(字符串) 改进: 如果是我出题,我一定把未知数设为ab.buh.bluesky之类的长度不只是1的字符串! 题意: 一个一元一次方程,求解. 分析: 1 ...

  4. python基础练习题(题目 递归求阶乘)

    day18 --------------------------------------------------------------- 实例026:利用递归方法求5! 分析:递归包括递归体和递归条 ...

  5. 如何使用 Redis 缓存

    如何使用 Redis 缓存 前言 旁路缓存 只读缓存 读写缓存 设置多大的缓存合适 内存被写满了如何处理 缓存经常遇到的问题 1.缓存中的数据和数据库中的不一致 读写缓存 只读缓存 来个异常的栗子 1 ...

  6. 0基础学习docker

    进入docker容器命令 docker exec -it 容器id bash 获取镜像 # 1.获取镜像,镜像托管仓库 docker search centos # 查询centos镜像 docker ...

  7. CSS 字体超出 省略 ... 展示

    效果 /* 标题 */ .title_t{ color: #000000; font-size: 130%; display: inline-block; line-height: 30px; wid ...

  8. 【ACM程序设计】前缀和

    前缀和 ​ 前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和 作用: 一种预处理,求出的前缀和数组可以使得,输出原序列中从第l个数到第r个数和的时间复杂度变成了O(1) . 一维前缀和 ...

  9. 详解:什么是VXLAN?

    点击上方"开源Linux",选择"设为星标"回复"学习"获取独家整理的学习资料! 本文介绍了什么是VXLAN,以及VXLAN的基本概念和工作 ...

  10. 北航内核操作系统-lab0

    1.lab0环境介绍. 2.进入实验界面. 3.进入实战测试. 任务要求: 3.1编写斐波那契数列. 3.2编写Makefile脚本. Makefile介绍: make命令执行时,需要一个 Makef ...