| Mass Select and Print Material
Master Changed History
Contributed by : SAP
Hints and Tips on Configuration and Abap/4 Programming
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.
*** End of Program
Best regards,
SAP Basis, ABAP Programming and Other IMG Stuff
http://www.sap-img.com
All the site contents are Copyright © www.sap-img.com
and the content authors. All rights reserved.
All product names are trademarks of their respective
companies. The site www.sap-img.com is in no way affiliated with
SAP AG.
Every effort is made to ensure the content integrity.
Information used on this site is at your own risk.
The content on this site may not be reproduced
or redistributed without the express written permission of
www.sap-img.com or the content authors.
|