【ABAP系列】SAP BOM反查

公众号: SAP Technical
本文作者: matinal
 

 

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

TCODE::CS15

或者函数::CS_WHERE_USED_MAT 

​

tables : stpo,stas,mara,makt.

data : begin of itab occurs 200,
       matnr like mast-matnr,
       menge like stpo-menge,
       end of itab.

data : begin of alttab occurs 200,
       matnr like mast-matnr,
       menge like stpo-menge,
       end of alttab.

data : begin of top_code occurs 100,
       matnr(18),
       maktx(40),
       meins(3),
       menge like stpo-menge,
       matkl(9),
       wrkst(14),
       end of top_code.

data : begin of makr occurs 10,
       maker(7),
       idnlf(22),
       end of makr.

data : begin of usedtab occurs 100.
        include structure stpov.
data : end of usedtab.

data : begin of equicat occurs 100.
        include structure  cscequi.
data : end of equicat.

data : begin of kndcat occurs 100.
        include structure  cscknd.
data : end of kndcat.

data : begin of matcat occurs 100.
        include structure  cscmat.
data : end of matcat.

data : begin of stdcat occurs 100.
        include structure   cscstd.
data : end of stdcat.

data : begin of tplcat occurs 100.
        include structure   csctpl.
data : end of tplcat.

data : top_cnt(5) type n,
       m_cnt(5) type n,
       lin(5) type n,
       line_cnt(5) type n.

selection-screen begin of block blk1 with frame.
selection-screen : comment 1(60) text-001,
                   skip.
parameters : matnr like marc-matnr obligatory,
             werks like marc-werks obligatory default 'PQ50'.
select-options : bdate for sy-datum default sy-datum to sy-datum
                 no-extension obligatory.
selection-screen end of block blk1.

start-of-selection.
  itab-matnr = matnr.
  itab-menge = 1.
  append itab.
  clear itab.

  perform get_top_code.

************************************
*&---------------------------------------------------------------------*
*&      Form  GET_TOP_CODE
*&---------------------------------------------------------------------*
form get_top_code.

  clear lin.
  describe table itab lines lin.
  if lin = 0.
    exit.
  endif.

  loop at itab.
    call function 'CS_WHERE_USED_MAT'
         exporting
              datub                      = bdate-high
              datuv                      = bdate-low
              matnr                      = itab-matnr
              werks                      = werks
         tables
              wultb                      = usedtab
              equicat                    = equicat
              kndcat                     = kndcat
              matcat                     = matcat
              stdcat                     = stdcat
              tplcat                     = 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.

    clear line_cnt.
    describe table usedtab lines line_cnt.
    if line_cnt = 0.          
      move itab-matnr to top_code-matnr.
      top_code-menge = itab-menge.
      collect top_code.
      clear top_code.
    else.
      loop at usedtab where postp ne 'F' and datuv le bdate-high
                      and ( sumfg = ' ' or sumfg = 'x' ).
        select single lkenz into stas-lkenz from stas
               where stlty = 'M'
               and   stlnr = usedtab-stlnr
               and   stlal = '01'
               and   stlkn = usedtab-stlkn
               and   datuv le bdate-low
               and   lkenz = 'X'.
        if sy-subrc ne 0.
          move usedtab-matnr to alttab-matnr.
          alttab-menge = usedtab-menge * itab-menge.
          collect alttab.
        endif.
        clear alttab.
      endloop.
    endif.
    refresh : usedtab,equicat,kndcat,matcat,stdcat,tplcat.

  endloop.

  refresh itab.
  itab[] = alttab[].
  refresh alttab.
  perform get_top_code.

endform.                    " GET_TOP_CODE

 

转载于:https://www.cnblogs.com/SAPmatinal/p/11183534.html

ABAP BOM 递归查物料方法 阅读详情

相关推荐

别再手动递归了!用SAP BAPI搞定物料BOM正查与反查的完整流程

本文详细介绍了如何利用SAP BAPI实现物料BOM的正向展开与反向追溯自动化,告别低效的手动递归操作。重点解析了`CS_BOM_EXPL_MAT_V2_RFC`和`CS_WHERE_USED_MAT`两个核心BAPI的使用方法,包括参数配置、结果处理及递归算法实现,帮助制造业和供应链管理提升BOM查询效率。

weixin_32187037的博客 348

SAP 批量BOM反查

批量BOM反查 SAP PP MRP,似类于CS15,但CS15只能逐个的查。

SAP BOM查询实战:从正查到反查的完整指南

本文详细介绍了SAP系统中BOM(物料清单)的正查与反查实战操作,包括基础概念、常用事务代码(如CS11、CS12、CS15)和高级应用技巧。通过实际案例和ABAP代码示例,帮助用户高效处理BOM查询、工程变更和质量追溯等业务场景,提升工作效率。

weixin_32466193的博客 135

SAP BOM批量反查代码分享

SAP BOM反查批量查询代码分享

我小时候很黑的博客 4887

SAP ABAP 反查BOM, 找出它的上阶

更多内容关注公众号:SAP Technical 各位可以关注我的公众号:SAP Technical 查询物料的上阶方法有三: 1. CS15 可直接查出物料的上阶直至顶阶物料. 2. CALL FUNCTION. 只能查上上阶, 要想得到顶阶, 需要递归查询. CS_WHERE_USED_MAT Bills of material; where-used li...

