ABAP Test Cockpit in the Cloud – What is already possible
Last edit: September 11, 2023
If you use (or intend to use) the SAP BTP ABAP Environment – formerly known as SAP Cloud Platform ABAP Environment – to develop ABAP applications in the cloud and want to establish quality assurance for your cloud-based ABAP developments then you are surely interested in the execution of ABAP test cockpit checks over our ABAP custom code in the cloud.
|PLEASE NOTE: after custom code analysis you can stop your SAP BTP, ABAP environment system to save the costs, if the system is temporarily not used. Learn how to do it in this blog SAP BTP ABAP Environment – Manage system hibernation.|
How to execute custom code analysis in the Cloud
Custom Code Migration app, which is the SAP recommended tool for analysis of your custom code for SAP S/4HANA and cloud, supports also classic custom code analysis projects.
If you press Create button in the Custom Code Migration App you can now select a custom code analysis project:
Under the Advanced Configuration you can restrict custom code analysis and choose which packages you want to analyze:
After you saved your custom code analysis project, ABAP Test Cockpit will execute custom code analysis and you can examine your ATC results under the Analysis tab by clicking the Analyze Findings button or by clicking directly on the reported “Number of Findings” in the project:
How to execute CVA checks in the Cloud
You can also execute SAP Code Vulnerability Analyzer (CVA) checks for your custom code using the custom code analysis project of the SAP Fiori Custom Code Migration app. Using SAP CVA in the SAP BTP ABAP Environment is included at no additional licensing fee.
It works as following. Use Create button in the Custom Code Migration App and select a custom code analysis project:
Then enter the project data and select the ATC check variant SLIN_SEC. You can check your custom code in the same system as well as the code in remote on-premise system (in this case you need to enter the connection to your remote system):
After you saved your project data, the custom code analysis will be executed and afterwards you can see the results as usual by clicking e.g. on the Number of Findings:
In the Findings list you will get the results of all CVA checks executed for your custom code:
How to configure an ATC check variant in the Cloud
The SAP BTP ABAP Environment offers you by default some predefined ATC check variants. For example, the check variant ABAP_CLOUD_DEVELOPMENT_DEFAULT contains the preconfigured ATC checks, which will be used if you just run ATC in ABAP Development Tools in Eclipse over your custom code in your cloud-based ABAP system.
But surely you may want to configure the ATC check variant according to your needs e.g. adjust the check priorities or exclude some checks.
You can configure your ATC check variant for cloud using the SAP Fiori app ABAP Test Cockpit Configurator. Let’s examine in detail how it works.
The new SAP Fiori App ABAP Test Cockpit Configurator allows you to maintain ATC configurations for the Cloud based on ATC check variants. For more information how to provide access to users and how to implement this App, see the SAP Help Documentation ABAP Test Cockpit Configurator.
View and maintain ATC configurations
Open the ABAP Test Cockpit Configurator App by clicking on it. All available ATC configurations in your ABAP system in the SAP BTP ABAP Environment are listed, and the active configuration is checked. You can any time click on the respective “>“ button and adjust an ATC configuration.
As you see from this example already 3 ATC configurations were created in the App and one of them is checked as Active:
Create a new ATC configuration based on an ATC check variant
Let’s create a new ATC configuration based on the default ATC check variant for cloud ABAP_CLOUD_DEVELOPMENT_DEFAULT. To do so click the Create button, enter the Name and select the ATC check variant ABAP_CLOUD_DEVELOPMENT_DEFAULT:
Press Create button:
Change ATC check priorities
Now you can (if needed) change the ATC check priorities for this configuration. Use the Search field to search for the check class or message code you want to edit.
Press Edit button and use the drop-down menu to change a priority of a message:
Don’t forget to save your changes:
Configure transport settings
You can also configure the behavior at transport release using the new provided Transport Settings e.g. in order to prevent release of transport requests at ATC errors of certain priorities:
Consequently, while trying to release a transport request containing the source code with ATC findings in the ADT in Eclipse, developer will get the corresponding error message, e.g.:
Set your ATC configuration as active
If you now want to use your adjusted ATC configuration as active just select it in the ATC configurations list and click the Set as Active button:
How to display an ATC check variant in ABAP development tools for Eclipse
For the ATC execution in the cloud we currently offer some standard ATC check variants. You can choose an ATC check variant from the existing check variants by clicking the Browse button (or using Content Assist: Ctrl + Space shortcut):
Until now it was not possible to see, which ATC checks are contained in the corresponding ATC check variant. Now you can display an ATC check variant as an ABAP development object using the Open ABAP Development Object (Ctrl + Shift + A) to see which checks are contained in it:
Just select the ATC check variant and it gets displayed in the editor in a tree-like view as you know it from the SAP GUI Code Inspector. You can open a check category (e.g. “Syntax Check”) to see which checks are chosen there. On the bottom of the view you can switch between parameters of the selected check (“Parameters”) and its details (“Documentation”):
How to create an ATC check variant in ABAP development tools for Eclipse
For the ATC execution in the SAP BTP ABAP Environment, we currently offer some standard ATC check variants.
But surely, you may want to create your own ATC check variants as you can do it in your on-premise SAP systems to bundle ATC checks as it is suitable for your own development use case.
If you want to create your own ATC check variant in SAP BTP ABAP Environment, you can either create it from scratch or copy and change an existing ATC check variant delivered by SAP.
More details in the blog How to create and use your own ATC check variant in ABAP Development Tools for Eclipse.
How to create an ATC check in ADT
Some of you may not only want to configure the ATC checks delivered by SAP and bundle them to custom ATC check variants but are eager to write own ATC checks.
More details how to do it in the blog How to create your own ATC check in ABAP Development Tools for Eclipse.
How to create and approve ATC exemptions
You can create and approve ATC exemptions using ABAP development tools for Eclipse and transport them between different SAP BTP, ABAP environment systems.
More details in the blog How to create and approve ATC exemptions in ABAP Development Tools for Eclipse.
How to integrate ATC checks into your CI/CD processes
If you use Jenkins as a CI/CD server to control your lifecycle and quality processes you can also set up the ABAP environment pipeline and configure the execution of ATC checks within this pipeline. Find more details in the Daniel’s Mieg blog: https://blogs.sap.com/2020/10/22/ci-cd-tools-for-sap-cloud-platform-abap-environment/.
Please consider that the ATC exemptions that you have defined in your development system will be also considered within the pipeline.
How to export and import ATC objects across on-premise and cloud ABAP systems
We also enabled the export and import scenario via abapGit for ATC related objects. You can use abapGit to import and export ATC check variants, ATC check objects and ATC check categories across your on-premise and cloud ABAP systems.
More details in the blog Export and import ATC objects across on-premise and cloud ABAP systems.