A simple ABAP program to find orphaned includes. These are includes that are no longer referenced by programs and provides a useful housekeeping tool.
BEGIN OF t_all_includes,
prog LIKE d010sinf-prog,
END OF t_all_includes,
BEGIN OF t_used_includes,
include LIKE d010inc-include,
END OF t_used_includes.
itab_all_includes TYPE STANDARD TABLE OF t_all_includes,
itab_used_includes TYPE STANDARD TABLE OF t_used_includes,
wa_all_includes TYPE t_all_includes,
wa_used_includes TYPE t_used_includes.
* get a list of all includes first
*(the appl ne ‘S’ removes classes* from the list)
INTO TABLE itab_all_includes
WHERE prog LIKE ‘Z%’
AND subc = ‘I’
AND appl NE ‘S’.
SORT itab_all_includes BY prog.
* this table is a list of includes with parent program
INTO TABLE itab_used_includes
WHERE include LIKE ‘Z%’.
SORT itab_used_includes BY include.
* now list the includes that are not in the above table
LOOP AT itab_all_includes INTO wa_all_includes.
READ TABLE itab_used_includes
WITH KEY include = wa_all_includes-prog
TRANSPORTING NO FIELDS
IF sy-subrc NE 0.
*Source = Nathan Jones