Skip to Content
Technical Articles
Author's profile photo Olga Dolinskaja

Remote Code Analysis in ATC – How to write an ATC check

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

See also blogs:

With the remote scenario in ATC we enhanced the check framework and improved the ABAP code analysis infrastructure. Therefore we decided to provide a developer guide to describe in detail which steps are necessary to integrate a new check into ATC:

How to write an ATC Check (SAP_BASIS 7.52) (PDF)

The new version of the guide (from the SAP_BASIS 7.54) describes especially the aspects of remote enabled checks in detail and how you can build you own Quick Fixes:

How to write an ATC Check (PDF)

It is also possible to  create your own custom check in ABAP development tools for Eclipse. This functionality is supported and recommended in SAP BTP, ABAP environment and SAP S/4HANA Cloud, public edition and SAP S/4HANA >= 2022 Cloud, private edition and on-premise  More details how to do it in the blog How to create your own ATC check in ABAP Development Tools for Eclipse.

Assigned Tags

      15 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Mike Pokraka
      Mike Pokraka

      Excellent guide, thank you!

       

      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      Thanks for sharing!

      There is also a related blog series by Bärbel Winkler: https://blogs.sap.com/2018/05/19/setting-up-a-central-atc-system-part-1-setting-the-stage/

       

      Author's profile photo Bärbel Winkler
      Bärbel Winkler

      Thanks for the plug, Jelena!

      Author's profile photo Oliver Hütköper
      Oliver Hütköper

       

      Thank you very much for providing this guide!

       

      On page 10, the description for parameter p_position is missing. This Parameter is very important for the automatic checksum generation.

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Oliver,

      I've just uploaded the new version of the guide also including the p_position description. Please check.

      Bye,

      Olga.

      Author's profile photo Girwar Meena
      Girwar Meena

      @Olga Dolinskaja , thank you for compiling and sharing useful information about ATC. Helped a lot to understand technical as well as functional side of ATC tool. I have query about ATC check from central system at transport release. As I understand from various blogs, Cetral system check cannot be triggered at transport release and we have to rely on local variant. Could you share more about ATC function to ensure check is triggered at the time of transport release and block if check condition are not met. How to leverage central ATC system to trigger and check release results.

      Author's profile photo Bärbel Winkler
      Bärbel Winkler

      Girwar Meena

      Hi Girwar,

      you can actually and easily make use of a check variant defined in the central system during transport (or even task) release in the local system. All you have to do is to define a variant in the central system and then a “reference” variant in the local system. Here are the screenshots from our system (local is on NW 750 SP13 EHP8 and central on NW752 SP2).

      Once you have this defined, you can use check variant name in the local ATC-configuration:

      For the Transport Settings and behaviour on release it doesn’t matter if the actual variant is from the local or central system:

      Only RFC-enabled checks can be included in the central variant.

      Hope this helps!

      Cheers

      Bärbel

      Author's profile photo Girwar Meena
      Girwar Meena

      Thank you for sharing with screenshot. Very helpful information about reference check. Appreciate your time and prompt response.

      Need little more information about the ATC Transport release rule check. 

      Assuming we have a central ATC system with Satellite system A, B, C connected to it. Also, automatic check on transport release is enabled. 

      Expecting:

      • Rules are stored in the Central ATC System
      • At transport release, the local system (Dev System xxx) reaches out to central ATC system to perform the checks
      • Results are returned – if there are any findings, the person releasing the transport can request an exception, kicking off a workflow

       

       

       

       

       

       

      Author's profile photo Lars Hvam
      Lars Hvam

      Hi,

      The "guide assumes you are working with a system with SAP release 7.54 or higher", is it possible somehow to access the historical documentation for the lower version? I assume 7.54 was not released back in 2018 when this blog was written?

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Lars,

      you are right. I've updated the blog, by including the version of the guide, supporting the releases from SAP_BASIS 7.52. Please see above.

      Thanks & Regards,

      Olga.

      Author's profile photo Lars Hvam
      Lars Hvam

      thanks :+1:

      Author's profile photo Stephan Grüner
      Stephan Grüner

      Hi,

       

      thank you very much for that guide, it helped a lot!

      When trying to run the unit test, I keep getting an error saying the superclass (cl_ci_test_verify) is faulty. Has anyone else had this error or knows how to deal with it? I'm working on an SAP_BASIS 7.55 system.

       

      Cheers,

      Stephan

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Stephan,

      please specify exactly which error do you get, "the superclass (cl_ci_test_verify) is faulty" doesn't currently help our ATC experts to understand the problem. The best way to get this processed is to open a ticket to SAP and describe the details of your error.

      Thanks and Regards,

      Olga.

      Author's profile photo Stephan Grüner
      Stephan Grüner

      Thank you for your quick reply! I will proceed to open a ticket.

       

      Cheers,

       

      Stephan

      Author's profile photo Edo von Glan
      Edo von Glan

      Thanks for the post, and the updated document, very helpful!

      On page 12 of the 7.54 guide, the description for Parameter p_inclspec (flag for include-specific) is missing.