Technical Articles
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:
Maybe you already know how to write an ATC check because we had a developer guide already available in the past (How to build a new check for the Code Inspector).
But now with the remote scenario in ATC we enhanced the check framework and improved the ABAP code analysis infrastructure. Therefore we decided to provide a completely new 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).
Excellent guide, thank you!
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/
Thanks for the plug, Jelena!
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.
Hi Oliver,
I've just uploaded the new version of the guide also including the p_position description. Please check.
Bye,
Olga.
@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.
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
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:
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?
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.
thanks :+1:
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
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.
Thank you for your quick reply! I will proceed to open a ticket.
Cheers,
Stephan