Skip to Content

/wp-content/uploads/2009/03/segugio_101198.png

In this period I’m involved in many upgrade projects and one of the biggest effort is to adjust ABAP copied from SAP standard ones that I call CLONEs.

In my experience pure custom ABAPs require few adaptations (obsolete statements, obsolete function modules and so on),modifications are also well managed by modification assistant but rearranging clones is a nightmare! They usually contain a lot of INCLUDEs and call a lot of Function Modules that change so much during the upgrade.

The first step to solve a problem is to know where it is. In this case it means to have a working list of CLONEs.

Sergio Ferrari, colleague of mine and SAP mentor, suggested to me to have a look to the function module ‘RS_COMPARE_WORDS_SIMILAR’;it is very powerful and during a night I developed the report that follows.

We extended it with a lot of other logic andit’s now part of the Techedge X-RAY toolbox that we use to analyze SAP ERPsystems before upgrades and EhP.

The Simple ABAP Clone Hunter (lite), that I’mgoing to share with the community, tries to match each custom ABAP object witha standard one comparing the report name.

The scope of this report is not to identify univocally a standard one but is to give a rated list of possible matches.

Selection screen:

clonehunter1.PNG

Result:

clonehunter2.PNG

Thanks to Sergio Ferrari for the support

Related weblogs:

Installing procedure

Import the nugg file on http://code.google.com/p/abapclonehunter/ using SAPLink.

ZSAPLINK01.PNG

Activate all the objects

ZSAPLINK03.PNG

ZSAPLINK04.PNG

And now Enjoy!!!!!

Related blogs

SAP obsolete functions (1) – POPUP_TO_CONFIRM

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/10769How many exit routines are active in your SAP ERP system?

Community Call: Obsolete Function Modules replacement MATRIX for ECC 6.0

To report this post you need to login first.

11 Comments

You must be Logged on to comment or reply to a post.

  1. Igor Kozak
    Hi Ivan, thanks for nice program.
    I was trying to ‘find’ some known clones in our system using your code.
    Your program did not find anything for program types ‘I’.
    I found a problem: in FORM calculate_rating you consider only program types ‘1’, ‘F’ and ‘M’. What is the reason?
    After I had extended the existent condition to include also ‘I’ programs, everything was working fine.

    Regards,
    Igor.

    (0) 
    1. Ivan Femia Post author
      Hi Igor,

      thanks for your feedback, this is not a bug it’s an our choice. We limited the search (even if the logic works fine also for include) to function, reports and module in this lite version.

      Regards,
      Ivan

      (0) 
  2. harish kollipara
    Hi Ivan

    As per code of the simple clone hunter , It only searches for a percentage of match in the program names but doesn’t look into the code of the programs.
    As per my observation,this clone hunter does not give the accurate report it just says there are similar custom programs with the standard program names but not with code.
    For Ex: A Stanadard program KTEST1.I have a custom program with name ZTEST1 with no where related to KTEST1 in terms of coding. But your clone hunter gives a match of about 80+ as rating , which is wrong perception. So please check this once.

    (0) 
    1. Ivan Femia Post author
      Hi Harish,

      I would like to underline that this is the lite version; The full version has more functionalities and is it more accurate in the clone detection.

      Regards,
      Ivan

      (0) 
      1. harish kollipara
        Hi Ivan,
        Ok then its good that u r aware of the issue I mentioned.
        So in the full version u are taking into consideration of the coding part also right.
        when can we expect the full version to be released.
        (0) 
        1. Ivan Femia Post author
          Hi,

          I don’t know right now.
          Btw the scope of this report is not to identify univocally a standard one but is to give a rated list of possible matches.

          Regards,
          Ivan

          (0) 

Leave a Reply