Skip to Content

This is the sixth blog of the blog series about Remote Code Analysis in ABAP Test Cockpit (ATC).

See also blogs:

 

Motivation

In case an ATC finding cannot be corrected e.g. if this finding is a false-positive result or can be accepted currently from the quality perspective, you as developer can suppress it from the ATC result list with the next run by requesting an exemption from your quality expert.

Depending on the check, exemptions can be requested for the entire object or for single findings. If you request an exemption for a single finding, this exemption will be valid as long as you don’t change the coding or the relevant context of that finding. As long as you only change coding that does not affect the finding (for example you change something in line 20 of an INCLUDE and the finding marks code in line 200), the finding will be recognized as the same and thereby also the exemption stays valid.


Prerequisites

The prerequisites for managing exemptions are that central ATC check system is set up and configured in your system landscape: see Remote Code Analysis in ATC – Technical Setup Step by Step and that the ATC in the central check system is configured to enable exemptions (Setup ->Configure ATC in the ATC transaction):

 

Developer: Requesting Exemptions

To request an exemption in your local development system position the cursor on the ATC finding and choose Request Exemption from the context menu.

On the first page of the dialog you see the information about the finding you request an exemption for and you can choose the scope of the exemption. Click Next.

On the second page of the dialog enter an Approver and Reason and add the Justification. Additionally you can specify if and how you want to be notified about the status of your requested exemption (on rejection, on approval or on rejection, never).


Quality Expert: Approving or Denying Exemptions

To approve or deny your exemption, the quality expert needs to logon to the ATC central check system and use ATC Exemption Browser (ATC Administration->Exemption Browser in the transaction ATC) to display a list of exemptions.

Double-clicking an exemption will display its details. The quality expert can see the exemption category and justification provided by the requesting developer and can also check the object and change the settings for the scope of the exemption. See F1 help if you need information on these options.

After toggling the Edit mode (click Edit button) for the exemption, the quality expert can approve or deny the exemption:


Developer: View Exempted Findings

If you now run ATC again for this object, the finding will be marked as exempted and by default will no longer show up in the ATC Result Browser View. You can show exempted findings by selecting Include Exempted Findings in the view menu:

To report this post you need to login first.

