Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert

This is the second blog of the blog series about Remote Code Analysis in ABAP Test Cockpit (ATC).

See also blogs:

Remote Code Analysis in ATC – One central check system for multiple systems on various releases.
Remote Code Analysis in ATC– Working with Baseline to suppress findings in old legacy code
Remote Code Analysis in ATC for Developers
Remote Code Analysis in ATC – Working with Exemptions
Remote Code Analysis in ATC Scanning customer extensions
Remote Code Analysis in ATC – Working efficiently with ATC Result List
Remote Code Analysis in ATC – How to write an ATC check
Remote Code Analysis in ATC – How to check Smart Forms and Adobe Forms
Remote Code Analysis in ATC – Browse Central ATC Result in Developer Systems
Remote Code Analysis in ATC – Maintain exemptions approvers according to their responsibilities
Remote Code Analysis in ATC – FAQ


Technical Requirements

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 400 kB 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.



 

176 Comments
former_member216029
Participant
0 Kudos
This is very informative.
Thank you for the detailed setup instructions.

BR
Mahadevan
GreggHinkle
Participant
0 Kudos

This will create a one time run. However what if you want this to run every 30 days? How would you automate this so that you would not have to manually schedule this to run each time?

ilyasahmed
Explorer
0 Kudos

Dear Olga,

 

Thank you presenting a series of detailed step by step ATC set up.

We have Evaluation system set up done and SAP Notes implemented on source ECC system. But when we run remote ATC check from evaluation system, we observe considerable number of tool failures. Along with priority 1,2 & 3, the number in tool failure is in hundreds. The error listed is primarily  “Prerequisites not met”.

Could you please let us know what action needs to be taken to address this issue.

schneidermic0
Advisor
Advisor
0 Kudos
Hi Ilyas,

Did you also process the manual post-implementation steps mentioned in the SAP Notes you applied? E.g., did you execute program RS_ABAP_INIT_ANALYSIS as menitoned in SAP Note 2270689?

Michael

 
ilyasahmed
Explorer
0 Kudos
 

Hi Michael,

 

Yes I ran program RS_ABAP_INIT_ANALYSIS in check system. If I were to run the program again, the message says "Tables have already been created".

Our check system is SAP_BASIS 701. So I don't know if there needs to be any additional notes applied. Could you please suggest..

 

FYI, I can confirm below SAP notes are applied in check system:

2270689, 2011106.

 

Below manual activity is also done:

Create the function group SABP_COMP_PROCS_E in the package SABP_COMPILER (the master language is German - DE).
Activate the whole function group immediately after the creation.

 
ThFiedler
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Greg,

on the "Schedule Runs" UI you can maintain regular run series via the "Execute in Background" Option.

Regards,

Thomas.
MaG
Explorer
0 Kudos
Hi,

i already implement this solution on different sap servers, but with one i had aproblem that I always get the exception CX_SY_IMPORT_MISMATCH_ERROR.

Code:
import SYMBOLS = P_SYMBOLS CHECKSUM = P_CHECKSUM from data buffer L_SCR_ABAP_SYMB-CONTENT accepting padding.

Is there any solution for this problem? I couldn't find something at SDN or in support.sap.com
schneidermic0
Advisor
Advisor
0 Kudos
Hi Marcel,

Could you check whether the issue is solved after applying SAP Note 2527903 in the central check system?

Thanks,
Michael

 
MaG
Explorer
0 Kudos
Hi Michael,

 

thank you. Now it is working.

 

Regards

 

Marcel
Stephan11
Explorer
0 Kudos
 

Hello,

after a hard and long way to bring this bird to fly we received our first scan result. But a lot of tool failures attend the scan result.

One tool error I do not understand:



It seams that the name of report is not forwarted to the message. There is a blank between the dot (.) and “program”

The note 2270689 is already implemented.

Also the message type (others) and the check title (unavailable) are not really precise.

 

But which exception or runtime error raise this message? What is the cause for this error? How can I analysis this?

 

Many thanks in advance.

 

with kind regards

Stephan Scheithauer
schneidermic0
Advisor
Advisor
0 Kudos
Hello Stephan,

Did you also process the manual post-implementaton steps of SAP note 2270689 (run program RS_ABAP_INIT_ANALYSIS) in the checked system?

Michael
Stephan11
Explorer
0 Kudos
 

Hello Michael,

 

thanks for your reply Michael.

 

Yes, the report was executed. At least I could see, that the tables were created and also filled.

