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
mhmdatif
Explorer
0 Kudos
Hi olga.dolinskaja

Could you please support us here

https://answers.sap.com/questions/13809199/atc-error-please-update-stub-version-in-sid-source.html

 

We appreciate your support

Thanks and Regards,

M.Atif
amitpdutta
Participant
0 Kudos
Hello Olga,

We are facing error when trying to add Reference check RFC in satellite system. Could you please assist on this.


Our reference check system/ATC central  system is on 752 SP08 version

Satellite system is on 750 SP25 version

ThFiedler
Product and Topic Expert
Product and Topic Expert
Could you please create a support ticket for that.

Thanks,

Thomas.
SriKrishna
Active Participant
0 Kudos
Hello,

We are getting this error while saving the RFC object providers for Remote ATC.

Our checked system is SAP BASIS 7.50 0018 and ATC system is SAP BASIS 7.56 001.

 

Short Text
Syntax error in program "SAPLSCA_REMOTE_DATA_ACCESS ".

 

What happened?
Error in the ABAP application program.

The current ABAP program "SAPMSSY1" had to be terminated because it found a
statement that could not be executed.
In include "LSCA_REMOTE_DATA_ACCESSP01 ", in line 712 of program
"SAPLSCA_REMOTE_DATA_ACCESS ", the following syntax errors
have occurred:
Die Methode "GET_CHECKABLE_KEYS_4_TRANSPORT" ist unbekannt bzw. PROTEC
TED oder PRIVATE.

Any info or any note, which can fix this ?
ThFiedler
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi,

looks like something went wrong during note installation on your system.

Could you please create a ticket on component BC-DWB-TOO-ATF and we can check the situation  on your system.

Regards,

Thomas.
ahmed6141
Explorer
0 Kudos
Hi Olga,

We ran a local ATC check on our S4HANA 2022 FPS01, but the result is incomplete. I see 4 check failures with message -

Inspection was not executed due to an error while calling RFC RS_ABAP_GET_DDIF_VIEW_E (Remote function module RS_ABAP_GET_DDIF_VIEW_E is not available in the remote system)

Not sure why it's checking for Remote System when I run the ATC on a local S4HANA System.

Do you have a blog or how to run local ATC check on S4HANA System?

Appreciate your help!

Thanks

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

to start a local ATC check on an S/4HANA system you just need to create ATC run series and schedule the ATC run in the ATC transaction on your S/4HANA system, see https://help.sap.com/docs/ABAP_PLATFORM_NEW/ba879a6e2ea04d9bb94c7ccd7cdac446/b43a5247af624d2eb136caa... for more details.

Please make sure, that you check the system locally, your error indicates, that the remote ATC run was executed.

Kind Regards,

Olga.
former_member868893
Discoverer
0 Kudos
Hi Olga,

 

We are facing RFC error while checking SCI.

 

The necessary functionality is missing in the target system. See note 2375392

 

ATC version 752 00

Target system 750 SP20

 

Thanks, and regards,

Venkata Kalava
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Venkata,

please follow the instructions provided with the note 2375392.

Kind Regards,

Olga.
former_member868893
Discoverer
0 Kudos
Hi Olga,

 

Thank you. We have followed the note 2375392 and checked other notes mentioned in the main note, Unfortunately, still the same.


SCI RFC error


 

 

Thanks, and regards,

Venkata

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

in this case please open a ticket to SAP, the colleagues will take a close look and analyze your issue with the RFC error.

Kind Regards,

Olga.

 
davisingh
Explorer
0 Kudos
Hi Olga,

I'm trying to digest Custom Code Analysis based on your blogs but I'm bit lost , so hoping you can put me back on right track. Thanks

Scenario: We have S/4 2020 FPS2 4 tier landscape (Dev, QA, Staging and Production), intention is to upgrade these to 2022 FPS2.

Readiness Check pre-reqs notes are implemented and moved to Production where we would run RC and SI checks.

For Custom Code analysis we are following document https://help.sap.com/doc/9dcbc5e47ba54a5cbb509afaa49dd5a1/2022.002/en-US/CustomCodeMigration_EndToEn... and I'm lost with contradictory information.

Is this the right document we should follow for Custom Code Analysis.

And is Fiori app enough to achieve this or we need to use local ATC as well on each system.

Appreciate your help:

  1. Can we use our development system S/4 2020 FPS02 as Central/Local system for Custom Code Migration Fiori app? As per following it seems possible but 2.1.1.1 System Requirements says it has to be S/4 2021




 

2. Secondly do we need to run these ATC checks locally on next systems like QA, Staging and  Production in addition to running these from Central system using Custom Fiori app. As section 3.2 Running Local SAP S/4HANA Checks suggests running these locally on converted/upgraded systems as well.

 

Looking forward to hear from you.

 

Regards

Davinderpal Singh
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Davinderpal,

I will be happy to help you. Using the custom code migration guide is correct, the blogs offer the overview, the guide provides more details.

Regarding your first question: you can use your existing S/4HANA 2020 system as a central check system for custom code analysis. The information box before the 2.1.1.1 sub-chapter states this as well. The chapter 2.1 is generally related to using SAP S/4HANA 2022 as central check system (as its name also says), therefore in the 2.1.1.1 sub-chapter it must be also 2022 instead of 2021, this is a typo which needs to be corrected, sorry for the confusion.

