Remote Code Analysis in ATC – Technical Setup step by step
This is the second blog of the blog series about Remote Code Analysis in ABAP Test Cockpit (ATC).
See also blogs:
To use Remote Code Analysis in ABAP Test Cockpit (ATC) you need to install and configure one ATC central check system SAP_BASIS 7.51 or >=SAP_BASIS 7.52. Depending on how many custom objects you need to consider, SAP recommendation for system sizing is about 1 CPU and 4GB RAM per 16000 objects, for data volume on the DB about 400kB per object.
The systems, which you want to check in your landscape, must be on SAP_BASIS 7.00 (not before SP15), 7.01 (not before SP01), 7.02 (not before SP09), 7.31 (not before SP03), 7.40 (not before SP02) or 7.50 releases. For supported SP levels see also the SAP Note 2385520.
The RFC destinations for all checked systems must be provided in the ATC central check system and RFC-stubs must be implemented in all checked systems.
Depending on your support package level you need to apply the respective SAP Notes for using ATC to perform remote analysis. See the collective SAP Note 2364916.
If you intend to run ATC for the objects in your own custom namespaces (other as Z* or Y* namespaces), you will need to register custom namespaces of the checked systems at the central ATC system.
You would also need authorizations for administrative and quality assurance activities. See Authorizations for the ABAP Test Cockpit.
Please also assign your RFC user the corresponding roles as described in SAP Note 2672703 Authorization roles for remote check scenarios
PLEASE NOTE: The ATC central check system can only analyze systems at the same or lower software levels.
1. Setup System Role
By setting up the system role you can specify the current system as a central check system for remote ATC checks.
Log on to the ATC central check system as ATC administrator and call transaction ATC. Under ATC Administration -> Setup double-click the Set System Role entry:
Switch to change mode, choose ATC Checks by Object Providers Only option and click Save button.
This option defines that the current system takes the role of the ATC central check system and ATC is used to analyze development objects in remote systems.
2. Define RFC destinations for checked systems
Use transaction SM59 to create RFC destinations for each ABAP system, which will be checked in the current central ATC system.
3. Maintain Object Providers
While ATC check runs in the central system, the ATC framework uses RFC connections to the remotely checked systems to extract a model from the custom code for analysis. Object Providers define these RFC connections and therefore they must be configured for usage.
Every Object Provider must be assigned to a System Group, therefore before you configure Object providers, you need to create System Groups. A System Group contains multiple SAP systems of the same SAP release. It can be helpful to define more than one System Group (e.g. for each subsidiary of your company with its own custom code). In the central check system ATC exemptions are valid only for the whole relevant System Group.
To create a System Group, in the ATC transaction, under ATC Administration -> Setup double-click Maintain Object Providers and then double-click the item System Groups for selection. Switch to change mode, click the New Entries button in the toolbar and enter an ID and short Description for the new system group to be added.
Now you can maintain Object Providers. Select RFC Object Providers by double-clicking, switch to change mode and click the New Entries button. Specify ID, Description, System Group and the valid RFC destination to the remote SAP system. Repeat these steps for each Object Provider you want to set up.
Correction Systems define RFC connections which can be used to view and change the source code.
4. Configure Run Series
Now you need to configure ATC run series for remote ATC checks. In the ATC transaction under ATC Administration -> Runs double-click Schedule Runs and click the Create button in the toolbar. Enter the name for the series in the dialog and click Enter. Specify the data for the new series configuration: Description, Check Variant (global Code Inspector Variant), Object Provider and Object Selection (choose the packages or the object set in the remote system.). Save your configuration.
5. Schedule Run Series
Now you can schedule ATC check run in a central system to check remote systems. In the ATC transaction, in der Overview, under ATC Administration -> Runs double-click the Schedule Runs entry. Select the run series in question from the list with run series and click the Schedule button in the toolbar. Choose Execute (or F8) to run ATC checks.
6. View Results
After successful execution of the ATC run, the check results from the remotely checked SAP systems will be available in the ATC central check system for analysis.
Now you can logon to ATC central check system as developer, and view the ATC results in the ATC Result Browser (switch to the ATC Result Browser in the SE80).
In the ATC Result Browser, choose Results by system group, select the relevant system group and display its ATC run series.
Double-clicking the node of the run series allows to view the list of findings. Double-click a finding to view the details. And now you can examine the finding in detail, access the related documentation with information on how to correct it, navigate to the relevant source code line and correct the finding or request an exemption. That’s it.