Application Development and Automation 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
186,484

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.



 

181 Comments
schneimic
Discoverer
0 Likes
Hello Olga, hello everyone,

thanks for the great step-by-step guide to the Remote ATC Check.

We set up the ATC central check system and implemented the SAP Notes in the Remote check system. After we performed an remote ATC-Check (from the ATC central chek system), we observe a significant number of dumps:

Syntax Error in CL_ABAP_COMP_PROCS_E=============CP_ABAP_COMP_PROCS_E==========CP
Note 2270689 (running program RS_ABAP_INIT_ANALYSIS) and Note 2527903 solved the dump.

When we now start an Remote-ATC-Check we get some tool failtures with exception: CX_SY_IMPORT_MISMATCH_ERROR.


I couldn't find any suitable notes for this.

The SCI Code Inspector->Management of->Test
Check Class "CL_CI_TEST_FIELD_EXT" of Note 2272014 exists (active) in both systems.

Are there any further notes other than those listed in the collective note 2364916?

Our ATC Central Check has the SAP_BASIS Version 751 0004 - SAPK-75104INSAPBASIS

and the Remote Check System SAP_BASIS 750 0008 - SAPK-75008INSAPBASIS

 

Many thanks

Michael
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert

Hi Michael,

the second SAP note 2527903 must be implemented in the ATC central check system. The error indicates that this SAP note could has been implemented in the remote check system, where it brings nothing. The line number 89 of the crash speaks for it too. You also implemented SAP note 2272014 in both systems (central check ATC system and remote check system). This is only necessary in the ATC central check system.

Best regards,

Olga.

schneimic
Discoverer
0 Likes
oh, yeah, that was it.
Thank you

 

Michael
0 Likes
Hi Olga,

Thanks for your excellent series blog.

Please, could you comment what means "Consider Baseline" flag when you schedule a run?



Regards.
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi David,

it means, that the baseline (if you defined it) will be considered at ATC run. See more about the baseline concept in the blog https://blogs.sap.com/2016/12/13/remote-code-analysis-in-atc-working-with-baseline-to-suppress-findi...

Best regards,

Olga.
0 Likes

Thank you so much Olga,

I assumed it, so I asked it because we haven’t set the baseline check at any time and the results are so differents between them.

For instance, for “QT0_1809_3” (without consider baseline flag) & “QT0_1809_4” (with consider baseline flag) runs, the unique difference is the “consider baseline” flag when I schedule the run and without set any baseline. The runs were executed at the same time and object provider.

Anyway, thank you for your comments and blog, we have opened an incident to SAP in order to obtain more info.

Regards.

antonio_steinhuser
Participant
0 Likes
 

Hello,

What can I do if I do not have a system> = 7.51 which I can use as ATC?

Is there an alternative solution?

 

Gruß

Toni
former_member520017
Discoverer
0 Likes

Hi Olga,

Thanks for the suggestions and your detailed explanation on setting up ATC. It is very helpful.

 

We have ensured the setup exactly as suggested in the note 2364916. We have downloaded & implemented note 2270689 in checked system and also executed the program RS_ABAP_INIT_ANALYSIS. Still after that we observe too many check failures in the result. My system is on SAP_BASIS 7.52 SP01. Could you please throw some insight what might have went wrong?

Best Regards,

Kamal.

BaerbelWinkler
SAP Champion
SAP Champion
0 Likes
Hi Kamal,

I added an answer to your corresponding question in Q&A. Hope it helps!

 
CreyJ
Participant
0 Likes
Hi Olga,
I'm a little confused about the RFC destinations.
I would have assumed that the RFC connection of the correction system and not that of the object provider was used for navigation from the result display in the remote ATC system to the development system. However, a test shows that the provider destination is being used. Or is a fallback logic built in here?
The system is a 752 SP0, grade 2600034 is built in.

My idea was to set up the object provider as a named RFC destination with communication user and the correction system RFC Destination as a trusted RFC destination, since our user admins do not like to create service users and dialog users are relatively often subject to password changes. Does this work? I thought I'd found once a documentary somewhere here, but I can't find it right now anymore.

greetings
Jürgen
schneidermic0
Product and Topic Expert
Product and Topic Expert
0 Likes
Hi Jürgen,

This should work. Did you select the system in the ATC results to which you want to navigate?



ATC uses the checked system as default destination.

Michael
0 Likes
Hi Olga,

Just to clarify the SAP solution to the incident that I opened regarding to the misunderstanding with baselines.

