SAP中如何查看BOM的修改记录呢?

方案一:se38:RCS00100,F8执行(DATUM表示开始日期,tabname:BOM的Header,填写STKO;如落实到item级别,填写STPO)。然后再执行即可看到00104708该用户所做得创建,修改,删除bom得所有记录(哈哈很简单把,我也觉得很简单,而且结果确实看到了,我所做得关于bom得每一笔数据,测试成功!)

方案二:se11/se12:CDHDR【CDHDR是记录Header层面的Change,CDPOS记录item级别的Change】(实用程序-表内容-显示)

 

第一步:SE12,Table=CDHDR,Table Contents。字段选择如下填写: 

Change doc. object=STUE(排他性的) 

Date:起止日期,自己确定,日期段落越大,运行时间越长 

Transaction:CS02(除了CS02变更BOM之外,我想不出还有什么删除BOM的方法) 

Appl.obj.change:U(只能是U,但我本人也很迷惑为什么删除了的BOM不能是D)执行。系统将显示有关的记录,记录下有关的Object value的号码。 

 

第二步:SE12,Table=CDPOS,Table Contents。字段选择如下填写: 

Change doc. object=STUE(排他性的) 

Object Value:从第一步获得 

Table name:STPO(排他性的) 

Change ID:D,U反映的是item值的新旧对比记录

concatenate sy-mandt 'M' itab_bom-stlnr into objectid.
  clear itab_cdhdr.
  refresh itab_cdhdr.
  clear change_data.
  refresh change_data.

  CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
      EXPORTING
        DATE_OF_CHANGE    = '00000000'
        OBJECTCLASS       = 'STUE'
        OBJECTID          = objectid
        TIME_OF_CHANGE    = '000000'
        USERNAME          = ''
      TABLES
        I_CDHDR           = ICDHDR
      EXCEPTIONS
        NO_POSITION_FOUND = 1
        OTHERS            = 2.

  if icdhdr[] is not initial.
    loop at icdhdr where udate >= s_erdat-low.
      itab_cdhdr-objectclas = icdhdr-objectclas.
      itab_cdhdr-objectid = icdhdr-objectid.
      itab_cdhdr-changenr = icdhdr-changenr.
      itab_cdhdr-udate = icdhdr-udate.
      append itab_cdhdr.

      CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
        EXPORTING
          CHANGENUMBER      = ICDHDR-CHANGENR
*          TABLEKEY          = TABKEY
          TABLENAME         = 'STPO'
        IMPORTING
          HEADER            = CDHDR
        TABLES
          EDITPOS           = ICDSHW
       EXCEPTIONS
         NO_POSITION_FOUND = 1
         OTHERS            = 2.
*
*    select objectclas objectid changenr tabname tabkey fname chngind
*           value_new value_old from cdpos into table change_data
*     where objectclas = 'STUE' and objectid = bom_temp-objectid
*       and tabkey = bom_temp-tabkey and tabname = 'STPO' and
*           ( fname = 'IDNRK' or fname = 'MENGE' or fname = 'KEY' ).

     if icdshw[] is not initial.
       loop at icdshw.
         MOVE itab_cdhdr-objectclas  TO change_data-objectclas.
         MOVE itab_cdhdr-objectid  TO change_data-objectid.
         MOVE itab_cdhdr-changenr  TO change_data-changenr.
         MOVE itab_cdhdr-udate TO change_data-udate.
         MOVE ICDSHW-TABNAME TO change_data-tabname.
         MOVE ICDSHW-TABKEY TO change_data-tabkey.
         MOVE ICDSHW-FNAME TO change_data-fname.
         MOVE ICDSHW-F_OLD TO change_data-value_old.
         MOVE ICDSHW-F_NEW TO change_data-value_new.
         MOVE ICDSHW-CHNGIND TO change_data-chngind.
         APPEND change_data.
       endloop.
     endif.
    endloop.
  endif.

 

