ABAP Test Cockpit (ATC) Overview
February 2015
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
TABLE OF CONTENTS
ABAP TEST COCKPIT (ATC) OVERVIEW .......................................................................................................2
Features .............................................................................................................................................................2
Transaction .......................................................................................................................................................2
ATC ONLINE CHECK ........................................................................................................................................3
Execute Checks ................................................................................................................................................3
Results ...............................................................................................................................................................4
ATC - CREATE & SCHEDULE RUNS...............................................................................................................6
Create Run Series .............................................................................................................................................6
Schedule Run Series ........................................................................................................................................9
MONITOR AND CONTROL RUNS ..................................................................................................................10
Phases .............................................................................................................................................................11
Results .............................................................................................................................................................11
Restart .............................................................................................................................................................12
MANAGE RESULTS ........................................................................................................................................13
MANAGE CHECK VARIANTS ........................................................................................................................15
REFERENCES AND HELPFUL LINKS ...........................................................................................................17
1
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
ABAP Test Cockpit
Features:
The ABAP Test Cockpit (ATC) is an ABAP check toolset which allows running static checks and unit tests for your
ABAP development objects.
Integrate tests written for the Code Inspector to enable reuse of existing checks and check variants in
the ABAP Test Cockpit.
Directly integrated into the ABAP workbench as well as in the ABAP Development Tools for Eclipse and
allows checking code from just within the development environment the ABAP developer is familiar
with.
Working with the ABAP Test Cockpit as a developer is easy and efficient with 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, email notifications on
errors and exemption workflow events, and periodic regression tests in a quality system. In addition,
the ATC offers tools to analyze the ABAP Test Cockpits results on team or component level.
The integration of the ABAP Test Cockpit into the SAP Solution Manager allows cross system quality
reporting.
Reference: SAP Community Network, http://wiki.scn.sap.com/wiki/display/ABAP/ABAP+Test+Cockpit
Transaction Code
Transaction Code: ATC, ATC Administration
Note: this document covers parameters that are relevant for carrying out code remediation/optimization
exercises. Additional parameters/selections/functionality exist. For these items not covered, developers can
read help documentation through placing cursor in target parameter and clicking F1 and by referencing the
References and Helpful Links section at the end of this document.
2
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
ATC Online Check
Execute Code Inspector Check Variant via object editor(s); ABAP Editor, Class Builder, Function Builder, etc
Execute Checks
Select object to be evaluated and navigate to ABAP Test Cockpit (ATC) with from menu.
Options tab contains the following selections;
Code Inspector Check Variant This variant specifies the checks that the ATC will run for the selected
object(s).
o FUNCTIONAL_DB: Functional Checks for Database Access
o FUNCTIONAL_DB_ADDITION: Additional Functional Checks for Database Access
o PERFORMANCE_DB: Performance Checks for Database Access
Note: For the purposes of this document and following exercises, we will execute the PERFORMANCE_DB check
variant. See SAP Note 1912445, ABAP custom code migration for SAP HANA recommendations and Code
Inspector variants for SAP HANA Migration for more details regarding above Code Inspector Check Variants
3
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
and their relevance when migrating to SAP HANA. Additional Code Inspector Check Variants exists. See
Manage Check Variants section for more details.
Handling of Pragmas/Pseud.Comm. Define handling of code based exemptions
o Suppress Findings: Findings exempted in code will not be contained in the ATC result
o Report Findings as Exempted: Findings exempted in code will be contained in the ATC result with
state Exempted
o Report Findings as Unresolved: Findings exempted in code will be contained in the ATC result with
state Unresolved.
Execution Mode Define how local ATC Check is to be run
o Immediate: Immediate Check run execution
o Immediate via batch: Execution in batch mode
Select Execute Checks from ATC Online Check screen
Results
Results of the Check Run include a list of findings per Priority, Check Title, Check Message and Object Name.
Each record from above list contains additional details, including location/line number of code, level of effort
required to replace/modify code, suggested solution, etc that are accessible via double-click (or Display
Details button).
4
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
Check Message details may include
suggestions for correcting/optimizing
identified coding.
5
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
ATC - Create & Schedule Runs
ABAP Test Cockpit allows you to configure/schedule a Run Series.
Run Series: Store a set of parameters for ATC check runs. These include the object set to check and the check
variant. You can repeat runs using the series configuration. The ATC keeps a history of findings in the series,
recording the first occurrence of a finding.
Creating and Scheduling Run Series include the following parameters/selections;
Series Configuration Name: Config. Name that allows you to store a set of parameters for ATC check
runs. These include the object set to check and the check variant
Check Variant: Code Inspector Variant; evaluates selected objects during execution
Object Selection;
o By Query - Package(s), Transport Layer(s) or Software Components.
o By Object Set - Single objects; program, function group, class, interface, or Dictionary object
Central Check Run: check that is intended to be official, visible to developers, and that can be used for
quality statistics and central management of exemptions. If left unchecked, the run is considered
local, but visible via ATC Result Browser in transaction SE80.
Life Span in Days: ATC results have an assigned life span. After the life span has been exceeded an ATC
result can be deleted automatically
Create a Run Series
To create a new Run Series, select Schedule Run from ATC transaction.
6
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
From the above screen, select Create and enter Series Config. Name
You can now configure your new Run Series.
The Description is defaulted with the following variables; System, Day, Week, Year. These variables are
populated upon scheduling/execution of the run series. You can modify this description to make it descriptive
per new Run Series.
Also, you can determine how to handle exemptions (code that is identified as exempt via pseudo-code
comments). In the example below, Suppress Findings is selected. For this run series, Exemptions are not
included in ATC output.
7
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
Define the Check Variant that will be used to evaluate the target objects/code. For this example, we will
select PERFORMANCE_DB, which will identify optimization potential (per static code checks).
Next, define the objects that will be evaluated during execution of the Run Series.
By Query: process Run Series by Package(s), Transport Layer(s) or Software Components.
By Object Set: process Run Series by Object Set (consists of one or more single objects; program,
function group, class, interface, or Dictionary object), which can be created via Code Inspector
(Transaction: SCI) or the Manage Check Variants selection in the initial ATC screen.
For this example, we will configure the Run Series to process all objects within Package TRAINING.
The Run Series is now configured. Save your changes. The new Run Series now exists and can be scheduled to
run in our target system.
8
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
Schedule Run Series
Select Run Series from the list and click Schedule.
For this Run Series, we will not update the defaulted parameters. For more details regarding the below
selection criteria, refer to previous documentation, and/or navigate to the help document for each parameter
via F1 Help.
Click Execute (or F8).
The Run Series is now in process.
9
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
Monitor and Control Runs
From Transaction ATC select Monitor and Control Runs.
From this selection you can carry out the following;
Browse past/present Run Series executions
Display Phases of each Execution; Determine Object Keys, Compute Object Attributes, Check Objects,
Create Display Load Header
Display Results
Restart
Enter Selection Criteria and select Execute (or F8). For this example, we will review the Run Series execution
initiated in the previous section.
10
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
The Selection returns the following results, which are now complete (per column State).
From the above screen, you can display the following views and restart the Run Series;
Phases
Select Phases from the menu.
Results
Select Results from the menu.
11
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
Restart
To restart the Run Series, select Restart.
12
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
Manage Results
From Transaction ATC select Manage Results.
From this selection you can carry out the following;
Filter results for Central Runs only
Activate Results: An active ATC result is the central result that has been designated as the current,
official result. An active result is usually published to the satellite development systems of a central
quality-checking system. Developers use the active result to see what needs correction and to apply for
official exemptions.
Replicate Results: Distribute Results to Satellite systems via RFC
Display, Delete, Copy Results
Enter Selection Criteria and select Execute (or F8). For this example, we will review the Run Series execution
initiated in the previous section. We will also exclude local Run Series via the Central Run Only checkbox.
13
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
As mentioned in the beginning of this section, developers can Display, Delete, Copy, Replicate and Activate ATC
Results per Run Series execution. The result also includes a high-level view of the checks + priorities identified
during execution.
14
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
Manage Check Variants
From Transaction ATC select Manage Check Variants. From the initial ATC screen, we are navigated to Code
Inspector (Transaction: SCI).
From Code Inspector you can carry out the following;
Search/Display/Manage Check Variants, Object Sets and Inspections.
Note: Inspections not relevant for this document.
Via below screen, you have access to the objects selected when creating the Run Series in the Create &
Schedule Runs section of this document.
15
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
Search for existing Check Variants via Code Inspector.
Note: New Code Inspector checks outlined below.
For more details regarding Code Inspector, click the Information button within the Code Inspector transaction
and/or reference the Helpful Links at the end of this document.
16
Brett McGee | Principal Consultant | SAP America, Inc. | 02/2015
References and Helpful Links
ABAP Test and Analysis Tools http://wiki.scn.sap.com/wiki/display/ABAP/ABAP+Test+and+Analysis+Tools
ABAP Test Cockpit http://wiki.scn.sap.com/wiki/display/ABAP/ABAP+Test+Cockpit
Getting Started with ATC http://scn.sap.com/docs/DOC-32628
17