Skip to Content

The case of source compare utility


Recently I was involve in complex development environment that was not working so well…..

The overhead of this adventure was the need to verify that the code was transported successfully form the development environment to multiple target systems .

Usually for small scale changes the split screen editor is sufficient but when we are talking about multiple programs, functions, class, and interfaces the job become tedious and error prone.

Fortunately I found some documents about functions RS_CMP_COMPUTE_DELTA and RPY_PROGRAM_READ and using those I wrote program Z_R_EITAN_TEST_15_02 .

The program was written using 740 and use a little bit of “String Templates” (those funny looking {})

The program is quite new (there might be some bugs there…) but gain some experience in the field….

Lets check a a program:

The result:

List of include:

If there is a discrepancy we get:

It was a nice surprise to find out that class work as well !!!!

The hot spot takes us to SE24 🙂

Any comment is welcome.


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

      If I want to check a program with multiple include what do I need to enter ?

      Some good stuff

      I can see the benefit when using transports .(I only address abap)

      Some not so good stuff

      In my case I am logging in system x and I compare system y and z .


      • >check a program with multiple include
        Usually I check packages. Yours cannot.

        I check landscape. Not a single report.

        >In my case I am logging in system x and I compare system y and z .

        I never was interested in such scenario.

        You have this Z-report only on system x?

        BTW. Other pros:

        • Standard on all abap systems.
        • Also checks dictionary objects (domains, tables, structures). Yours cannot. It's important to me.
  • Your report use parameters instead select-options for report names.
    SREPO can deal with masks. In my case inludes use name convention ZMAINPROG_INCLNAME. So I can run for ZMAINPROG*