SAP BOM 读取
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 读取的更多相关文章
- 【ABAP系列】SAP BOM反查
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP BOM反查 前言部分 ...
- SAP BOM 笔记(本文仅作笔记使用,非原创)
SAP各种BOM汇总--含义解释(简洁易懂)-转载(原文连接:http://blog.sina.com.cn/s/blog_b9137f430102xpam.html)感谢作者分享 订单BOM ...
- .NET通过RFC读取SAP数据
本篇文章中我主要讲的是.NET如何通过RFC从SAP中读取数据.为了功能的可复用性,我将调用RFC的代码从业务层中分离出来单独建立在一个namespace中. 当然除了需要我们自己编写代码以外,还需要 ...
- 物料BOM和生产订单BOM的区别
物料BOM和生产订单BOM的区别[@more@] 一般企业生产部在SAP创建生产订单的时候,就会产生一个生产订单BOM,这里的生产订单BOM是读取的物料BOM. 由于其它原因,需要修改成品的某几个零部 ...
- Open SQL详解
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- php读取文件时多了个%uFEFF[bom字符],怎样去掉?
今天从记事本文件中读取静态生成记录时,发现读出来的第一个链接打开的时候总是提示非法操作,把鼠标放到链接上发现链接的前面多了个%uFEFF, 百度一查,原来这是好多人都有遇到过的bom头问题,特地记录下 ...
- 读取含有BOM头的文件遇到的问题
需求是读取一个csv文件,然后解析成对应的数据结构.csv必须包含指定的某些列,通过列名header来进行校验. 解析配置文件的方法. public List<QuestionData> ...
- Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法
转载:https://blog.csdn.net/clementad/article/details/47168573 2015-18-01修改:增加 apache commons io 处理方法. ...
- Utf-8+Bom编码导致的读取数据部分异常问题
项目中经常会有这种场景,在配置文件中配置对应关系,项目启动的时候从中读取数据存入map缓存起来,这样使用的时候就可以直接从map找到对应的映射关系. 然后遇到了这么一个诡异的问题,一个简单的映射关系如 ...
随机推荐
- SpringCloudAlibaba注册中心与配置中心之利器Nacos实战与源码分析(上)
不断踩坑并解决问题是每个程序员进阶到资深的必要经历并以此获得满足感,而不断阅读开源项目源码和总结思想是每个架构师成长最佳途径.本篇拉开SpringCloud Alibaba最新版本实战和原理序幕,以工 ...
- CF #781 (Div. 2), (C) Tree Infection
Problem - C - Codeforces Example input 5 7 1 1 1 2 2 4 5 5 5 1 4 2 1 3 3 1 6 1 1 1 1 1 output 4 4 2 ...
- Day 005:PAT练习--1047. 编程团体赛(20)
编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜.现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正整 ...
- Unity实现A*寻路算法学习2.0
二叉树存储路径节点 1.0中虽然实现了寻路的算法,但是使用List<>来保存节点性能并不够强 寻路算法学习1.0在这里:https://www.cnblogs.com/AlphaIcaru ...
- 使用 docker-compose 部署 golang 的 Athens 私有代理
go中私有代理搭建 前言 为什么选择 athens 使用 docker-compose 部署 配置私有仓库的认证信息 配置下载模式 部署 使用秘钥的方式认证私有仓库 1.配置秘钥 2.配置 HTTP ...
- 利用expect批量修改Linux服务器密码
一个执着于技术的公众号 背景 修改Linux系统密码,执行passwd即可更改密码.可如果有成千上百台服务器呢,通过ssh的方式逐一进行修改,对我们来说,工作量是非常大,且效率非常低下.因此采用批量修 ...
- java高级用法之:JNA中的Memory和Pointer
目录 简介 Pointer 特殊的Pointer:Opaque Memory 总结 简介 我们知道在native的代码中有很多指针,这些指针在JNA中被映射成为Pointer.除了Pointer之外, ...
- Nacos源码系列—关于服务注册的那些事
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 简介 首先我们在看Nacos源码之前,要 ...
- 关于利用STL栈求解四则中缀表达式以及中缀表达式转逆波兰表达式和逆波兰表达式的求解
今天总结一下栈的一个重要应用---四则数学表达式的求解 数学表达式的求解是栈的一个重要的应用,在计算机的应用中 如果求解一个四则运算表达式,我们可能会直接写一个程序例如什么printf("% ...
- 有了 Promise 和 then,为什么还要使用 async?
有了 Promise 和 then,为什么还要使用 async? 本文写于 2020 年 5 月 13 日 最近代码写着写着,我突然意识到一个问题--我们既然已经有了 Promise 和 then,为 ...