Skip to Content
Technical Articles

Custom code analysis for SAP S/4HANA with SAP Fiori App Custom Code Migration

Maybe you already know, that ABAP Test Cockpit offers the option of executing the checks remotely on any ABAP system (SAP_BASIS >= 7.00). Using remote ABAP Test Cockpit infrastructure SAP customers and partners can analyze custom code in older systems using the latest ABAP Test Cockpit checks and only one central system for ABAP Test Cockpit (see blog series about Remote Code Analysis in ATC).

With SAP S/4HANA 1809, we offer the SAP Fiori Custom Code Migration App based on this remote ABAP Test Cockpit infrastructure. The App should be used for custom code analysis for SAP S/4HANA in the context of  SAP S/4HANA conversion (see also  SAP S/4HANA System Conversion – Custom code adaptation process).

The App performs SAP S/4HANA checks on your custom code, which needs to be migrated from your SAP Business Suite System to SAP S/4HANA and provides the analytical presentation of the ABAP Test Cockpit check results with comprehensive filtering and navigation capabilities. Beyond this the App identifies the unused custom code based on your collected usage data, and this enables you to remove it automatically during a system conversion to SAP S/4HANA.

Technical Setup

You need an SAP S/4HANA 1809 system set up as a central ATC check system. Our recommendation is to use your SAP S/4HANA sandbox system. See also Remote Code Analysis in ATC – Technical Setup step by step for setup guidance.

You need also to setup and configure the SAP Fiori App Custom Code Migration on this SAP S/4HANA 1809 system. Use SAP documentation on SAP Help Portal for specific implementation and configuration information on SAP Fiori App Custom Code Migration. The SAP Note 2436688 provides all required SAP Notes for the SAP Fiori App Custom Code Migration.

The SAP Fiori App Custom Code Migration will check custom code in your SAP backend system using the remote ATC infrastructure:

Create your Custom Code Migration Project

Start Custom Code Migration App on your SAP Fiori Launchpad. You can maintain multiple custom code migration projects in the App:


Create your Custom Code Migration Project by pressing “+” (Create Object) button and entering your project data: Project Description, Target Release for your SAP S/4HANA System and RFC Destination to your SAP ERP system:

Add usage data to your Custom Code Migration Project

Now you can add usage data collected either by the ABAP Call Monitor (SCMON) and aggregated by the SUSG transaction or add usage data collected in your SAP Solution Manager system (SAP Solution Manager 7.2 SP8 is the prerequisite).

NOTE: You should collect usage data of your business processes at least for one year in order to get really reliable results for not productively used code.

For information about how to collect usage data and aggregate it in your ERP production system see the blogs: ABAP Call Monitor (SCMON) – Analyze usage of your code and Aggregate usage data in your production system with SUSG transaction.

If you collected usage data in your ERP production system, use there the SUSG transaction to create a snapshot of usage data. The App will access it via RFC:

You can add usage data to your Custom Code Migration Project by pressing “+” (Add) button and using F4 Help in the Usage Description field. Save your project by pressing the “Save” button.

NOTE: If you collected usage data in the SAP Solution Manager, then the App detects whether it is a SAP Solution Manager system behind the RFC destination for the usage data. Then the existing SAP Solution Manager usage data records are displayed in the selection dialog.

Define the scope of your Custom Code Migration Project

Now you can define (based on usage data) which ABAP custom code needs to be taken over to your SAP S/4HANA system. The App will create a deletion transport in order to enable deletion of unused ABAP custom code during the system conversion to SAP S/4HANA.

Navigate to the Scope overview. You will see the graphical presentation of the detailed scope information. When you add usage data to your custom code migration project, a default scope is calculated. The default scope includes all used objects, all objects which are statically referenced by the used objects, and objects for which no usage data is available such as database tables or data elements.

If you included usage data into your Custom Code Migration Project, you can click on the Scope Request Entry Points. There you will get (based on the usage data) a list of the executed request entry points (such as a specific transaction, RFC call, URL request, or ABAP report) along with all ABAP procedures that have been executed under these entry points, and you can decide, which objects you want to remove (Remove from scope) (for example based on the last usage date).

In case you want to adjust the scope manually, the App offers the possibility to add/remove packages or single objects to/from the scope (click “Scope Packages” button). This can be useful to include new developments that are not yet productively used or exclude some developments that you will not need in your new SAP S/4HANA system.

After you defined the scope of your Custom Code Migration Project, you can create a transport request in your ERP system, which contains all information about your unused custom code (all objects that are not in scope). To do so go to the Project tab and click Save Scope as Transport Request):

The transport request gets created and appears under Request/Task of your Custom Code Migration Project:

This transport request will be added to the Software Update Manager (SUM) for the SAP S/4HANA conversion, the unused objects (not in scope) will be deleted by SUM.

NOTE: In case you want to keep a backup of the deleted objects we recommend to use abapGit in order to store the objects of the transport request in a Git Repository. For assistance how to do it see also the Steps 1-3 in the tutorial Use abapGit to Transform ABAP Source Code to the Cloud on

