bom更改编号 sap_SAP中如何查找BOM修改记录
1.0 相关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值的新旧对比记录
2.0 相关BOM代码
-------------------------------------------------求SAP系统用ABAP开发关于BOM的修改记录或日志报表[程序未测试]------------------------------------------
1 concatenate sy-mandt 'M' itab_bom-stlnr into objectid.2 clear itab_cdhdr.3 refresh itab_cdhdr.4 clear change_data.5 refresh change_data.6 7 CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'8 EXPORTING9 DATE_OF_CHANGE = '00000000'10 OBJECTCLASS = 'STUE'11 OBJECTID =objectid12 TIME_OF_CHANGE = '000000'13 USERNAME = ''14 TABLES15 I_CDHDR =ICDHDR16 EXCEPTIONS17 NO_POSITION_FOUND = 118 OTHERS = 2.19 20 if icdhdr[] is notinitial.21 loop at icdhdr where udate >= s_erdat-low.22 itab_cdhdr-objectclas = icdhdr-objectclas.23 itab_cdhdr-objectid = icdhdr-objectid.24 itab_cdhdr-changenr = icdhdr-changenr.25 itab_cdhdr-udate = icdhdr-udate.26 append itab_cdhdr.27 28 CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'29 EXPORTING30 CHANGENUMBER = ICDHDR-CHANGENR31 *TABLEKEY = TABKEY
32 TABLENAME = 'STPO'33 IMPORTING34 HEADER =CDHDR35 TABLES36 EDITPOS =ICDSHW37 EXCEPTIONS38 NO_POSITION_FOUND = 139 OTHERS = 2.40 *
41 *select objectclas objectid changenr tabname tabkey fname chngind
42 *value_new value_old from cdpos into table change_data
43 *where objectclas = 'STUE' and objectid = bom_temp-objectid
44 *and tabkey = bom_temp-tabkey and tabname = 'STPO' and
45 *( fname = 'IDNRK' or fname = 'MENGE' or fname = 'KEY' ).
46 47 if icdshw[] is notinitial.48 loop at icdshw.49 MOVE itab_cdhdr-objectclas TO change_data-objectclas.50 MOVE itab_cdhdr-objectid TO change_data-objectid.51 MOVE itab_cdhdr-changenr TO change_data-changenr.52 MOVE itab_cdhdr-udate TO change_data-udate.53 MOVE ICDSHW-TABNAME TO change_data-tabname.54 MOVE ICDSHW-TABKEY TO change_data-tabkey.55 MOVE ICDSHW-FNAME TO change_data-fname.56 MOVE ICDSHW-F_OLD TO change_data-value_old.57 MOVE ICDSHW-F_NEW TO change_data-value_new.58 MOVE ICDSHW-CHNGIND TO change_data-chngind.59 APPENDchange_data.60 endloop.61 endif.62 endloop.63 endif.
文章来自于网络,如果侵犯了您的权益,请联系站长删除!