The problem was that the object provider QT0 shared the same system group that the object provider QP0 (different systems but the same release), and as the QP0 object provider had a baseline the ATC linked the baseline to the system group.

We solved it creating a new one system group for QT0.

Thanks for your help.
CreyJ
Participant
0 Likes
Upps, never noticed the button before.

Thx.
Former Member
0 Likes
Thank you for the useful blog post!

According to this document, checks in the SCI can also be performed offline, by extracting code from the source system and uploading it to the target system.

Can the inspection you described be done similarly?

In the ATC I have to enter Object Provider which is defined with an RFC destination, so I guess it can't be performed offline.

I extracted code from the source system and uploaded it to the target as described in the link, defined an object set and tried to execute SCI inspection with that object set and Check Variant S4HANA_READINESS / S4HANA_READINESS_REMOTE, and got an error with both of them:

Cannot perform inspection: Check 'CL_CI_TEST_S4H_DD_ENHANCEMENTS' is not extract-based

Is there any way to perform this code analysis with extracted code?

Thanks!
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert

Hello Arik,

you cannot check for S/4HANA readiness using an SAP NetWeaver 7.4 system as a target system. This is only for SAP HANA readiness. To check your custom code for S/4HANA readiness you need at least an SAP NetWeaver 7.50 system in combination with Custom Code Migration Worklist.

But we recommend to set up an SAP NetWeaver AS ABAP 7.52 system with remote ATC as described in the blog, since ATC not simply detects all usages of S/4 simplifications in your custom code, but delivers the exact list of critical issues which must be fixed in your custom code if moving it to SAP S/4HANA.

Best regards,

Olga.

Former Member
0 Likes
Thank you for your response.

The target system is SAP NetWeaver AS ABAP 7.52, and I'm able to perform the code analysis for other systems via RFC successfully.

I want to know if it's possible to do not via RFC, but by extracting code from the source system and uploading it to the target system.
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Arik,

no, the SYCM-based (extract-based) approach of SAP NetWeaver 7.50 doesn’t work anymore in 7.51/7.52. You need to use remote ATC infrastructure.

Regards,

Olga.
christoph_ostrop
Active Contributor
0 Likes

in our central ATC system with NW-7.52_SPS03

in Configure Run Series, we got error ”

Check ‘CL_CI_TEST_DYNPRO_USAB_ACC’ is not RFC-based”

 

what does that mean, what to do ?

sapnote 2532627 is  already installed (in SPS01) 

 

 

OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hi Christoph,

please verify your Code Inspector check variant: all its checks must be RFC-enabled to be executed by the remote ATC.

Regards,

Olga.
daniel_lippmann5
Active Participant
0 Likes
Dear Olga,

we want to use quick fixes. As I understand, these are only available as of NetWeaver 7.53 - which is part of S/4 1809 and not available as standalone. As we don't have HANA licensed yet (since we're still analyzing the impact), is there any way to access NW 7.53 with an SAP on Oracle contract?

Any input is appreciated.

 

Best regards,

Daniel Lippmann
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hi Daniel,

unfortunately not: SAP S/4HANA product family is shipped only on HANA DB, and AS ABAP 7.53 is a part of SAP S/4HANA 1809.

Best regards,

Olga.
christoph_ostrop
Active Contributor
0 Likes
Hi, Olga,

thanks for your quick answer, (great blog and great hints)

to maintain the variant is under "Quality Governance" and "Manage Check Variants" ?

Regards,

Christoph
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hi Christoph,

yes, correct. Then you are in the Code Inspector and can change/create check variants there. You need to consider: the "green arrow" means the check ist RFC-enabled:



Best regards,

Olga.
accenture_ses
Discoverer
0 Likes
No new ATC results in Solution Manager System

Hello Olga. Excellent blogs in your web!!

We setup a Remote ATC system on base of SAP NetWeaver 7.53 in our Integration System (ECI) where we have scheduled Series Runs in background weekly jobs.



And the scheduled series run :



We have SAP SOLUTION MANAGER 7.2 SP7:



But from SAP SOLUTION MANAGER – Work Center, we no see the last ATC results in Quality Cockpick tile. We select a project:



Then I click in “ATC Supervision” button where I see the historic evolution of ATC results:



The last plotted ATC result is for May 18th. We have ATC results for the last days. The ATC results from April 30th to May 18th that you can see in the graph, were created when in the SAP interface we can distribute the central ATC run. Since several days, probably after implement same notes, in Remote ATC system there are no possiblity of distribute the ATC results.

I have configured the development and integration system with the recommended SAP notes. Maybe I have to implement other notes in our systems? What must we do to see the recent ATC results obtained in the central ATC system?

