ABAP Test Cockpit – an Introduction to SAP’s new ABAP Quality Assurance Tool
Bugs in your custom ABAP code can be quite expensive when they impact critical business processes, which is why quality assurance of custom ABAP code is receiving more and more attention in business. SAP also develops a great deal of ABAP code, and for us as well, highest quality is our primary goal. To reach this goal, SAP invested in the ABAP Test Cockpit (ATC), which has become SAP’s main internal quality assurance tool for ABAP.
We asked ourselves, why customers shouldn’t benefit from the ABAP Test Cockpit as well. We started a pilot project with two customers to find out if the ABAP Test Cockpit can help customers assure the quality of custom code. The results were so positive that SAP decided to adapt and extend the ABAP Test Cockpit for custom code. We collaborated intensively with the pilot customers during the development cycle of the ABAP Test Cockpit. As a result now we have a brand new ABAP check tool developed with the input of customers for customers.
The ATC is already available with EhP2 for SAP NetWeaver 7.0 support package stack 12 (SAP Basis 7.02, SAP Kernel 7.20) and EhP3 for SAP NetWeaver 7.0 support package stack 5 (SAP Basis 7.31, SAP Kernel 7.20).
ABAP Test Cockpit – What is it, what are the benefits?
The ABAP Test Cockpit is a new ABAP check toolset which allows you to run static checks and ABAP Unit tests for your ABAP programs. In order to ensure a smooth migration and comparable check results throughout your company, the ABAP Test Cockpit is compatible with SAP’s Code Inspector. This means you can reuse your custom Code Inspector checks and variants in the ABAP Test Cockpit.
So is it only a Code Inspector ++? We think it is more.
Developers will like the ABAP Test Cockpit because it is directly integrated in the ABAP Develoment Tools for Eclipse (ABAP Test Cockpit for Developers in Eclipse) and ABAP workbench and has superior usability. Working with ATC findings is very easy and efficient using the new ABAP Test Cockpit filter, navigation, and re-check functionality. Team leads and quality engineers will like the ABAP Test Cockpit because it introduces new quality assurance processes like quality gates, a robust exemption approval process, and periodic regression tests in a quality system.
You can install and run ATC locally in the systems of your development landscape or install ATC centrally as a Hub and check your systems using Remote Code Analysis in ATC. ATC’s support for solid quality processes will minimize the errors in your productive system! In addition, the ATC offers tools to analyze the ABAP Test Cockpit results on the team or project level. ABAP Test Cockpit is integrated into the SAP Solution Manager (CCLM, CHARM) to allow cross system quality reporting.
Here are the main benefits of ABAP Test Cockpit:
- Standard code quality with functional, performance, security aspects (ABAP Security Checks with the Code Vulnerability Analyzer (CVA))
- The ABAP Test Cockpit is fully integrated in the ABAP Development Tools for Eclipse and in ABAP development workbench with high usability for developers and quality experts. Findings are reported in one prioritized work list.
ATC in ABAP Development Tools for Eclipse:
ATC in SE80:
- Easy navigation to the editors to analyze the finding and data flow including the detailed documentation and assistance for the findings
- Configuration of checks takes place via Code Inspector variants
- The ABAP Test Cockpit offers superior and easy to use built-in reporting capabilities with filters and aggregated levels.
- The ABAP Test Cockpit is not only a check tool but supports essential quality assurance techniques like quality gates or regression testing in a consolidation system.
- The ABAP Test Cockpit offers a robust process for managing exemptions (false / positive findings) based on the four-eyes principle.
- Uniform quality standard for the whole system landscape: Remote Code Analysis in ATC – One central check system for multiple systems on various releases
- SAP S/4HANA custom code migration
For more information about the supported quality management processes, please take a look at the corresponding Best Practices document:
For more details about the involved roles (developers, quality extperts, admins) please take a look at the corresponding Getting Started guides:
- Getting Started with the ABAP Test Cockpit for QMs and Administrators
- Getting Started with the ABAP Test Cockpit for Developers
the test cockpit looks great. I'm already working a lot with unit tests and the code inspector - so I'm looking forward to the new test cockpit.
ATC looks great and interesting. May be I have to wait for sometime to use this (right now my development system is not updated with Support pack level 12)
Thanks for sharing the information.
Great! It is interesting...
Time saving and Productive. Can't wait to use it.
We would like to use ATC!
How? Is it available for customers?
We are on Netweaver 7.0 without enhancements; SAP APPL/EA HR and EA_APPL on EHP3.
Maria João Rocha
Hi Maria João,
Thanks for your interest in ATC!
ATC is available for customers starting with NetWeaver 700 EhP 2 (SP 12).
(This correlates to EhP5 for SAP ERP 6.0)
So, unfortunately ATC is not in your system yet.
Perhaps you have a system with a higher release in your landscape and can experience the ATC there?
Good one.I am in SAP NetWeaver BI 7.0 is it work. 🙂
Looking forward to the ATC & total cost saving on account of work reduction on ABAP Coding
Will SAP deliver all enhancement packs with tests that can be run through the ATC so that redundancy tests of existing productive systems can be done with new functionality delivered in those enhancement packs?
The ABAP Test Cockpit is based on Code Inspector and runs the Code Inspector checks of a specified global Code Inspector check variant. This implies that custom Code Inspector checks and new Code Inspector checks delivered by SAP can be used in the ATC starting with NW 7.02 (EhP2 for SAP NetWeaver 7.0 support package stack 12).
In NW releases < 7.02 the Code Inspector tooling must be used to run Code Inspector checks.
But the tooling (ATC or Code Inspector) is decoupled from the actual Code Inspector checks.
So the target NW release of new SAP Code Inspector checks can be set individually (independent of the tooling part).
When can we test it in Minisap?
We are currently working on an updated AS ABAP trial which would be sufficient to test ATC. But we can't communicate any release dates yet...
I just installed the Preconfigured trial version for Linux SAP NetWeaver Gateway 2.0 SP5
This system comes with 7.02 SP12. I tried running transaction ATC, all there.
Christopher Kaestner: can you comment if this gateway trial system contains everything needed to run ATC?
thanks for the hint. Yes, the SAP Netweaver Gateway 2.0 SP5 trial should work fine for ATC as it's based on AS ABAP 7.02 SP12. There are already some notes available you might apply: 1742580, 1743194 (critical), 1750230 (critical), 1762948, 1775289.
if the description and the technical information given by the check is not detailed enough for me to really get it in my mind in future, how can I find the implementation of the check by the component and the check name?
For example, for the BC_CCMPLX checks I don't get how it determines which line is an english comment line and what is the algorithm behind it.
the BC_CCMPLX check is an SAP internal prototype that has not been released to customers. I can only assume that some debugger magic or some accident has made this prototype visible.
The ATC customer version reuses the Code Inspector tests. In case one of the Code Inspector tests has deficiencies in the documentation you may consider to open a ticket on component BC-DWB-TOO-ATF (ABAP test frameworks).
Usefull document. Very good.
Hello Christopher Kaestner,
Thank you so much for this blog. This is very cool and helpful aid for testing aspects. I specifically love that it is solution oriented. This is so organised and well described.
I have been using it from last 2 years and this is really a good and helpful tool from quality perspective.
Is it possible to use ATC exemptions in a landscape where there is no QA system acting like the Master System?
Let me explain better:
In my current implementation project, so far we have only a DEV system with 2 clients: 100 for development and customizing, and 110 for testing.
I would like to use ATC in this way: developers would run ATC checks on their developments at DEV 100, and they could ask for exemptions when necessary. The purpose is to maintain the DEV system "clean" while we don't have a QA system.
Is it possible?
Thank you, Best Regards
Many thanks, ATC looks easy to use and interesting.
Thanks, hope it helps!
Hi! Im new on the forum. I'm trying ATC in my system, but i have a question:
Could i scan only objects that are recently created?
My objective is scan a package once a week but only scan the new objects.
Thanks for help!
this kind of filtering is currently not supported in ATC. But the requirement is quite clear to us and already in our implementation backlog.
We will send out the information in our community once we can communicate the availability
Ok, thanks for answering. Finally we make a "Z" to have this functionality, but I would like to implement the SAP implementation if done.
Nice Document, Thanks for sharing 🙂
I have a question regarding the ATC Checks. Since we have started to improve the quality of our custome code by ATC we see that the Developers very often use the PROGMA functionality. This is normally OK but in some cases the Quality Manager wants that this will not be possible. In other words , the QA wants that some PRAGMAs are not possible and that this have to be done by claiming an Exemption.
at present it is not possible to prevent the use for some pragmas and to allow it for others. As stop gap solution one can allow pragmas in general und use a CI search test to raise a finding in case a blacklisted pragma has been used.
I'm trying to configure the development system to connect to master ATC system. But ATC configuration on my system is dissabled. How I can connect to master system? Is there any specific role that i should have to connect to master system?
you need some authorisations, for details check the chapter 'Authorisation for the ATC' of following hyperlink or the online documentation.
Is there a way of getting the ATC into SAP ERP 6 ? SAP Basis 700. Anyone have some information on that?
Boris Gebhardt, the product owner of ATC, wrote a while back that the ATC became available to customers with NetWeaver 700 EHP2 (Enhancement Package 2) SP12, which corresponds to EHP5 for SAP ERP 6.0. So there should be a way...
ATC is available since SAP BASIS 7.02. In older releases you have to ue the Code Inspector. Or you use the remote ATC infrastructure that can connect to 7.00 ABAP systems as well.
Thanks for the replies, when you say remote are you referring to SolMan?
No, the remote ATC runs on an own AS ABAP instance in your landscape based on SAP BASIS 7.50. The systems connects via RFC to your "old" system and scan the code remotely. SolMan 7.2 cannot beused as the BAsis is 7.40.
Is there any ATC variant, which checks for the problematic statements in Customer enhancements ( User exits, Customer Exits, Copy routines, BADI ). This is regarding migrating to SOH.
How do we check for the problematic statements in Customer enhancements ( User exits, Customer Exits, Copy routines, BADI ) while migrating to SOH.
The variants FUNCTIONAL_DB and FUNCTIONAL_DB_ADDITION do not capture findings in custom code in Customer enhancements.
this is a general issue: how ATC checks the code. We significantly improved the coverage of checked code in ATC with SAP NetWeaver 7.52 enabling to scan the folowing artifacts: modifications, customer enhancements, User/Customer exits, Maintenance views (views and tables used for customizing), Smart Forms.
Thanks for your quick reply.
We are on SAP NetWeaver 7.4 and We are migrating to HANA. We want to check for problematic statements in all the customer enhancements, User exits, Customer Exits, Copy routines, BADI's etc..
Is there a simple or straight forward way to find problematic statements in all the customer enhancements, User exits, Customer Exits, Copy routines, BADI's etc..?
Or kindly suggest on the approach we need to follow.
as I explained above: the source code coverage by ATC was improved in SAP NetWeaver AS ABAP 7.52, therefore you would need to set up such a system (SAP_BASIS 7.52 only) as an ATC central check system to check your SAP NetWeaver 7.4 systems remotely using ATC remote code analysis .
Thank you very much.
Is it possible to implement this autofix feature in Eclipse for our own custom checks in ATC.
If yes,could you please suggest any document?
yes, it is possible. See the guide:
How to write an ATC Check (PDF).
I have configured my ATC to run remotely following the instructions but I'm getting an error when running the ATC series that says;
"CL_CI_TEST_USAB_GUI" verification is not based in RFC
Message N° SATC_SHARED000
My control system is an S4Hana2021 development environment which I borrowed temporarily to run the remote ATC.
The source system is a ECC with NW 7.4 and EHP7
I found 4 OSS notes but none of them were applicable.
Can you help me?
Thanks in advance.
please open a ticket to SAP, we need to investigate this in detail.
Thank you very much. I will.
Could you confirm if ATC is possible in Non-Unicode system with Basis Version 7.4 SPS27.
ATC is available since SAP NetWeaver 7.2 SP12, so it is available also in your release.
Thanks Olga for your response.
I hope no issue with Non -Unicode system.