Analyze your custom code with SAP S/4HANA checks

As soon as you create your Custom Code Migration Project the SAP S/4HANA custom code checks are executed automatically by ATC, and the App offers you the analytical presentation of SAP S/4HANA custom code check findings.

Go to the Analysis tab and click on the “Analyze Findings” button:

Using the visual filters above you can group your ATC findings to get information on for example:

  • What are the most important (urgent) findings (-> filter Findings by Priority)
  • How many findings relate to the custom code objects you take over to SAP S/4HANA (-> filter Findings by Scope Information)
  • How many findings relate to your custom package XYZ (-> filter Findings by Package)
  • In which simplification areas do you get the most findings (->filter Findings by SAP Note Number)
  • For which findings there are Quick Fixes available and which findings you need to fix manually (->filter Findings by Quick Fix Availability)


Further information

See Documentation on SAP Fiori App Custom Code Migration on SAP Help Portal.

You must be Logged on to comment or reply to a post.
  • Hi Olga,

    thank you very much for the blog post and this nice app. But don’t you think that setting up a complete SAP S/4HANA system is a bit overdone and a waste of resources? Are there plans to downport this to NW 7.52 or to some other light system (standalone ABAP Platform)?

    Thanks and best regards,

    • Hi Oliver,

      I don’t see a waste of resources here. This app is intended for the custom code analysis during the SAP S/4HANA conversion, meaning the usage of the app begins when the first SAP S/4HANA sandbox system is available in the customer landscape for the conversion. This system can then be “reused” for the custom code analysis app.

      There are currently no plans to downport the app to the NW 7.52, and there is also no standalone delivery of the ABAP platform itself  (only within the SAP S/4HANA).

      Best Regards,


      • Hi Olga,

        in your blog post you’re writing “You need an SAP S/4HANA 1809 system set up as a central ATC check system”. This sounds like the future central ATC should be an S/4 system. Also some of the latest improvements (like ATC quick fixes) are only available for S/4.
        Therefore I am confused. Will we still be able to have a light system as central ATC system or do we need an S/4 system?

        And actually we would like to start with code checks and adjustments now and we do not want to wait until the migration starts 🙂

        Best regards,

        • Hi Oliver,

          you need the SAP S/4HANA 1809 system for using the App and this particular use case: custom code migration to SAP S/4HANA. After custom code migration you can continue to use this system for regular ATC quality checking for example.

          But you can also still use the ATC central check system on SAP NetWeaver 7.52.

          Regarding the ADT Quick Fixes: they are supposed to be used on SAP S/4HANA system, where the actual the custom code adaptation should take place.  Of course you can adjust the SAP HANA issues on ERP, and would benefit from the ORDER BY  Quick Fix for example, but the Quick Fixes are available only with SAP S/4HANA 1809 and there are currently also no plans for downport them.

          Best regards,




        • Hi Oliver,

          In addition/parallel to Olga’s answers for the custom code, creating a sandbox based on a copy of production is strongly recommended at early stages in the project, either before the project, or within the project. So at one point in time in your project, you will have this sandbox. I understand you want to do a workload assessment, but doing this sandbox conversion prior to the project is as well a very good way to better understand the workload of your future conversion project on many aspects ( Finance …) . Remember, a conversion IS NOT an upgrade.

          Hope this helps

          Best regards



    • Hi Oliver,

      we also plan to have the Fiori App available in SAP Cloud Platform. Then you can do remote custom code checks against your ERP system via RFC/ Cloud Connector. Would this be an option for you?




      • Hello Thomas

        the option “Custom Code Migration App” on SAP Cloud Platform sounds good.

        Can you tell us, when the app/service is expected to be available?


        Thank you.




  • Hi Olga

    We now now have an 1809 sandbox system that I am setting up against a 7.02 system. I have scanned it and it complains that I do not have a simplification database for the ATC to work against.

    So I still need the Simplification db even though I am on S/4?




  • Olga, Thanks for this blog and it is indeed helpful. We have just converted our sandbox and I am trying to setup this FIORI App and I have 2 questions:

    1. For Usage, is SCMON mandatory or UPL too will work ?
    2. How to activate “filter Findings by Quick Fix Availability” and I am not getting that option. We are on 1809 FPS01 SAP_BASIS 753 001.
    • Hi Satinder,

      1. you can also upload UPL data to the Custom Code Migration App.
      2. unfortunately this is bound to the SAP Note, which was recently taken back because of problems with the implementation of the note. Very soon it will be back. Development is already close to providing the solution.



      • Thanks Olga for quick response. Can you please help me point the the URL that details the instructions to use UPL for this App? I was not able to figure it out in the App.

        • If you collected usage data with UPL, you need to configure RFC destination to this system with usage data from the 1809 system where the App runs and then just follow the instructions in the “Add usage data…” chapter of the blog, especially the “NOTE:…” part.