Greetings.
antonio_steinhuser
Participant
0 Likes
Hello,

can someone explain the following settings to me, what does this mean when I define an ATC run?

  • Analyze generated code

  • Consider Baseline

  • Calculate Quick Fix Proposals


 

Thanks

Toni
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hello,

for such types of issues please open the support ticket to SAP or look up the Solution Manager 7.2 SP06 guide on https://wiki.scn.sap.com/wiki/display/SM/SAP+Solution+Manager+WIKI+-+Custom+Code+Management

Best regards,

Olga.
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hello Toni,

please look up these options in the SAP Help: https://help.sap.com/viewer/ba879a6e2ea04d9bb94c7ccd7cdac446/201809.002/en-US/b9f1632c06aa4b76836db3...

Regards,

Olga.
antonio_steinhuser
Participant
0 Likes
Thx Olga
former_member278698
Discoverer
0 Likes
>The systems, which you want to check in your landscape, must be on SAP_BASIS 7.00, 7.01, 7.02, 7.31, 740 or 7.50 releases.

I guess ATC should be extended to newer releases over time. Are there note describing versions requirement for central and source systems?

Am having errors CX_SY_IMPORT_MISMATCH_ERROR with 7.51 as central system, and 7.53 (S4HANA 1809) as source, but not sure should this combination work at all. 🙂
0 Likes
I have been trying to schedule a sci job and getting an error message, as shown in the attached screenshot.

I also tried to implement sap note # 2270689, 2485231 manually uploading from the system, directly using download option but didn't find the mentioned note in the snote list as no error appears at the end and it took longer to upload and download. I also increase the profile parameter for snote.



 

Something wrong with note implementation, could anybody please guide how to rectify this?

 

Regards

Abbas

 
antonio_steinhuser
Participant
0 Likes
Hello,

Since we have no ATC system with our customer, we want to use the following method:

https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/92/b9263c6a6f4f8e888ced5632372d23/frameset.htm

  1. We want to run the SYCM_DOWNLOAD_REPOSITORY_INFO report  in the customer system.

  2. we analyze and import the zip-file in our ATC system via SYCM_UPLOAD_REPOSITORY_INFO.


I know that this is no longer recommended by SAP and that you should use ATC Check. But we have no other option.
What are the main differences in the evaluation?

 

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

the custom code analysis with Custom Code Migration Worklist is only offered on a SAP NetWeaver AS ABAP 7.50 system. It is not provided anymore on >7.50 releases and was replaced by the remote ATC. Technically the Custom Code Migration Worklist approach is based on the SYCM tool. The difference to ATC is, that SYCM is based purely on where-used list, meaning it finds e.g. all usages of simplified SAP standard code in your custom code but doesn’t analyze if this usage is critical, therefore the false-positive rate is extremely high. The analysis if the usage is critical can do only ATC.

Best regards,

Olga.
antonio_steinhuser
Participant
0 Likes
Hello Olga,

 

thanks for the fast answer.

 

Gruß
Toni
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hi Ruslan,

the ATC central check system can only analyze systems at the same or lower software levels. This is the rule. Thank you for this remark. I will take it over in the blog.

Regards,

Olga.
sudipta_maitra
Discoverer
0 Likes
Hello Olga,

We are setting up Remote ATC Check in Satellite system (SAP BASIS 7.31 SP17) & Central Check system (SAP BASIS 7.51 SP0).

We have successfully implemented the notes for satellite system, but while implementing SAP Notes for Central Check system Note 2375864 is resulting in syntax errors.

Implementing notes based on 2364916 ~ SAP NetWeaver 7.51 (SP0)

  • 2375864 - ATC: Remote checks - developer scenario

  • 2378425 - No Customizing of Priorities for Code Inspector Tests

  • 2381471 - ATC/CI: Internal error during determination of objects to be checked prevents check run

  • 2389855 - Remote Navigation for check "Search problematic statements for result of SELECT/OPEN CURSOR without ORDER BY"

  • 2391534 - ATC: Creation of Exemption not possible / Referred object does not exist


Can you please guide how to proceed.

 

Thanks

Sudipta
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hi Sudipta,

please open the ticket to SAP and describe your syntax errors.

Regards,

Olga.
IanStubbings
Active Participant
0 Likes
Hi Olga

Just wondering if there was a 'Heath Check' item on your Central ATC backlog? After seeing the one for the Personas 3.0 implementation, it would seem a good idea to have a central note check facility as well as remote notes/RFC destinations/user checks?  As more and more systems get added to our CATC, the harder it will be to keep track of notes implementations etc.