31 Comments

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

  1. Former Member

    Hi Olga,

     

    Any chances of ATC Administration->Exemption Browser for reviewing and approving/rejecting ATC exemptions to be included in Eclipse ADT in future?

    Currently NW 7.5 with ADT 2.71

     

    (0) 
  2. Former Member

    Hi Olga,

    If customer has exemptions raised and being approved/rejected locally in the development system before enabling the ATC central check, can the existing exemptions including their status be replicated to the central ATC system? If yes, what are the prerequisites to realize it?

    Thanks and best regards,

    Yuankai

    (0) 
    1. Olga Dolinskaja
      Post author

      Hi Yuankai,

      developers request exemptions at central ATC system (ATC master system or consolidation system). Approved/rejected exemptions are stored on the ATC master system and can be propagated to the development systems. Please take a look at ATC concepts in general.

      Best regards,

      Olga.

      (0) 
      1. Former Member

        Hi Olga,

        Thanks for your input, actually my questions is, if there were existing exemptions already approved and saved in the local developer system or consolidation system, sometime later the ATC central system is setup, can those existing exemptions be seamlessly replicated from the development system or consolidation system to the ATC central system and in the same time the exemptions remains valid (assume no change in the context of exempted coding)?

        Thanks!

        Best regards,

        Yuankai

        (0) 
          1. Former Member

            Hi Olga,

             

            Does this mean all exempted findings need to be exempted again in the central ATC system, once migrate from local ATC check to remote ATC check? It will save many effort for the customer when there is the capability to migrate the existing exemptions, will this feature be in the roadmap of ATC?

             

            Thanks and best regards,

            Yuankai

            (0) 
            1. Olga Dolinskaja
              Post author

              Hi Yuankai,

              as possible workaround you can use Baseline concept (see my blog linked above) and include the exempted ATC findings into Baseline.

              Regards,

              Olga.

               

              (0) 
  3. Ian Stubbings

    Hi Olga

    I’m getting a bit confused with how to replicate central runs from the Central ATC to a satellite system. I’ve taken a look at the info in the help portal but cannot seem to find the option. Have I misunderstood and the intent is that the developers login to the Central ATC to see the results rather than the results get replicated back to the satellite system?

    Regards

    Ian

    (0) 
    1. Olga Dolinskaja
      Post author

      Hi Ian,

      you’ve understood it correctly: at central ATC quality checking the central ATC result gets replicated to the satelite systems to be viewed there by developers. See also in the SAP Help Replicating an ATC Central Result to Satellite Systems and also the blogs Getting started with the ABAP Test Cockpit for Developers (SAPGUI-based), the chapter “Where do I find central ATC results and the current active result?” or ATC for Developers in Eclipse (Eclipse-based), the chapter “Access ATC results from the central Q system“.

      Hope this helps.

      Best Regards,

      Olga.

      (0) 
      1. Ian Stubbings

        Hi Olga

        Thanks for the reply.

        To confirm.

        1. I need to setup each satellite system so the master system is my central system
        2. Central runs in the central ATC need to be replicated back to the satellite system
        3. The developers access the results in the satellite systems and apply for exemptions locally. The exemptions are replicated back to the central system

        If all of the above is true, the only thing I am missing is is how to replicate the results as I don’t have this option in the Manage Results section

        Also, assuming I can get the button, is this always a manual task? Can’t I auto replicate?

        Regards

        Ian

        (0) 
          1. Ian Stubbings

            Hi Olga

            Sorry, I am still baffled. Previously I had SAP_ALL in my central ATC system and have now added the ATC admin role explicitly. However, I still do not get the Replicate button, or the auto option when scheduling.

            If I log into the satellite systems however, where I also have the same ATC admin role, I do get the replicate button and auto option when scheduling.

            Are there any system settings that I need to change?  The Central ATC system role is obviously set up for ATC Checks by Object Providers only and satellite systems are setup to have a master system of my Central ATC system.

            I’ve checked the SATC_CI_CFG_SERIES_SCHEDULE program to see why the Post processing section on the selection screen was invisible and it is because the hide_local variable is set to ‘X’.

            Should it be?

            Thanks

            Ian

            (0) 
            1. Olga Dolinskaja
              Post author

              Hi Ian,

              your master system is configured as central ATC system for remote code analysis (“ATC checks by Object Providers Only” checkbox). For the ATC remote code analysis use case, the findings from the central system can not be transmitted to connected development systems. Unfortunately, this functionality is not supported for technical reasons.

              Regards,

              Olga.

               

              (0) 
              1. Ian Stubbings

                Hi Olga

                Thanks for the reply.

                So I understand that in my Central ATC I can remote scan systems and hold the results centrally BUT I cannot push the findings down to the satellite systems.

                Are we expected to enable the developers to login to the Central ATC in order to view the findings and request for exemptions?

                Regards

                Ian

                (0) 
  4. Ian Stubbings

    Hi Olga

    Ok. Understood. The central check run is ok using the remote check variant and I can view the findings in SE80. However, when I try to create an exemption I get the message ‘Screen output without connection to user’.  I assumed this was due to it trying to login to my Central ATC system and debugging confirmed this.

    I haven’t added the destination but it is my Central ATC system.

    Checking on my Central ATC system I am getting dumps with ‘DYNPRO_SEND_IN_BACKGROUND’.

    Can you advise?

    Thanks

    Ian

     

    (0) 
  5. Ian Stubbings

    Hi Olga

    I’m now testing the exemptions in ADT in an attempt to see if my issue above will be resolved in the Eclipse client. Unfortunately the dialog box for Run as>ABAP Test Cockpit With.. does not appear, the default check is just used and when I try to right click on an error to request an exemption, the option is not there.  Exemptions are switched on in the system in question. This occurs whether I use the Central ATC RFC based variant or a variant local to the system I am working on.

    Also, the ATC Problem view is not populated, the generic Problems view is.

    [Update1] I think this is because the systems I am connecting to are 731 systems and 7.4 SP8 is required.

    I’ll configure a 7.51 system and check that one.

    [Update2] Checked a 7.51 system and yes both the ABAP Test Cockpit With… appears, the ATC Problem view is populated and the context menu shows the Exemption option.

    Ian

    (0) 
  6. Bärbel Winkler

    Hi Olga!

    Thanks much for this series of blog posts about setting up a central ATC-system (which we are getting close(r) to actually do!).

    I have a question regarding approver(s) of exemptions:

    In your screenshot it looks as if the developer has to select a named user as the approver for a exemption. Is it also possible to define and then pick a group of approvers like e.g. a “QA team”? We have many developers working around the globe and they won’t know who of the potential approvers is currently available to grant/reject exemptions, so routing it to a group would be a much better option for us.

    Is there a means – or at least a workaround – to set this up?

    Thanks & Cheers

    Baerbel

    (0) 
    1. Bärbel Winkler

      Thanks for the quick response, Olga!

      I was aware that more than one person can be defined as an approver but what I’m not clear about is if the developer always has to decide who of the potential approvers to ask for an exemption or if this could also be done “anonymously” so that the notification goes to an “approver group” instead of an individual. Reason being, that the developer will not really know who is available, so the notification may go unnoticed if s/he picks the wrong name.

      Cheers

      Baerbel

      (0) 
      1. Olga Dolinskaja
        Post author

        Hi Bärbel,

        sorry, it is currently not possible to notify the “approver group” , the developer needs to choose one approver. I’ve addressed this at ATC development.

        Best Regards,

        Olga.

        (1) 
    2. Bärbel Winkler

      We have figured out a way to do this within the current environment:

      1. We defined a new user “ATC_APPROVER” which is available in the satellite systems and the central ATC system with the needed authorizations
      2. We will have an email group address created for this user
      3. People from our development/basis team will receive emails going to this group address
      4. The point person (or whoever gets to it first) logs in to the ATC-system with her/his own user IDs and approves or rejects the request(s)

      We already checked and when everybody a) has the required authorizations and b) is listed as an approver in the ATC “Maintain Approver” settings exemption requests can be updated by whoever is available – it doesn’t have to be the ID listed as approver. Once the approval or rejection is done, the username switches to whoever actually did it.

      Hope this helps!

      Cheers

      Baerbel

      (0) 
  7. Ian Stubbings

    Hi Olga

     

    I am also interested in the reply to Baerbel’s question as we have the same situation. Currently I am modifying the job SATC_CI_EXEMPT_NOTIFY_APPROVER to have a step and variant for each approver so we all get notified.

    I’m not sure this is the best apporoach though so would welcome comments.

     

    Regards

    Ian

     

    (0) 
  8. Łukasz Pęgiel

    Hello Olga,

    is there a way to navigate to source code from Exemption Browser? I haven’t found such possibility in NW 7.40 EhP 7. Maybe it’s on the newer releases?

     

    Cheers
    Łukasz

    (0) 
  9. Bärbel Winkler

    Hi Olga,

    I have another question regarding the exemption process. Is there a means to prevent a developer from casting too wide a net when applying for an exemption? To me it looks a bit dangerous to have options available via which an exemption could be accidentally or even intentionally requested for more than a particular finding – or at most the same findings in e.g. an include.

    Looking at the screen and provided F1-help it does seem possible:

    Instead of limiting the scope, developers might be “tempted” to increase it as far as possible.

    Is there a means to not have these wide-ranging options displayed, perhaps depending on authorisations (a developer doesn’t see them, but somebody with ATC-auth does)? Or is this something, the ATC approvers have to be mindful of when processing exemptions?

    Thanks and Cheers

    Baerbel

    (0) 
  10. Steffen Høegh

    Hi Olga,

    I can see that you are using eclipse to ask for excemptions and you are asking for excemption on a specific finding. In a 7.4 SP19 in SAP GUI with a 7.4 SP19 as central check system, it is only possible to ask for excemption for subobject and check message as lowest level of detail.

    If the central check system was moved to a netweaver 7.52 would it then be possible to apply for excemptions on findings. Excemptions should be applied for from the checked system not the central system. And if possible not in the central runs but rather from a developer initiated check in checked system( MENU check ->  ABAP test cockpit (ATC) with ….)

    Thanks

    Steffen

    (0) 
    1. Olga Dolinskaja
      Post author

      Hi Steffen,

      yes, the prerequisite for this scenario is the remote ATC and the central ATC check system 7.52 (see above in the blog in “Prerequisites”). Therefore you need to setup ATC central check system 7.52 in order to be able to request the exemptions from checked development systems in Eclipse within developer initiated ATC runs in checked system (as you want to use it).

      Best Regards,

      Olga.

      (0) 
  11. Paul Pendleton

    Hello everyone and thanks for this post.  we have an issue with our exemptions.  the exemptions we have entered and have been approved are not coming off the list when we run the new ATC check.

    We have a system setup as the central system. From this system we are checking our code on two different systems.  Our development system which is EHP 7 and our sandbox system which is upgraded to S4HANA.

    We recently changed the name of the RFC used for our ATC check to the sandbox system.

    We do have exemptions enabled.

    We reran the ATC check for both our DEV system and the Sandbox system.  But those objects/errors that have been exempted are still showing in our ATC check list.

    Also wanted to add we are doing our exemptions directly on the central system.

    Any ideas on what we can check or do to make this happen?

    We would also like to get the ATC checklist to our Solman system to use there.  can this be done?  I am more concerned with the previous question than this one and I know this one does not really deal with exemptions and may be a little detailed so if you cannot answer this questions that is fine.

    (0) 

Leave a Reply