Report customer modifications of SAP standard in your system
How many modifications of SAP standard programs and other objects do you have?
This is an amazing question and the answer has a direct impact on the scope of an upgrade.
This is an amazing question and the answer has a direct impact on the scope of an upgrade.
Here some possibilities to report modifications:
- Transaction SE95 - Modification Browser
- Transaction SPDD and SPAU
- Transaction CNV_CDMC - Custom Development Management Cockpit (CDMC) - one of the Ad-hoc reports
Here is my program to report modifications from table SMODILOG,
the flag 'X' in column PROT_ONLY means that object was modified without modification assistent.
the flag 'X' in column PROT_ONLY means that object was modified without modification assistent.
REPORT zs_modif.
DATA:
lt_smodilog TYPE TABLE OF smodilog,
ls_smodilog TYPE smodilog,
lv_namespace TYPE namespace,
lo_table TYPE REF TO cl_salv_table.
SELECT * FROM smodilog
INTO ls_smodilog
WHERE NOT ( int_type = 'DUMY'
OR int_type = 'XXXX' )
AND NOT ( operation = 'MIGR'
OR operation = 'IMP'
OR operation = 'TRSL'
OR operation = 'NOTE' )
AND inactive = ' '.
CALL FUNCTION 'TRINT_GET_NAMESPACE'
EXPORTING
iv_pgmid = 'R3TR'
iv_object = ls_smodilog-obj_type
iv_obj_name = ls_smodilog-obj_name
IMPORTING
ev_namespace = lv_namespace.
* skip modifications of customer objects (not original system)
CHECK NOT lv_namespace = '/0CUST/'.
APPEND ls_smodilog TO lt_smodilog.
ENDSELECT.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = lo_table
CHANGING
t_table = lt_smodilog.
lo_table->set_screen_status( pfstatus = 'STANDARD_FULLSCREEN'
report = 'SAPLSLVC_FULLSCREEN'
set_functions = lo_table->c_functions_all ).
lo_table->display( ).
DATA:
lt_smodilog TYPE TABLE OF smodilog,
ls_smodilog TYPE smodilog,
lv_namespace TYPE namespace,
lo_table TYPE REF TO cl_salv_table.
SELECT * FROM smodilog
INTO ls_smodilog
WHERE NOT ( int_type = 'DUMY'
OR int_type = 'XXXX' )
AND NOT ( operation = 'MIGR'
OR operation = 'IMP'
OR operation = 'TRSL'
OR operation = 'NOTE' )
AND inactive = ' '.
CALL FUNCTION 'TRINT_GET_NAMESPACE'
EXPORTING
iv_pgmid = 'R3TR'
iv_object = ls_smodilog-obj_type
iv_obj_name = ls_smodilog-obj_name
IMPORTING
ev_namespace = lv_namespace.
* skip modifications of customer objects (not original system)
CHECK NOT lv_namespace = '/0CUST/'.
APPEND ls_smodilog TO lt_smodilog.
ENDSELECT.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = lo_table
CHANGING
t_table = lt_smodilog.
lo_table->set_screen_status( pfstatus = 'STANDARD_FULLSCREEN'
report = 'SAPLSLVC_FULLSCREEN'
set_functions = lo_table->c_functions_all ).
lo_table->display( ).
Full list of examples in my infodepot
If you have a question, have found an error or just want to contact me, please use this form.
If you have a question, have found an error or just want to contact me, please use this form.
Copyright (C) 2012 http://www.kerum.pl/infodepot/
Disclaimer: I am not affiliated or related to any division or subsidiary of SAP AG.
Trademarks or registered trademarks of any products or companies referred to on this site belong to those companies.
Anyone using the given solutions, is doing it under his/her own responsibility and at own risk.