Regarding your second question: the local ATC checks are necessary after system upgrade to S/4HANA 2022, since the local ATC runs are the foundation for the custom code adaptation  in your local systems using ABAP development tools for Eclipse and quick fixes (see the sub-chapter 3.3).

Kind Regards,

Olga.
davisingh
Explorer
0 Kudos
Thank you Olga.

To clarify we have 4 tier S/4 Hana landscape consisting of Dev, QA, Staging and Production on 2020.

We are planning to use our one and only development system as Central/Local Check system for Custom Code Analysis/adaptation (we don't have any other development system).

Post upgrade of development system, custom code would be adapted and included in transports which would be moved to next systems QA, Staging and then Prod.

Question is:

  1. Is ATC/Custom Code Migration Fiori check need to be done only against development system ? Or this needs to be performed against QA, Staging and Production?

  2. If Yes to above question then I believe we need to import SAPNote_2436688_Central_System.xml from note 2436688 on QA, Staging and Prod as well, am I correct ?


Secondly I found S/4 2022 upgrade guide and in section 3.4 talks about local ATC checks.


This suggests to run series against current release and then add to baseline and then run against target release.


So should we follow this document or one I mentioned before.

Secondly do we need to use both variants S4HANA_READINESS_2022_NO_FLE and S4HANA_READINESS_2022 for ATC, if yes then in which order.

https://help.sap.com/doc/760ce610a2af4174a329d2d8315378e2/2022/en-US/UPGR_OP2022.pdf


 

Looking forward to hear from you.

 

Regards

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

if you plan to upgrade your development system, adapt the code there and move the transports of your adapted code to QA, Staging and Production systems during their subsequent upgrade to 2022, then you will need to do custom code check only of your development system. The xml file from the SAP Note 2436688 must be uploaded on the central check system and on the systems, which you will check: in your case then only on your development system. You can use either the S4HANA_READINESS_2022_NO_FLE check variant or S4HANA_READINESS_2022 check variant. These variants and their difference are described in the Custom Code Migration guide. Please follow the Custom Code Migration guide, which provides more detailed instructions for custom code handling as the the SAP S/4HANA 2022 Upgrade Guide.

Kind Regards,

Olga.
davisingh
Explorer
0 Kudos
Hi Ola,

Very much appreciate your quick responses, it's clear but last question : If we are doing custom code analysis on our development system only, & Readiness Check/Simplification Check is done against Production system productive client and 000 client, when we upload these results to SAP support Readiness Check portal, custom code data would be missing there.

So we should do RC/SI analysis on development system as well along with Custom Code analysis output to get complete picture ?

Regards

Davinderpal Singh

 
OlgaDolinskaja
Product and Topic Expert
Product and Topic Expert
Hi Davinderpal,

I would expect RC/SI analysis on the system, which will be upgraded. But if the custom code is the same across your systems landscape (Dev-Q-Staging-Prod), then you could just upload custom code analysis results from Dev system to your existing RC results.

Kind Regards,

Olga.
alexandra_hueve
Explorer
0 Kudos
Dear Olga,

We set-up our ATC successfully but we have an issue with some namespaces we want to register. We use program SATC_AC_INIT_NAMESPACE_REG and were able to register some consumer namespaces but not all. The missing consumer namespaces are available under SE03 "Display/Change Namespaces" as the others we can register. I can't see any differences between the one which can be register and the one which can't be register.

Do you have an idea, why some consumer namespaces are not part of the list to register?

Thanks a lot.

Best regards,
Alexandra
ThFiedler
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Alexandra,

maybe because this namespace belongs to SAP. We do not allow to register SAP namespaces.

Can you send me the name of the namespace.

Regards,

Thomas.
alexandra_hueve
Explorer
0 Kudos
Dear Thomas,

Thanks a lot for your feedback. These are bought namespaces from other companies than SAP. They called /SME/ and /FOE/.

Thanks a lot.

Best regards,

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

according to our namespace registration both Namespaces belong officially to SAP. Unfortunately I do not see the project setup of this development. Maybe it was a Co-Project between SAP and partner.

Regards,

Thomas.
alexandra_hueve
Explorer
0 Kudos
Hi Thomas,

Thank you very much, is there a possibility that I can check by myself if it is a SAP namespace? Thanks.

Best regards,
Alexandra
ThFiedler
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Alexandra,

you can check table TRNSPACE in your system.There is a field SAPFLAG.

Regards,

Thomas.
alexandra_hueve
Explorer
0 Kudos
Hi Thomas,

Thanks a lot, the strange thing is, that this flag is not set in our system. We want to remove these namespaces because we don't use them and we wanted to do it with the Custom Code App and a deletion transport. But when these are SAP namespaces we can maybe request a deletion transport?


Best regards,
Alexandra
ThFiedler
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Alexandra,

I'm not sure if the CCM App is a good choice here. Usually the App is used to remove unused objects detected via SUSG. Do you have SUSG data in hand?

Regards,

Thomas.
alexandra_hueve
Explorer
0 Kudos
Hello Thomas,

Thanks a lot. Yes, we have SUSG data, we uploaded them already to our Custom Code analyses. So the idea was to register the namespaces which should be deleted and to create the deletion transport. So currently the namespaces are not part of the deletion transport. So we're uncertain what to do next.

Best regards,
Alexandra
Labels in this area