cancel
Showing results for 
Search instead for 
Did you mean: 

S/4 Find obsolete (Z) DDIC objects, FM, classes etc.

patrick_weber11
Participant
0 Kudos

Hello,

while migrating from SAP ECC to S/4, we changed lots of code and also deleted many development objects. Caused by the hassle in such a project, we now have lots of unused or obsolete Z- objects in both, DDIC as well as abap (fm, classes etc.). This was caused as some colleagues deleted ABAP code but not corresponding DDIC

Now we want to clean our system to get rid of all unused Z stuff.

Is there any CDS View, Fiori app, report, function module, you name it, which we can use nowadays to identify unused DDIC objects? We also need to check redundant, i.e. a domain gets used by a data element, which gets used by a structure but this structure is not used anymore.

If there is nothing ready to use, could someone provide a FM to get closer to my requirement?

BR Patrick

View Entire Topic
matt
Active Contributor

This question has been asked so many times over the years. The answer is CCLM. https://blogs.sap.com/2021/10/25/custom-code-lifecycle-management-usage-and-use-cases/

The data collection mechanism (used to be called UPL) needs to run for at least thirteen months. Every time an object is touched at runtime, a record of this is made. The stat you're after is "Last Usage".

patrick_weber11
Participant

So after investigating further in CCLM, I either don't understand what SAP tries to achieve with it. Or it is a totally mess and useless. Most of the Fiori Apps don't provide a useful output. For example, City Model produces just a diagram in 2D. But there is no navigation to objects. I.e. it shows x Objects with severity critical. By clicking on this, nothing happens. Why is there no intent based navigation to related objects?


Same for CCLM Objects app. It gives a list of all objects found. I can link each object to an owner or a contract. But there is no way to see all objects assigned to an owner or assigned to a contract. Why?

I had a look at decommissioning cockpit. After running some analysis, SAP wants to delete some objects which are still in use according to UPL log. Also it shows a similarity value (lets say 85%). What does this mean? Is 85% of code inside the object duplicate (spaghetti code)? Or does it mean that 85% of the code is found inside another object? In this case, why is there no way to see the similar objects?

Also in decommissioning, I can add comments and a reason why a given object needs to be kept. I can analyze which objects has been flagged as important, but there is no way to get the comment someone added

OK, after I had no luck with the apps so far, I tried to understand what the BW cubes contains. Here the same, the most relevant information for me is not inside. For example, I want to find objects which are no longer in use. I'm not talking about programs, I'm also talking about DDIC objects. Looking at cube 0SM_CCREF, it only contains objects which has a reference. But it doesn't contain objects without any reference. So this cube shows only objects which still are referenced.

UPL is also not correct, as it was the last years as well. I.e. print programs called by customizing settings are not collected as used (ST03N and so on didn't count these as well in past). Also if someone uses a sub routine of a program only (I know, bad pattern but that's exactly I'm looking for). Such a report also doesn't get count in usage statistics and seems to be unused. The Fiori App Usage Info Cockpit is propably the most useless at all. I mean, what does this telling me?

I read lots of blogs which mostly contains just blabla marketing stuff. Also the official guides stops after preparational steps. Is there any good resource telling me how to use the results for my daily work?

Sandra_Rossi
Active Contributor
0 Kudos

patrick.weber4 I guess you'd better turn this comment into a question, CC Matthew and link to this current question.

matt
Active Contributor

I used CCLM to get a report of object vs usage. If, after 14 months, and object had been used 0 times, it was a candidate for deletion. We established a process whereby if we'd made a mistake we could easily undo it, and successfully deleted over 5000 objects... before the project was cancelled because the company was taken over and broken up!

I don't think I ever used the cockpit. Sounds like a mess!