Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Sample Code arrow ABAP Reports arrow Mass Display / Print of Material Master Changed History
Mass Display / Print of Material Master Changed History PDF Print E-mail
User Rating: / 0
PoorBest 
Written by Anon.   
Saturday, 20 January 2007
Material Master Changed History ==================================================
 Mass Select and Print Material Master Changed History
 ==================================================
 4.6x
 
 REPORT ZMMCHGHISTORY NO STANDARD PAGE HEADING
 LINE-SIZE 195 LINE-COUNT 60.
 
 * Change doc listing
 * Grouped into 3 chg types: 1. Part revision 2. Price change 3. Others
 
 TABLES:
 CDHDR, CDPOS, MARA, MAKT, MARD.
 
 FIELD-GROUPS: HEADER.
 
 DATA: BEGIN OF CHGDOC OCCURS 50.
 INCLUDE STRUCTURE CDRED.
 DATA: END OF CHGDOC.
 
 
 DATA:
 CHGTYPE(1),
 PLANT(4),
 MATNR1 LIKE CHGDOC-OBJECTID.
 
 
 SELECT-OPTIONS:
 XMATNR FOR CDHDR-OBJECTID, "Material
 XUDATE FOR CDHDR-UDATE, "Change Date
 XUNAME FOR CDHDR-USERNAME, "User Name
 XTCODE FOR CDHDR-TCODE, "Transaction Code
 XWERKS FOR MARD-WERKS. "Plants
 
 SELECTION-SCREEN SKIP.
 
 *Filter change type
 SELECTION-SCREEN BEGIN OF BLOCK CHG0 WITH FRAME TITLE TEXT-001.
 PARAMETERS : XCHG1 AS CHECKBOX DEFAULT 'X',
 XCHG2 AS CHECKBOX DEFAULT 'X',
 XCHG3 AS CHECKBOX DEFAULT 'X'.
 SELECTION-SCREEN END OF BLOCK CHG0.
 
 
 
 START-OF-SELECTION.
 
 INSERT:
 CHGDOC-OBJECTID "Material
 CHGTYPE "Change type
 PLANT
 CHGDOC-CHANGENR
 CHGDOC-USERNAME
 CHGDOC-UDATE
 CHGDOC-TCODE
 CHGDOC-TABNAME
 CHGDOC-TABKEY
 CHGDOC-CHNGIND
 CHGDOC-FNAME
 CHGDOC-FTEXT
 CHGDOC-TEXTART
 CHGDOC-OUTLEN
 CHGDOC-F_OLD
 CHGDOC-F_NEW
 
 INTO HEADER.
 
 SELECT * FROM MARA WHERE MATNR IN XMATNR.
 
 MATNR1 = MARA-MATNR.
 
 CALL FUNCTION 'CHANGEDOCUMENT_READ'
 EXPORTING
 * ARCHIVE_HANDLE = 0
 * CHANGENUMBER = ' '
 * DATE_OF_CHANGE = '00000000'
 OBJECTCLASS = 'MATERIAL'
 OBJECTID = MATNR1
 * TABLEKEY = ' '
 * TABLENAME = ' '
 * TIME_OF_CHANGE = '000000'
 * USERNAME = ' '
 * LOCAL_TIME = ' '
 TABLES
 EDITPOS = CHGDOC
 EXCEPTIONS
 NO_POSITION_FOUND = 1
 WRONG_ACCESS_TO_ARCHIVE = 2
 TIME_ZONE_CONVERSION_ERROR = 3
 OTHERS = 4.
 
 LOOP AT CHGDOC.
 
 CHECK: CHGDOC-UDATE IN XUDATE,
 CHGDOC-USERNAME IN XUNAME,
 CHGDOC-TCODE IN XTCODE.
 
 * Chg type: 1. Part revision, 2. Price change, 3. Others
 CASE CHGDOC-TCODE.
 WHEN 'MM01' OR 'MM02' OR 'MM03'. CHGTYPE = '1'.
 WHEN 'MR21'. CHGTYPE = '2'.
 WHEN OTHERS. CHGTYPE = '3'.
 ENDCASE.
 
 * Filter chg type
 IF ( CHGTYPE = '1' AND XCHG1 <> 'X' ) OR
 ( CHGTYPE = '2' AND XCHG2 <> 'X' ) OR
 ( CHGTYPE = '3' AND XCHG3 <> 'X' ).
 CONTINUE.
 ENDIF.
 
 * Plant is a substring of tabkey
 PLANT = CHGDOC-TABKEY+21(4).
 
 IF NOT ( XWERKS IS INITIAL ) AND NOT ( PLANT IS INITIAL ).
 CHECK PLANT IN XWERKS.
 ENDIF.
 
 EXTRACT HEADER.
 
 ENDLOOP.
 
 ENDSELECT.
 
 END-OF-SELECTION.
 
 SORT.
 LOOP.
 * Material
 AT NEW CHGDOC-OBJECTID.
 SELECT SINGLE * FROM MAKT WHERE MATNR = CHGDOC-OBJECTID.
 FORMAT INTENSIFIED ON.
 SKIP. SKIP.
 WRITE:/' *** Material:', (18) CHGDOC-OBJECTID, MAKT-MAKTX.
 ENDAT.
 
 * Change type
 AT NEW CHGTYPE.
 FORMAT INTENSIFIED ON.
 SKIP.
 CASE CHGTYPE.
 WHEN '1'. WRITE:/ ' ** Change type: PARTS REVISION'.
 WHEN '2'. WRITE:/ ' ** Change type: PRICE CHANGE'.
 WHEN '3'. WRITE:/ ' ** Change type: OTHERS'.
 ENDCASE.
 SKIP.
 ENDAT.
 
 SHIFT CHGDOC-F_OLD LEFT DELETING LEADING SPACE.
 SHIFT CHGDOC-F_NEW LEFT DELETING LEADING SPACE.
 
 FORMAT INTENSIFIED OFF.
 WRITE:
 / PLANT UNDER 'Plant',
 (50) CHGDOC-FTEXT UNDER 'Field',
 (45) CHGDOC-F_OLD UNDER 'Old value',
 (45) CHGDOC-F_NEW UNDER 'New value'.
 
 AT NEW CHGDOC-CHANGENR.
 FORMAT INTENSIFIED OFF.
 WRITE:
 CHGDOC-CHANGENR UNDER 'Change doc',
 CHGDOC-TCODE UNDER 'Tcod',
 CHGDOC-USERNAME UNDER 'User name ',
 CHGDOC-UDATE UNDER 'Date ' DD/MM/YY.
 ENDAT.
 
 AT END OF CHGDOC-OBJECTID.
 SKIP.
 ULINE.
 SKIP.
 ENDAT.
 ENDLOOP.
 
 
 TOP-OF-PAGE.
 WRITE: / SY-DATUM, SY-UZEIT,
 50 'ABC PTE LTD',
 100 'page', SY-PAGNO,
 / SY-REPID,
 48 'Change Documents Report',
 100 SY-UNAME.
 
 SKIP.
 ULINE.
 
 WRITE:/3
 'Change doc',
 'Tcod',
 'User name ',
 'Date ',
 'Plant',
 (50) 'Field',
 (45) 'Old value',
 (45) 'New value'.
 
 ULINE.
 
< Prev   Next >

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 332
Sample Code: 164
Total Contributions: 548

Member Activity
Members: 6125 since 2/1/2007!
New: 7 since yesterday!
Visitors: 985324

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor