Technical Articles
How to work with exemptions using ABAP Test Cockpit (ATC) in the cloud during development in an on-premise system
If you are an ABAP developer in an SAP Business Suite or an SAP S/4HANA Cloud, private edition (or SAP S/4HANA on-premise) system (further referenced as “on-premise” system), you have the option to check code for static quality issues during your development process using the ABAP test cockpit (ATC) checks from the central ATC check system in the SAP BTP, ABAP environment. More details are provided in the blog How to use ABAP Test Cockpit (ATC) in the cloud as a developer in an on-premise system.
In case your ATC finding cannot be corrected because, for example, it is a false-positive result or can be accepted in terms of quality, you as developer can request an exemption from your quality expert to suppress the finding from the ATC result. The ATC exemption can be requested in ABAP development tools for Eclipse. For the exemption processing, the new SAP Fiori app Approve ATC Exemptions must be used by quality experts to accept or reject exemptions from developers. This functionality became available with SAP BTP, ABAP environment 2311 (November 2023 release).
Prerequisites and Technical Setup
The prerequisite for working with exemptions is the enablement of the developer scenario between the central ATC check system in the SAP BTP, ABAP environment and on-premise systems.
Please follow the chapters Prerequisites and Technical Setup in the blog How to use ABAP Test Cockpit (ATC) in the cloud as a developer in an on-premise system to setup the developer scenario.
For more details, see the SAP Help Portal documentation Using an SAP BTP System as ATC Central Check System.
For approving/rejecting exemptions you will also need a business role based on the template SAP_BR_QUALITY_MNGR_SW_DEV (Quality Manager – Software Development).
For more details, see the SAP Help Portal documentation Enable Usage of the Approve ATC Exemptions App.
ATC Exemptions Workflow
To gain basic understanding of how to work with exemptions using ATC in the cloud during development in on-premise systems, let’s take a look at the example of the exemption workflow.
Developer:
Just imagine, you as a developer in an on-premise development system want to check your code for static quality issues. To do this, you run ATC over your source code (open the context menu in the Project Explorer and choose Run As > ABAP Test Cockpit) in ABAP development tools for Eclipse and have the following findings displayed in your ATC result:
If you try to release the transport request containing this source code, your transport will be blocked:
Since you want to release your transport request, you will try to request exemptions from your quality expert for both findings.
For the first finding you could justify that no translation is needed for a log message. Please note that currently only all approvers can be chosen in the Approver field:
Now request an exemption for the other finding:
For this finding you are convinced that a hard-coded username shouldn’t be a problem:
Quality Expert:
As a quality expert on the central ATC check system in SAP BTP, ABAP environment, log on to the SAP Fiori launchpad, navigate to the section Custom Code Analysis and select the tile Approve ATC Exemptions to start the app:
In the app, you will see the two exemptions that have been reported by your developer:
Select an exemption to see that the Approve and Reject buttons will become active. You can use these buttons to process exemptions, the Exemption State is currently Open.
During the exemption process, you can also maintain the Exemption Details (to do this, select the “>” button in the table row with the corresponding exemption). In this section, you as a quality expert can enter your assessment elaborating on you reasons for rejecting the exemption:
After the exemption has been processed, the Exemption State will change to either Rejected or Approved:
Developer:
Now, if you as developer recheck your source code with ATC, you will be left with only one finding, for which the exemption was rejected by your quality expert:
This issue must be corrected before you release your transport request.
Using the menu View Menu -> Include Exempted Findings you can anytime display the exempted findings again in the ATC result:
Hello,
Is it possible to change the priority of individual messages for check variants in ADT.
In on-premise setup this was done, in SCI.
Br
Pawel
Hi Pawel,
it is possible to change the messages priorities of the ATC checks. See please the blog How to configure ABAP Test Cockpit (ATC) in the cloud.
Kind Regards,
Olga.
Hi Olga,
I have configured ATC in cloud and tried requesting exemption, however I am getting error message " Invalid approver. Selected approver has not sufficient authority" , I have followed all instructions from the blog. created business role from template "SAP_BR_QUALITY_MNGR_SW_DEV" and assigned catalog id "SAP_A4C_BC_DEV_XMPT_APR_PC" and assigned this business role few business users(Approvers).
Please let me know if I am missing anything. Also, Can you please provide me help to maintain Approver Responsibilities(Areas) in BTP.
Appreciate your response.
Regards
Kasi
Exemption Issue
Hi Kasi,
currently only ALL_APPROVERS <AREA> can be used in the Approver field (see in the blog above), meaning all users with the role SAP_BR_QUALITY_MNGR_SW_DEV will be able to approve/reject exemptions.
Kind Regards,
Olga.
Fantastic Olga, I was trying ALL_APPROVERS and individual approver id's instead of "ALL_APPROVERS <AREA>". Thanks so much for your support.
Regards
Kasi