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.
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
Neither of these methods suits my needs. I need a plain list with filter possibility and I'm not interested in modifications done by implementation of OSS notes. So I'm reporting the modifications from table SMODILOG taking advantage of ALV possibilities (sort, filter, export to spreed sheet).
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.
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( ).
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.

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.