<think>好的,用户想了解在SAP中如何进行BOM的批量查看方法。首先,我需要回忆一下SAP中与BOM相关的常用事务码和功能。记得CS15是用来查询物料在哪些BOM中被使用的,这个可能符合用户的需求,因为它可以批量列出所有使用某个物料的BOM。然后,CS11多层BOM展开可能适用于查看多层结构,但不确定是否支持批量处理。 另外,用户提到的引用[1]和[2]提到了批量替换和修改BOM的方法,其中提到了事务码CS20和CC01/CC02,这些可能和批量查看相关吗?可能需要进一步确认。比如,CS20用于批量替换BOM中的物料,但用户需要的是查看,所以可能不直接相关。但也许在替换前需要先查看哪些BOM包含该物料,这时候CS15就派上用场了。 接下来,用户可能需要导出数据进行分析,所以使用报表或导出功能也很重要。比如运行报表CS15后,导出结果到Excel,这样可以方便批量查看和处理。另外,后台表STPO存储了BOM组件的信息,直接查询这个表可能更灵活,特别是对于熟悉ABAP的用户来说,可以编写程序来批量获取数据。 还需要考虑用户的使用场景,可能是在生产或物料管理中需要快速核查多个BOM的结构,或者进行物料替换前的准备工作。这时候,分步骤的方法会更清晰,比如先通过CS15查找使用特定物料的BOM,再用CS03逐个查看,或者用CS11展开多层结构。同时,导出到Excel或使用SE16N查看表数据也是有效的辅助手段。 可能用户没有提到的深层需求是希望高效地处理大量BOM数据,而不仅仅是单个查看。因此,强调批量处理工具和导出功能会更有帮助。另外,确保提到的每个步骤都具体,比如如何输入事务码,设置参数,执行并导出结果,这样用户能一步步跟随操作。 最后,检查是否有遗漏的事务码或方法,比如其他报表或第三方工具,但根据引用内容,主要使用标准事务码和报表应该足够。确认提到的每个方法都符合SAP的标准功能,避免推荐用户可能没有权限或未安装的工具。</think>在SAP系统中进行BOM批量查看可通过以下方法实现: ### 一、使用标准事务码批量查询 1. **CS15(物料BOM用途清单)** - 输入事务码`CS15`,输入需要查询的**物料编号**和**工厂代码** - 设置筛选条件:选择BOM用途(如生产BOM、销售BOM等) - 执行后系统会列出该物料在**所有父项BOM中的使用记录**,支持导出到Excel进行批量分析[^1] 2. **CS03(显示物料BOM)** - 输入事务码`CS03`后,使用菜单路径**环境→多重物料→选择**,输入多个物料编号 - 系统将批量显示这些物料的BOM结构,可比较不同BOM的组件差异 ### 二、批量分析多层结构 1. **CS11多层BOM展开** - 通过事务码`CS11`输入父项物料,选择展开层级 - 勾选**"多层展开"**选项,可批量查看完整的产品结构树 - 输出结果包含用量、组件替代关系等关键信息 2. **CS12汇总式BOM** - 使用事务码`CS12`进行汇总分析 - 输入多个父项物料,生成**跨BOM的组件用量汇总表** - 支持按工厂、有效期等条件过滤 ### 三、高级批量处理方案 1. **报表开发** - 通过表`STPO`(BOM项目)和`MAST`(物料BOM链接)开发自定义报表 - 示例SQL逻辑: ```sql SELECT mast.matnr AS 父项物料, stpo.idnrk AS 组件物料 FROM mast JOIN stpo ON mast.stlnr = stpo.stlnr WHERE stpo.idnrk IN ('物料1','物料2') ``` - 使用事务码`SE16N`可直接查询表数据[^2] 2. **批量导出工具** - 使用LSMW或ABAP程序批量导出BOM数据 - 通过事务码`MC47`导出BOM到Excel文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值