Skip to Content

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

See also blogs:

 

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 and day, 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, 7.01, 7.02, 7.31, 740 or 7.50 releases.

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.

 

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.

 

To report this post you need to login first.

41 Comments

You must be Logged on to comment or reply to a post.

  1. Gregg Hinkle

    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?

    (0) 
  2. Ilyas Ahmed

    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.

    (0) 
    1. Michael Schneider

      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

       

      (0) 
      1. Ilyas Ahmed

         

        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.

         

        (0) 
  3. Marcel Gäbe

    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

    (0) 
  4. Stephan Scheithauer

     

    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

    (0) 
      1. Stephan Scheithauer

         

        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

        (0) 
        1. David Jauernig

          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

          (1) 
  5. Michael Koch

    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

    (0) 
    1. Olga Dolinskaja Post author

      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.

      (0) 
      1. Michael Koch

        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

        (0) 
        1. Olga Dolinskaja Post author

          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.

          (0) 
  6. Rajesh Dadwal

     

    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

    (0) 
    1. Olga Dolinskaja Post author

      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.

      (1) 
      1. Rajesh Dadwal

        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

        (0) 
        1. Rajesh Dadwal

           

          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

          (0) 
          1. Olga Dolinskaja Post author

            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.

            (0) 
            1. Rajesh Dadwal

              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

               

              (0) 
              1. Olga Dolinskaja Post author

                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.

                (0) 
                1. Rajesh Dadwal

                  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

                  (0) 
                    1. Rajesh Dadwal

                      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

                      (0) 
  7. Frowin Keiser

    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

    (0) 
    1. Frowin Keiser

      Hi

      We solved this problem: SAP Note 2270689 was inconsistent.

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

      Regards, Frowin

       

      (0) 
  8. Frowin Keiser

    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

    (0) 
    1. Olga Dolinskaja Post author

      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.

      (0) 
  9. Antonio Steinhäuser

    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

     

    (0) 
    1. Olga Dolinskaja Post author

      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.

      (0) 
      1. Antonio Steinhäuser

        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

        (0) 
          1. Antonio Steinhäuser

             

            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

            (0) 
            1. Olga Dolinskaja Post author

              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) 
  10. Raj Mistry

    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

     

    (0) 

Leave a Reply