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. Go xmas2020 学习笔记 10、Slices in Detail

    10-Slices in Detail. Slice. Empty vs nil slice

  2. Python 读取UCI iris数据集分析、numpy基础学习

    python基础.numpy使用.io读取数据集.数据处理转换与简单分析.读取UCI iris数据集中鸢尾花的萼片.花瓣长度数据,进行数据清理,去重,排序,并求出和.累积和.均值.标准差.方差.最大值 ...

  3. JavaScript学习总结9

    今天学习了表单提交,JQuery部分知识

  4. OpenHarmony标准设备应用开发(一)——HelloWorld

    (以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 邢碌 本文是 OpenAtom OpenHarmony(以下简称"OpenHarmony")标准设 ...

  5. 【职场必备】6个免费良心网站&职场办公网站(收藏血赚)

    1.随机自动生成头像的网站:https://www.tool22.com/Tools-SJTX.html2.迅捷PDF转换器:https://app.xunjiepdf.com/3.全网音乐下载:① ...

  6. 面试突击41:notify是随机唤醒吗?

    做 Java 开发的小伙伴,对 wait 方法和 notify 方法应该都比较熟悉,这两个方法在线程通讯中使用的频率非常高,但对于 notify 方法的唤醒顺序,有很多小伙伴的理解都是错误的,有很多人 ...

  7. 重磅!业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目

    摘要:4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目. 4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个 ...

  8. arduino 天下第一(暴论) -- 智能猫眼与 SDDC 连接器移植到 arduino 上

    前言 之前看了官方玩过一个智能猫眼摄像头,我很有兴趣,但是那个 IDF 平台属实难整,我光安装都整了一天,网不好下载的包可能有问题.然后命令行操作也比较麻烦,我就想到了无敌的 arduino ,ESP ...

  9. 转载:Linux图形界面知识(介绍X、X11、GNOME、Xorg、KDE等之间的关系)

    转载 http://blog.csdn.net/zhangxinrun/article/details/7332049Linux初学者经常分不清楚linux和X之间,X和Xfree86之间,X和KDE ...

  10. Kubernetes 的这些原理,你一定要了解

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 作者:fredalxin地址:https://freda ...