When I start the report again, I get the message, that the report did already run.

 

Could the report RS_ABAP_INIT_ANALYSIS be really the reson why I did not receive remote data?

Other reports was checked correctly (at least over 2000). So this is not a general issue but I want to understand the issue and how to fix it so that I can check the rest of the reports.

 

Thanks in advance

 

With Kind regards

Stephan Scheithauer
DavidJauernig
Explorer
Hello Stephan,

 

did you find a solution? I encounter the same issue and would like to know how to analyze the messages with check title 'Unavailable'.

 

Best regards

David
mkoch_wu
Participant
0 Kudos
Hello there,

I have 2 questions re the setup of such a ATC system and performing the custom code check for S/4 adaptation.

  1. Am I correct in assuming that no HANA database is required for the ATC system?

  2. If the ATC system is running using a cloud hosted platform (Azure, AWS, etc), are any parts of the analysed custom code transferred from the target system to the cloud-based ATC system? This is particularly relevant in terms of security and Intellectual Property (IP).


I would be grateful for any clarifications!

Thanks,

Michael
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Michael,

1. yes, HANA database is not required for the central ATC system.

2. custom code is not transferred and is checked by the central ATC system remotely (RFC).

Regards,

Olga.
dadwal
Explorer
0 Kudos
 

Hi Olga,

We have configured the central ATC system – SAP_BASIS 7.52 and able to get S4H ATC violations from checked system (SAP_BASIS 7.40, SP17). Applied notes as stated in #2364916. Any how we are getting few “Check Failures” message along with ATC result. Can you plz suggest how it can be remediated.





In addition – if we need to run ATC on code base in system configured as central system how can it can be performed. Do we need to define current system in object provider?

 

Thanks & Regards

Rajesh
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Rajesh,

did you also process all manual post-implementaton steps as stated in the applied SAP notes?

You cannot check the ATC central check system itself with the remote ATC infrastructure. You need to check it locally (switch the system role to "Local ATC Checks only").

Regards,

Olga.
dadwal
Explorer
0 Kudos
Thanks Olga for responding,

We are getting tool failure for only 8 objects. Yes we had implemented manual corrections as stated in notes. Only 2270689 is pending as we are not able to download this note. Is this can be reason for tool failure?

Thanks & Regards

Rajesh Dadwal
dadwal
Explorer
0 Kudos
 

Thanks Olga for responding,

We are getting tool failure for only 8 objects. Yes we had implemented manual corrections as stated in 2364916. Only 2270689 is pending in checked system as we are not able to download this note.  But report RS_ABAP_INIT_ANALYSIS is available and we executed it.

Thanks & Regards

Rajesh Dadwal
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Rajesh,

yes, the 2270689 is relevant for RFC extractor, it must be implemented in the checked system. See "Technical requirements" chapter of the blog.

Regards,

Olga.
Former Member
0 Kudos
Hi,

I could make all the configurations and installed many notes. So far so good, I also could check the test remote system (C13) with Z check variants.

But when I select one of these variants FUNCTIONAL_DB or PERFORMANCE_DB, then I get a syntax error:



But: When I switch off the first 4 of 5 checks in this variant, then the error disappears.

I was searching the SAP knowledge database and also the internet, but nothing helps me to solve this problem.

Can you explain and solve for me what might be the problem?

Regards, Frowin
Former Member
0 Kudos
Hi

We solved this problem: SAP Note 2270689 was inconsistent.

We removed this note and installed it with the latest version.

Regards, Frowin

 
mkoch_wu
Participant
0 Kudos
Hi Olga,

 

Thanks for your response.

If the ATC check is done remotely without the (even temporary) transfer of custom code, doesn't this mean that the check might as well be done in the target system itself?

Sorry to be specific here, but from the viewpoint of where the Intellectual Property (IP) even temporarily resides -esp when the ATC central system is cloud-based- is important to us.

 

Thank you!

M
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Michael,

the ATC check is RFC-based, it is executed in the ATC central system for remote systems, the underlying Code Inspector check variant must consist of RFC-based checks only. See also Remote ATC checks in the SAP Help.

Best regards,

Olga.
Former Member
0 Kudos
Thanks Olga,

As you suggested, Now we have enabled remote ATC check. The remote ATC output received was not consistent with results earlier extracted using custom code migration worklist (Using - SYCM*) . Result from remote ATC are fewer in violation count & SAP notes #.

Can you suggest what can be the possible reason. Right now remote ATC is not giving all results as compare to Custom code migration worklist.

 

