Skip to Content

The Attack of the Clones: Episode 2

As described in the previous blog The Attack of the Clones: Episode 1 here I am to tell something more about the ways to manage the cloned objects during the upgrade projects.

Discover the cloned objects

Until two years ago, there were no standard tools to identify cloned programs, so, during the upgrade, the “upgrade man” discovered about their existence only in case of errors reported by Code Inspector.

In 2009, starting from an idea of Sergio Ferrari, my fellow and SAP Mentor Ivan Femia developed the ABAP program Clone Hunter that tried to match each custom ABAP object with a standard one comparing the report name; then it was enhanced with the comparison of used includes, data dictionary objects and the SLOC, the number of line of ABAP code.

After several postings in SDN about the upgrade, we began to share Sergio’s ideas directly with the  Bjoern Panter @SAP which then included the SLOC in the “Similarity clone finder “, the @SAP CloneFinder.

The “Similarity clone finder” is new standard tool delivered by @SAP in the latest Solution Manager plug-in (e.g. ST-PI 2008_1); check out the report /SDF/CD_CUSTOM_CODE_CONNECT.


Let me summarize briefly some features of the @SAP CloneFinder

  • Determines the similarity degree finding also copy&pasted source code
  • Evaluation against SLOC size, business areas and integration
  • Versioning of custom code
  • Inheritage chains
  • Direct split screen editor feature to merge clone differences


The release of this new tool by SAP allows you to have a glance of the clones since the assessment phase, that is, when analyzing a system to evaluate the impacts on the applications and the effort required to implement the release upgrades.

More info about the clone finder could be found in the SAP marketplace under Upgradetools.

The challenge of the cloned programs adjustment


Refreshing many clones could be a nightmare, because you have to look at each time to the differences between the new standard, the old standard and the cloned program.

Unfortunately the “Clones adjustment  for Dummies” guide doesn’t exist, so in the next slide I tried to summarize some of the most important steps of the adjustment of the cloned program.


The effort needed to adjust the cloned programs is unknown; each program is different from the others and for this reason the time needed to analyze and adjust a single cloned program it might be really different.

It’s a very hard work, in short… it’s a real fight!


However, since the tests play an important role in an upgrade project, then the accuracy of the adjustment made to the cloned objects it depends on the results.

Lesson Learned – Clones: How to avoid them?

The best way to avoid the creation of clones (with a lot of work at every upgrade ) could be that, the adjustment of the clones during the upgrade should be carried out by the creator of the clones ;-).


Unfortunately dreams do not come true so we should consider some important options in order to avoid the creation of a cloned program that are

  • The Enhancement Points
  • Standard modifications whenever the Enhancement Points cannot be used
  • In case of development estimation based on clone, add also the effort needed to perform the adjustment during the next upgrade

Related blogs:

Z Copy of a Standard SAP report..Do we really need to? by nabheet madan


In my experience I noticed that, during the upgrade, the time taken for the refresh of a clone, usually, is greater than the time required to change the new standard program, so in my opinion, it’s better to change the standard one.

What about your feelings?

Special thanks

I would like to thank Sergio Ferrari for giving me the inspiration to write this blog series.

You must be Logged on to comment or reply to a post.
  • It would be very interesting to collect stats about how many Clones are in each system and I’m sharing here that the highest number I found is something around 2500 cloned objects and probably excluding not-used objects it is something around the half.

  • Hi guys,

    thank your for this great feedback. Where can I buy this DVD ?

    The honor for this tool should go to the developers in the background – Christoph Vehns or Mahadevan Venkata. As Sergio already mentioned, it is always a result of a team and I prefer to expand this team also to the ecosystem of a topic. This includes partner, consultants and customers. Without a direct communcation and feedback we has never been in position to implement all these little features to make this tool to a real tool. A tool should not do the fulll job, it should support the job.

    I would love it to see the “Clone Adjustments for Dummies”. You are right, there is up to now nothing from SAP. But we think this is the right market for innovations, creativity and consultants. We will focus our job on clone avoidance because our strategy of custom code management is “Going back to standard” and not “manage the clone mess better”

    If it is ok, we will reference to your blog. It contains all the positive aspects.

    The clonefinder, (I know stupid name) is only one element of the Custom Code Applications. Just start tcode /SDF/CD_CCA and find the tool summary to make nice analyses. Under interface analysis you find your wished comparision.

    The modification overview is also a nice feature and the brand new Upgarde reference analysis for obsolete code usage is als helpful.

    What we will avoid is going into the real wrong direction to implement a continous clone adaption process. In worst case by automated code changers. This is a dirty solution for “unexperienced” managers or project leads without the understanding of the holistic situations. These guys still believes modifications are bad. And they throw their money away every year again and again.

    Clone adaption means, replace the clone with a better technology like BAdI implementation, Enhancement spot or in best case the right new customizing in the new SAP release.

    For 2013 we have some new elements in our pipeline. Early birds are welcome……

    Kind Regards


    • Ciao Bjoern,

      thank you for your words, but no one has never given the right tribute to the work that your team have done.

      You’re so right when you are saying that great results come from the teamwork and not from the single; the single in daily work, does not go so far.

      I completely agree with you when you’re saying that the real challange is the “clone avoidance”; It’s really hard to convince IT managers and project managers that’s is wrong to clone the standard SAP.

      The first (little) step should come from the developers.

      Tools like BAdI implementation, Enhancement spot, Customizing and so on should be introduced and adopted as a ‘normal’ development methodology, not just for enhance the SAP applications.

      In my opinion, as developers, we should be more proactive, not just to sell a service but to improve the systems; SAP has evolved so much and we have wide range of options to choose from…


    • an idea would be to report about number of clones into the well known Early Watch reporting.

      A big RED sign can influence the priorities of the CIO / SAP CompetenceCenters.

  • Hi Andrea, awesome blog.

    I totally agree with your conclusion. I decided to take this approach in the last upgrade I worked on, killing all clones that I found and making the necessary adjustments in the respective new standard programs. It was the better decision I made in the upgrade. 



  • too strong presentation!

    not at all boring and it has that technical touch that makes it very interesting from our(ABAP-ers) point of view, but it’s “light” enough for involving also other “players”