matinal 當冬夜漸暖 。公众号:matinal 4319

ABAP BOM反查至成品

记录一下反查的代码,稍微改改就能用 LOOPATgt_item. "第一次反查 CALLFUNCTION'CS_WHERE_USED_MAT' EXPORTING datub=sy-datum datuv=sy-datum matnr=gt_item-matnr werk...

yiyuzz的博客 1432

展开BOM反查BOM的FUNCTION

昨天下午和今天早上主要研究了如何进行展BOM反查BOM表。以下程序演示了4种方式,分别为: 1、展开单层BOM 2、展开多层BOM 3、反查单层BOM 4、反查多层BOM 主要用到2个BAPI函数,分别为: 1、CS_BOM_EXPL_MAT_V2 展BOM表 2、CS_WHERE_USED_MAT 反查BOM表 参考了资料:http://blog.csdn.n...

weixin_30718391的博客 649

SAP BOM反查

博客转移,点击进入:SAP BOM反查 我在公众号里写了很多SAP 的文章 有兴趣可以关注一下 公众号:SAP Technical

matinal 當冬夜漸暖 。公众号:matinal 4189

SAP BOM查询保姆级指南:从CS11到CS15,手把手教你正查、反查与比较

本文详细介绍了SAP系统中BOM(物料清单)查询的全方位指南,涵盖从基础概念到高级应用的各个环节。通过CS11到CS15等事务代码的详细解析,手把手教你掌握BOM的正查、反查与比较技巧,助力提升制造业和供应链管理中的物料控制效率。

weixin_30843121的博客 412

反查bom

 SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}.L1S31 {font-style: italic;color: #808080;}.L1S32 {color: #3399FF;}.L1S33 {color:

755

别再手动递归了!用CS_WHERE_USED_MAT搞定SAP物料反查BOM的完整流程

本文详细介绍了如何利用SAP标准函数CS_WHERE_USED_MAT实现物料反查BOM的工业级解决方案,替代传统手动递归方法。通过解析函数核心参数、递归与循环队列实现全链路追溯,以及进阶的去重、可视化与性能优化技巧,帮助用户高效完成质量追溯、变更影响分析等关键业务场景。

weixin_29611239的博客 297

别再手动递归了!用SAP BAPI CS_WHERE_USED_MAT一键搞定物料‘族谱’反查

本文介绍了如何利用SAP BAPI CS_WHERE_USED_MAT实现物料全链路追踪,解决传统BOM反查效率低下的问题。通过智能递归算法和ABAP代码优化,大幅提升物料溯源效率,适用于制造业紧急决策和质量追溯场景。

weixin_30702441的博客 305

SAP ABAP 创建BOM,创建多备选BOM

方法二:CSAP_MAT_BOM_MAINTAIN。方法一:CSAP_MAT_BOM_CREATE。拷贝标准函数,更改标准代码如下。

Hi_wakeup的博客 1094

告别混乱!用CS_BOM_EXPL_MAT_V2和CS_WHERE_USED_MAT搞定SAP BOM开发

本文详细介绍了如何利用SAP函数模块CS_BOM_EXPL_MAT_V2和CS_WHERE_USED_MAT高效处理物料清单(BOM)数据,解决制造业和供应链管理中的核心挑战。通过解析关键参数、优化性能技巧和实战案例,帮助ABAP开发人员构建可靠的BOM分析报表,提升数据处理效率和准确性。

weixin_29596051的博客 278

SAP LCM存货减值实战:从BOM反查到成本计算的完整避坑指南

本文详细解析了SAP LCM存货减值计算的完整流程,从BOM反查到成本计算的关键技术实现。通过ABAP代码示例和性能优化方案,帮助用户有效处理跨工厂BOM反查、可配置BOM计算等复杂场景,避免常见错误,提升存货减值计算的准确性和效率。

weixin_29306011的博客 221

手把手教你用BAPI:CS_BOM_EXPL_MAT_V2和CS_WHERE_USED_MAT实战代码详解

本文深入解析SAP系统中BOM正查与反查的核心BAPI——CS_BOM_EXPL_MAT_V2和CS_WHERE_USED_MAT的实战应用。通过详细代码示例和参数说明,帮助开发者掌握自动化BOM数据处理技术,提升生产制造和物料管理效率,特别适用于BOM反查等复杂场景。

weixin_31842715的博客 347

SAP LCM存货减值实战:从BOM反查到成品料号跌价计算的完整流程

本文详细解析了SAP LCM存货减值计算的完整实战流程,重点攻克了从BOM反查到成品料号跌价计算的技术难点。针对可配置BOM导致的数据爆炸问题,提供了分而治之、结果缓存等优化策略,并深入阐述了成本与售价获取、跌价分摊逻辑及性能优化方案,为财务与顾问人员提供了一套清晰、可落地的解决方案。

spark7igniter的博客 262
上一篇: 【FICO系列】SAP FICO折旧记账时出现错误:没有找到与所做选择一致的数据
下一篇: 【MM系列】SAP 根据PO查找对应的打印FORM
ARICK2014
博客等级 码龄12年 96粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值