Thanks & Regards

Rajesh

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Rajesh,

generally it should not happen.

Maybe you have your own custom namespaces (other as Z* or Y* namespaces) to be checked with ATC? Then you need to register custom namespaces of the checked systems at the central ATC system.

Otherwise if you could provide a concrete example of the findings detected with SYCM and not found with remote ATC, please open the OSS ticket. It must be looked at in detail.

Hope this helps.

Best Regards,

Olga.
Former Member
0 Kudos
Hi Olga,

Yes, we have custom namespace. I can only see 2 namespace in this report which are not registered but anyhow Remote ATC is still showing the violation from these unregistered packages.

  • Remote ATC result-set is showing more violations count coming from couple packages

  • SYCM* result-set - showing less violation count coming from many packages.


One question - customer name space role is 'C' in current source system.It can be the possible issue? and need to be changed to 'P'. But these settings are same for both approach. Please suggest.

 

Thanks & Regards

Rajesh
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Rajesh,

please register the namespaces for ATC as I proposed and decide on the namespace role (P or C) based on the Setting Up the Namespace for Development.

If you still get less ATC findings as by using SYCM, open OSS ticket and make concrete example.

Regards,

Olga.
Former Member
0 Kudos

Hi Olga,

 

This seems to be possible issue. When we are running ATC remotely it is only getting violations for package marked with role (P) in sub-system. All these packages are for custom development (Non Y* / Z*). However with SYCM extract based approach it is giving simplification violation.

I have changed role for few packages and now its giving results thou ATC run. Still output is not exact same as compared to SYCM.

I checked few programs which were giving issues in SYCM but if run ATC on same program in Central system locally (without remote ATC) it is not giving any violations.

As ATC variants is recommended approach, so believe better is trust on ATC results.

 

Thanks & Regards

Rajesh Dadwal

Former Member
0 Kudos
Hi,

We have many SAP systems in the company on different SAP_BASIS levels: 7.11, 7.31, 7.40.

Currently we could establish remote ATC connections to systems with SAP_BASIS 7.31 and 7.40, and also we could run remote ATC tests successfully.

Unfortunately in the technical requirements is written SAP_BASIS 7.11 is no supported.



These systems with SAP_BASIS 7.11 are our main system with target to do remote ATC, because we will upgrade for SAP S4/HANA in near future. Remote ATC would be a great help to do this Job.

Questions:

  • Will this SAP_BASIS 7.11 level be supported in the near future?

  • What is the reason for not being supported for remote ATC? But SAP_BASIS 7.02 is being supported!


Any help for that?

Regards

Frowin
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Frowin,

unfortunately, the SAP_BASIS 7.11 is not supported due to the technical feasibility in this particular release. Please consider, 7.11 is not the underlying release for SAP ERP and therefore the SAP S/4HANA conversion path doesn't exists for 7.11 and consequently S/4HANA related custom code checks with remote ATC don't make any sense.

Best Regards,

Olga.
antonio_steinhuser
Participant
0 Kudos
Hello,

we have set up an ATC Central System (SAP_BASIS 7.52). With this central ATC we want to check a remote system for S/4 HANA readiness.
Which Variant do i need for the Checkrun? I found the following variants:
S4HANA_READINESS_REMOTE and S4HANA_READINESS_1709 , which is the right one?

As the Object Provider i use the remote system.

 

Gruß
Toni

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Toni,

the S/4HANA release specific variants check for the simplification items of the corresponding S/4HANA releases. For example the S4HANA_READINESS_1610 checks all relevant simplification items for S/4HANA 1610 and so on.

If you need to check for S/4HANA 1709 readiness, you can use either S4HANA_READINESS_REMOTE or S4HANA_READINESS_1709. Both would be correct.

Viele Grüße,

Olga.

antonio_steinhuser
Participant
0 Kudos
Hello Olga,

thank you

and when i want to check my custom code for S/4 HANA, which Variants do i need to take? The same?

 

Gruß

Toni
antonio_steinhuser
Participant
0 Kudos
Thanks,

i did now the remote S/4 HANA Checks with the ATC and also with the SCI.

I wonder why do I get different results?

ATC = 168 "Errors"

SCI = 25 "Errors"

 

Gruß
Toni
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Toni,

if you used SCI based on the SAP NetWeaver 7.5 approach (Code Inspector in the context of an S/4HANA migration), then you would get other results, because in 7.52 with remote ATC we delivered more S/4HANA readiness checks).

You need to use remote ATC, this is the recommended approach.

Regards,

Olga.
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Toni,

this question duplicates your previous question about S/4HANA readiness variants. See my answer above.

Regards,

Olga.
antonio_steinhuser
Participant
0 Kudos
 

OK,

thank you for the Info, that ATC should be used if possible.

One Question again. During the upgrade process to S/4 HANA via SUM, the code will also be checked, right?
Which mechanism does the SUM use?

 

Gruß

Toni
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
During the system conversion from ERP to S/4HANA (we call it system conversion, not an upgrade, because S/4HANA is a different product family) the SUM executes different tasks: database migraton, software update to S/4HANA, tables content conversion to the S/4HANA data model, but doesn't check custom code.

If you mean SAP Readiness Check, which runs in the preparation phase before SUM, then it uses Code Inspector and Custom Code Analyzer (SYCM), but delivers only high- level overview over the affected custom code by the S/4HANA simplifications, for a deep-dive analysis still the remote ATC must be used.

Regards,

Olga.
0 Kudos
Hi Olga,

Just wanted to say thanks for this informative blog.

I would like to ask if could we use a SAP CAL system as the central ATC check system or do we have to have to install a standalone SAP NetWeaver system (SAP_BASIS >=7.51) as we only require to do the S4 HANA checks as a one-off exercise.

if we can use a SAP CAL system do you have any links which I can reference.

Thanks, Raj

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Raj,

yes, you can use AS ABAP System in the CAL as ATC central check system. https://cal.sap.com/

Best regards,

Olga.
IanStubbings
Active Participant
0 Kudos
Hi Olga/All

I'm facing an issue with viewing code in the remote system.

For the Object Provider I have configured an RFC Destination with a Service User and in the Correction Systems I have configured an RFC Destination with a normal dialog user (me).

I am assuming that when I try to view the source code of a finding then the Correction System RFC destination would be used?

However it appears that the Object Provider is used.

Can you confirm if my thinking is correct.

Thanks

Ian

 
schneidermic0
Advisor
Advisor
Hi Ian,

Did you try to change the target system for navigation to the correction system in the ATC result list as shown in the screenshot below?



If you did not change this setting, the target system for navigation would be the checked system.

Kind regard,
Michael
IanStubbings
Active Participant
0 Kudos
Hi Michael

 

No I hadn't!  Many thanks for this. I'd obviously not seen or certainly understood the option.

Problem solved!

 

Cheers

Ian

 
IanStubbings
Active Participant
Hi Martin/All

As a follow on question, how have you defined the user for the RFC Destination for correction system? Do you use the current user, a specified dialog type user or a system user?

 

Thanks

Ian
scj1234
Participant
0 Kudos


Hi Olga,

Thanks for this informative blog.

We have 3 HANA systems with NW 740 SP13, NW 750 SP003. In all these systems I want to run ATC check on MV45AFZZ to analyse the custom code written in its subroutines.Could you please elaborate on how to run the ATC check on Include MV45AFZZ in all these systems?

Thank you


OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi  Saurabi,

which SAP_BASIS version does your central ATC check system have? User exits get scanned by ATC starting with NW AS ABAP 7.52.

Best Regards,

Olga.
scj1234
Participant
0 Kudos
Thanks Olga for your response.

I tried to run ATC check in NW 752 as well. But since package of the include MV45AFZZ is VMOD, ATC doesn't accept it as it is SAP standard.
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Saurabi,

actually user exit must be scanned by ATC 7.52. It sounds like a bug. Could you please open a ticket to SAP and provide details?

Thanks and Regards,

Olga.
BaerbelWinkler
Active Contributor
0 Kudos

olga.dolinskaja

Hi Olga,

after switching to “block on errors” end of last week in our ATC-setup, one of our developers in Brazil ran into a rather nondescript “tool failure” error. As this caused a priority 1 finding, it prevented the transport’s release.

When I had checked the same transport manually, no tool failure occured. After some more trial and error, plus the information from the developer that he could release his transport when logged in with language “EN” but not with “PT”, I checked if I could even login to the central system with “PT”. I couldn’t as it wasn’t one of the installed languages.

After discussing options with my colleague from the basis team, we decided to simply set the trusted RFC-connection to default language “EN” (instead of installing multiple and not really needed additional languages in the system). That got rid of the tool failure immediately.

How about updating what you have in the blog post, with the tip to take language(s) into account for the system- or RFC-setting?

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.

Cheers

Bärbel