Technical Articles
Interactively Update Where-Used List
Dear Community,
Through this blog, I would like to share a trivial topic with screenshots on how to rectify the where-used list interactively for any program. This corruption of where-used list output is even applicable on SAP S/4 HANA as well (my system is 1709 release).
SAP stores the where-used details of any artifact in the table WBCROSSGT. Sometimes this table contains old references of DDIC objects which got deleted or renamed or whose usage was removed. In those situations, if we want to sanitize the transport then we are usually need to delete the unused DDIC artifacts but since the where-used list is not yet updated, it causes issues while deletion.
Solution for this problem is to manually ‘Update the Navigation Index’ for every DDIC artifact’s usage source so that incorrect references in index table are cleaned.
Steps to achieve the same are illustrated below –
1. Observe the inconsistent index entry in table WBCROSSGT.
2. Open the include in SE38.
3. Go the menu option to ‘Update Navigation Index’ and see the inconsistent where-used list
disappear.
Though this is a very basic topic, feedback and learnings are most welcome.
References-
https://blogs.sap.com/2013/11/04/tip-n-1-how-to-fix-the-where-used-list/
PS: As aptly pointed by Matthew Billingham , the standard SAP report fixes the incorrect where-used list for all objects, be it custom or standard.
Nice blog. It had me go back and take a look at the "how to fix" where-used blog. I wonder how long that job would run.
I still see a gap with dynamic calls. I haven't found a great way of tracking those.
Hi Michelle,
Thanks for the generous feedback.
Yes, What I feel is if we have a system which we can setup from scratch or where we have too many inconsistencies and need to do mass updation of where-used list then we can go for the background job option.
Definitely dynamic calls are difficult to trace. I have never tried but we may try looking for the dynamic call's associated interface or objects via the code_scanner transaction and find an indirect way of tracing such calls or usage. This is just a thought.
Thanks and Regards.
Sometimes that does work - searching the code. Sometimes - it's a config thing. So it's in a table somewhere. I'm guilty of setting up DDIC for "custom" config settings. Much better than hard-coding, but harder to trace. Documentation - I try to create it.
Agreed Michelle, if it's maintained in customizing tables then anybody who has knowledge of project architecture can only trace otherwise it's very very difficult.
Regards.
I've just checked SAPRSEUB as mentioned in your referenced blog, and it looks like it updates not just SAP objects' where-used list, but any object. Probably best to run in background as it would take a while and doesn't seem to have any select-options for filtering.
It would be nice if you'd add an explanation that the blog you reference concerns updating the where-used list automatically. Then people won't have to read my comment.
But I like your blog. Simple and to the point. Maybe many people are aware of this functionality, but I bet many aren't.
Hi Matthew,
Thanks for the helpful feedback.
Thanks and Regards.
Thanks for the nice tip! Do I am right that this update navigation list function is missing in SE11?
Hi Ricardo,
Thanks for the feedback.
As far as I did explore I could not find any feature in SE11 which could tackle i for various individual objects like classes, function modules, include programs, etc.
Thanks and Regards.