Regards

Ian
antonio_steinhuser
Participant
0 Likes
Hello Olga,

 

we want to export the ATC Check results to xml and to export to Readiness Check 2.0

We have implemented the SAP Note

2781766 - Enabling ATC check result export for SAP Readiness Check 2.0


But... we do not found the button or menü, where we can export the Check in the ATC System to xml ???

 

Gruß
Toni
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hello Toni,

in the ATC transaction just select your result in the "Manage Results" screen and use the context menu "Export File for -> SAP Readiness Check for SAP S/4HANA" as shown on the screenshot:



The colleagues will also document this procedure in the SAP Note 2781766, sorry for the inconvenience.

Regards,

Olga.
antonio_steinhuser
Participant
0 Likes
Hello Olga,

thanks , but it is not working? I do not see this context menu?

OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hello Toni,

if the SAP Note 2781766 is implemented correctly you should get this menu.

Regards,

Olga.
antonio_steinhuser
Participant
0 Likes
Hello Olga,

the note is completely implemented, but i do not find this context menue!

Gruß
Toni
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hello Toni,

only if your system is SAP_BASIS 7.53 SP00, then the note is not applicable, and it will not work. Otherwise please open a ticket to SAP, we need to take a look into your system.

Regards,

Olga.
former_member356236
Discoverer
0 Likes
Hi Olga,

We are running ATC from central system with SAP_BASIS 752, can't we enable "Check for S/4 related syntax errors " in the variant S4HANA_READINESS_REMOTE?

I see this is not marked for RFC. In that case how we can perform "Check for S/4 related syntax errors " in custom objects for S/4 related syntax errors through ATC running from central system?

We can't run ATC locally since our checked system is with SAP_BASIS 750.



 
former_member356236
Discoverer
0 Likes
Hi Olga,

Thanks for your detailed blog.

We are in the preparation for ERP6 EHP8 to S/4 1809 system conversion and doing custom code impact analysis for S/4 1809.

We performed Custom code migration work list(SYCM) check, SCI and now ATC check from central system.

What are the recommended SAP tools to be used for Custom code impact analysis to S/4 1809?

Thanks,
Selva.

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes
Hi Selva,

in the documentation of this check you can read that "this check executes the Syntax-Check operation for a certain set of objects. The findings are tried to be matched to SAP notes describing simplification items. We use a heuristic method to search relevant SAP notes that might be related to the syntax-error, that's the reason why note-findings might be incomplete or have some overabundance". You can use S4HANA_READINESS_REMOTE without this check.

Regards,

Olga.
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Likes

Hi Selva,

the recommended tool is the ATC with remote code analysis, you don’t need to use SYCM-based approach anymore.If you have an SAP S/4HANA 1809 system as a central ATC check system, then we recommend the custom code migration app: https://blogs.sap.com/2019/02/27/custom-code-analysis-for-sap-s4hana-with-sap-fiori-app-custom-code-...

Regards,

Olga.

BaerbelWinkler
SAP Champion
SAP Champion
0 Likes
Hi Olga,

last week, I ran S/4HANA Readiness Checks in our central system (NW 7.52) and while looking at the results, thought that it might be good to make these results available to developers. From the description for the "Activate" check box in the "Manage Results" screen, it looks as if I only have to set this flag for the specific result in order to have those results show up in SE80 of the checked satellite system (which is a development system in our case). This however doesn't seem to be enough as I don't see the specific run series in the ATC result browser - what am I missing? Is there something else which needs to be in place or executed?

This is what the help documentation shows:
"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."

Thanks & Cheers

Bärbel
BaerbelWinkler
SAP Champion
SAP Champion
0 Likes
olga.dolinskaja

Hi Olga,

I did some more digging and found your exchange with Bhavin A Shah from March 2018. Is the feedback from development " that for compatibility reasons in remote ATC scenario, ATC results can not be transferred from the central ATC system to connected systems. Therefore, the replication function does not currently exist in the central ATC system." still applicable?

Does this then mean that we'll have to trigger the S/4HANA Readiness Checks with a suitable check-variant in the satellite system(s) but pointing to a variant in the reference check system in order to make the results available to developers?

Thanks much and cheers

Bärbel
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Bärbel,

this was a long time the restriction in ATC remote scenario, but now it is possible (only in ADT), please refer to the blog: https://blogs.sap.com/2019/11/11/remote-code-analysis-in-atc-browse-central-atc-result-in-developer-...

Best regards,

Olga