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值的新舊對比記錄

-------------------------------------------------求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       EXPORTING  
 9         DATE_OF_CHANGE    = '00000000'  
10         OBJECTCLASS       = 'STUE'  
11         OBJECTID          = objectid  
12         TIME_OF_CHANGE    = '000000'  
13         USERNAME          = ''  
14       TABLES  
15         I_CDHDR           = ICDHDR  
16       EXCEPTIONS  
17         NO_POSITION_FOUND = 1  
18         OTHERS            = 2.  
19   
20   if icdhdr[] is not initial.  
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         EXPORTING  
30           CHANGENUMBER      = ICDHDR-CHANGENR  
31 *          TABLEKEY          = TABKEY  
32           TABLENAME         = 'STPO'  
33         IMPORTING  
34           HEADER            = CDHDR  
35         TABLES  
36           EDITPOS           = ICDSHW  
37        EXCEPTIONS  
38          NO_POSITION_FOUND = 1  
39          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 not initial.  
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          APPEND change_data.  
60        endloop.  
61      endif.  
62     endloop.  
63   endif.  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM