Skip to Content

Cleaning up ATC-results with CL_SATC_AC_HOUSE_KEEPING?

Hi Folks,

as mentioned in an earlier question, I'm in the process to set up ATC functionality in our system. While experimenting with ATC and through triggering some checks in a daily job I noticed that the results just keep stacking up in the result browser:

When I look at the header information for one of the old(er) results, I see that the expiration date is already well in the past:

As these old results are still available in the system, I guess that some housekeeping isn't yet set up properly to run on a daily or weekly basis but I haven't yet found what should be running regularly. I did find mentions of program SATC_AC_CLEANUP (here) and class CL_SATC_AC_HOUSE_KEEPING with Method CLEANUP with the latter (according to UPL) apparently being executed a couple of times (1 to 3) per day. But, as the old entries are still available, it doesn't seem to do what I think it should do.

I tried to find jobs in SM37 for SATC-programs but didn't find anything there either. I also looked in SPRO if anything might stick out there, but no luck. I'm kind of expecting to see a parameter somewhere for the retention period for ATC-results (seems to be set to 3 days at the moment judging from the ATC-header information) and a regularly housekeeping job to take care of "the purge".

This is in a 7.40/SP11 environment.

What am I missing?

Thanks for any input you have!


Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    May 09, 2017 at 06:33 AM

    To wrap up this thread, I'm sharing answers I received from SAP to a message I had created for my various questions.

    The sole purpose of note 2181508 is to correct an actual error in the system which it does. Without this note (or the relevant support package) the results of each ATC run only had a retention-period of 3 days.

    Once this correction is in the system, the retention period is set as follows, dependent on the context ATC is executed in:

    3 days for results from ad-hoc checks. These are triggered from the ABAP workbench (SE80), from the ABAP development tools (ADT or ABAP in Eclipse), or the transport organiser (SE09)

    20 days for results generated via CL_SATC_API_FACTORY (which is what I'm using in some custom code I wrote to trigger ATC for selected transport requests based on information provided in this thread by Axel Jebens)

    Any number of days specified for schedule runs via transation ATC. The default is set to 120 days but it can be changed when the jobs get planned. Less than 7 days are not possible.

    There is currently no option to define a minimum retention period.

    Finally, there's no reason to worry about deleting old ATC-results where the validity date has come and gone. Whenever the ATC Result browser is accessed via SE80 this will trigger some automated background logic to randomly delete old results in an asychronous process.

    The clean-up programs SATC_AC_REORG_REPOSITORY or SATC_AC_CLEANUP can be run if old results should be deleted at once. It doesn't matter which of the two programs is used but SATC_AC_REORG_REPOSITORY does have proper text-elements for the selection-screen so is perhaps the preferred one to use.

    Hope this helps others happening upon this thread with questions about ATC!

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 16, 2017 at 01:16 PM

    Hi Bärbel,

    In the comment section of this blog there was info about report SATC_AC_REORG_REPOSITORY, which might help you:

    Best regards,


    Add comment
    10|10000 characters needed characters exceeded

  • Mar 17, 2017 at 09:36 AM

    Hi Bärbel,

    In addition to what Peter added above, it might also be mentioned that from time to time, the cleanup function is called asynchronously in the ATC result browser (-> ABAP Workbench) when the user displays ATC results.

    But back to SATC_AC_REORG_REPOSITORY: For some reason, it shall do the same as SATC_AC_CLEANUP. Don't ask me why there are 2 programs with the same purpose. Both should work. If you want to make sure that cleanup is really running, start it online (not as a batch job) and wait until it has finished. Afterwards, all existing outdated ATC results should have gone.

    Check out if it works, if not, let me know!


    Add comment
    10|10000 characters needed characters exceeded

    • Here is a quick update:

      Some more searching found the following code in IF_SATC_STEP~SETUP which apparently sets the retention period to 3 days:

       if ( me->f_Cfg-display_Load-life_Span > 3 ).
      me->f_Cfg-display_Load-life_Span = 3.
      elseif ( me->f_Cfg-display_Load-life_Span < 100000 ).
      me->f_Cfg-display_Load-life_Span = 100000.

      Turns out that this coding doesn't make much sense, so there's OSS-Note 2181508 which corrects this by basically changing the logical operators and in one version of the corrections (for 740 SP13 + 14) also set the days to 7:

       if ( me->f_Cfg-display_Load-life_Span < 3 ).
      me->f_Cfg-display_Load-life_Span = 7.
      elseif ( me->f_Cfg-display_Load-life_Span > 100000 ).
      me->f_Cfg-display_Load-life_Span = 100000.

      We'll implement the note to see what effect it has (if any).

      Still doesn't explain why I cannot find a setting anywhere to set the retention period though.