Skip to Content
Technical Articles
Author's profile photo Mahesh Sardesai

Conversion to S/4HANA 1809FPS0 – t5 – Custom Code Migration

Updated 5 Oct 2019  valid for S/4HANA 1909

This blog is for the detailed steps for Custom Code Migration (CCM) for step t5 of conversion to S/4HANA 1809FPS0/FPS1 is an optional step. The steps are shown for Custom Code Analysis to estimate efforts required for the Custom Code Adaptation. As part of custom code migration there is also a step to be done after the system conversion in SPDD/SPAU.

Download the Custom Code Migration User Guide 1809 FPS0 / Custom Code Migration User Guide 1809 FPS1 or Custom Code Migration Guide for 1909 according to your target release and use the blog for reference

Please find other blogs as follows at S/4HANA SQUARE ONE


NEW INSTALLATION     PART1 – MP PART2 –  Installation
PART3 –  BP Activation
PART4 – Fiori Activation PART5 – DATA MIGRATION
S/4HANA 2020 fps0 fps0 fps0 fps0 fps0
S/4HANA 1909 fps2 fps1  fps0  fps2 fps1  fps0 fps2 fps1  fps0 fps2 fps1  fps0 fps0
S/4HANA 1809 fps2  fps1  fps0 fps2  fps1  fps0 fps2  fps1  fps0 fps2  fps1  fps0
S/4HANA 1709
fps2  fps1  fps0 fps2  fps1  fps0 fps2  fps1  fps0
UPGRADE   t2 – MP t3 – SIC
t4 – CCM t5 – SUM
S/4HANA 1809 link link link link
t5 – CCM t6 – SUM 
S/4HANA 1909 rc2 link link link prepare
S/4HANA 1809



link link link EHP7/hdb
S/4HANA 1909 link custom link standard link
S/4HANA Certification Exams through SAP Certification Hub link

This blog is valid for converting a SAP ERP 6.0 system to SAP S/4HANA, as well as upgrading a SAP S/4HANA system to a higher release. In both cases it will analyze you custom code and will point you to those action you will have to take in order to make your custom code work on the target software product & release.

Custom code analysis is just for “analysis” and you have to take a decision on which custom code you still require / want to use on the target release. For Upgrade from S/4HANA you have to use the ATC option only. If the S/4HANA system is NW 7.52 and above you can do local ATC checks with a variant imported with relevant notes like Note 2659194 for 1809 and Note 2812556 for 1909.

This is the graphical view of the process in 4 STEPS:


The checked system can have either of Software components – SAP_BASIS 7.00, 7.01, 7.02, 7.31, 7.40, 7.50, 7.51 or 7.52.

TIP: First 2 notes below are big and if you get “Note Incomplete” or “Error occurred while downloading SAP Note xxxxx” please try downloading again individually and if it still doesn’t work, download from launchpad /upload in snote manually. To give you an idea of size – 2485231 is 4MB , 2270689 is 11MB, 2190065 is 1.6MB and 2196792 is 1MB

APPLY FIRST NOTE:  2485231 – Remote ATC Checks of Modifications and Enhancements

Create Function Group SCA_ABAP_CHECK_MODINFO

Get Access Key

Checkmark Confirmed and continue – 2 times

Check and set as below:

Create Function Group SCA_REMOTE_DATA_ACCESS

Checkmark on Copy Changes for first 2 items

Click on Activate Anyway

APPLY SECOND NOTE: 2270689 – RFC Extractor for performing static checks

This note is HUGE and you may face errors while downloading. Try downloading the note from browser and then upload in SNOTE.

Create Function Group SABP_COMP_PROCS_E

Activate the function group SABP_COMP_PROCS_E.

Checkmark on Copy Changes for first 2 items

Click on Activate Anyway –  6 times

Start Report RS_ABAP_INIT_ANALYSIS and Confirm step.

APPLY THIRD NOTE: 2190065 – ATC/CI: Remote Code Analysis – Object Provider Stub

This note was already implemented by other notes.

APPLY FOURTH NOTE: 2196792 – RFC-Stub for CVA/SLIN-Remote

Under package SLIN, create subpackage S_CVA_BSP

Under package SLIN, create Function Group SLIN_REMOTE_RESOURCES

Activate Function Group SLIN_REMOTE_RESOURCES


Activate Function Group CVA_BSP_REMOTE_RESOURCES

The object tree should look like this:

Checkmark on Copy Changes for first 3 items

Create a user in Checked system with below authorizations. like CCM_CHECKED.

This completes the steps for the Checked system.


The Central Check system should have Software component SAP_BASIS 7.52 or higher. In case you already have a S/4HANA sandbox, you could use it. Also you can use a S/4HANA Fully activated Appliance on-prem or in CAL, it just requires Netweaver 7.52 and above. So if you have a S/4HANA 1909 system lying around you can use it and have to apply minimum notes.

We will use CAL solution which is SAP NetWeaver AS ABAP 7.52 SP01 on SAP ASE 16.0 from below:

Below config is fine to reduce cost.

Activate Instance and login as user DDIC, copy user DDIC to create user S4HCONV so notes can be applied. Ensure RFC SAPOSS is configured and working.

The 2 notes are not to be applied in Checking system using SNOTE but contain information related to notes which are to be applied.

APPLY FIRST NOTE: 2436688 – Recommended SAP Notes for using SAP S/4HANA custom code checks in ATC

Since this is a Netweaver 7.52 SP1 system we have to apply the notes, if your system is different Netweaver/SP level, the notes to be applied may be completely different.

2578127 – Pseudo comments for S/4HANA custom code checks
2577440 – Improvements in S/4HANA custom code check “S/4HANA: Search for S/4 related syntax errors”
2569135 – S/4HANA custom code check “S/4HANA: Search for S/4 related syntax errors” reports syntax warnings
2573527 – S/4HANA custom code check for buffered DB table access

All above notes do not have manual steps.

APPLY SECOND NOTE: 2364916 – Recommended SAP Notes for using ATC to perform remote analysis

Since this is a Netweaver 7.52 SP1 system we have to apply the notes, if your system is different Netweaver/SP level, the notes to be applied may be completely different.

2423013 – Code-Inspector-Test Checksum-Infrastructure
2527903 – Remote analysis (for central check system)
2587593 – ATC: Checkability of Modifications and Enhancements in Remote Checks – Developer Scenario
2614006 – ATC remote check fails in developer scenario
2629856 – CVA/SLIN: Security checks of SFP-Forms ( SAP Interactive Forms by Adobe )

APPLY THIRD NOTE: 2659194 – Check variant for SAP S/4HANA 1809 custom code checks

In case your target system for Upgrade/Conversion is S/4HANA 1909 please use note below:

SAP Note 2812556 – Check variant for SAP S/4HANA 1909 custom code checks


FIRST: – download the CCMSIDB from Service Marketplace. Open Software Download Center and search for CCMSIDB

SECOND: – Import the Simplification Database into Central Checking System

enter tCode SYCM

After clicking Open, there is a message Loading ZIP C:\CCMSDB00P_7-8000101. The  there is a message – Downloading simplification notes ….

You should get message below:

THIRD: – you can now display the content of the simplification database. Click the Overview button.

The simplification items are grouped by Simplification Category.

FOURTH: – If you click on Show Items for Selection, you can view the Simplification Database content with displayed list by SAP Object Type, Simplification Category and relevant SAP Note Number.

FIFTH: – Set the role of the Central Check System

Enter tCode ATC => System Role => Change System Role

SIXTH: – Create System Groups using tCode ATC => ATC Administration => Setup => Object Providers

Select (1) System Groups, (2) Change, (3) New Entries, (4) enter System Group details as below:

SEVENTH: – Enter tCode SM59, create RFC destination, Connection Type 3  in the Central Checking system to point to the Checked system.
You can create a separate user in the Checked System, use tCode SU01 to create user CCM_CHECKED.  For authorization details please refer Refer Note 2672703 – ATC: Authorization roles for remote check scenarios

EIGHTH: – Create RFC Object Providers using tCode ATC => ATC Administration => Setup => Object Providers


FIRST: – Configure remote ATC runs series tCode ATC => Runs => Schedule Runs ,

(1) Create Series Name (2) CONV1

SECOND:Select (1) Check Variant according to the target release and (2) Object Provider as shown below: and Save

TIP: After System Conversion, on your S/4HANA 1709/1809/1909 system you can run local analysis, it is recommended to use variant S4HANA_READINESS because this performs also the syntax check related to simplified objects.


In tCode ATC =>Runs=>Schedule Runs (1) Select the run series and click (2) Schedule button on toolbar.

Execute in Background

You will get notification that Background job was scheduled for program SATC_CI_CFG_SERIES_SCHEDULE


In the navigation pane in transaction ATC, expand the nodes ATC Administration Runs and double-click Monitor and Control RunsLeave the run series field empty and execute (F8)

The ATC Run Monitor view is displayed. The view shows the status of check runs as running, finished, or failed.


tCode ATC => ATC Administration => Runs => Manage Results

Leave the run series field empty and choose Execute (F8).

As you can see below there are 17 priority 1 findings, 8 priority 2 findings and 92 priority 3 findings.
In the ABAP Test: ATC Manage Results view, (1) select a run series and choose (2) Display to inspect the results.

The view shows a list of ATC run results from your requested period of time. A list of all ATC findings is displayed in transaction SE80. From here you can navigate to the corresponding source code part by clicking on the Object Name and you can analyse the code. You can click on Object Name header column and sort to find out which records are pertaining to a single object name.Choose Statistics View.

Click on (1) Choose Statistic to group the ATC findings (for example, by SAP Note Number, Simplification Item Category, Contact Person, etc). The ATC findings are grouped by the selected statistics

You can (2) Double-click a statistics group to display the list of ATC findings assigned to the selected statistics in the window below.

You can then (3) Double-click an ATC finding to open (4) detailed information in window below. Here you can find the SAP Note number referring to a dedicated SAP Note and the referenced object.

Click the object name to navigate to the source code to see where the incompatible code occurs

Please go through the video below for detailed explanation:
Custom Code Adaptation for SAP S/4HANA


In the preparation phase the ABAP Test Cockpit is used to analyse custom code impact of HANA database and S/4HANA. After that in the Realization phase, the SUM tool is used to conduct system conversion and combined database migration to HANA.   Here you need to adapt your ABAP custom code to the new S/4HANA software and optimize performance of SAP HANA databaase by performing application-specific follow-up activities and working with tools like transaction
SPAU and SPDD to adapt the modifications and enhancements.

The SPAU and SPDD transports created in development system are later used in subsequent systems in the landscape QAS and PROD.


Note 2364916 Recommended SAP Notes for using ATC to perform remote analysis
Note 2672703 – ATC: Authorization roles for remote check scenarios
Note 2761273 How to analyze errors when using ATC Transport-Related Checks functionality

ABAP Call Monitor (SCMON) – Analyze usage of your code
What you can do today to prepare your custom code for SAP S/4HANA
SAP S/4HANA System Conversion – Custom code adaptation process
Remote Code Analysis in ATC – Technical Setup step by step

Custom Code Migration Guide for SAP S/4HANA 1809         <= pdf

Custom Code Adaptation for SAP S/4HANA

Upgrading SAP S/4HANA AnyPremise – How, Why, and Best Practices guide now available !

SAP S/4HANA 1909 System Conversion Steps & Details – How to be prepared

Thank you. Hope you enjoyed the blog !

Mahesh Sardesai
Product Expert – S/4HANA




Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Ashok Reddy Thammineni
      Ashok Reddy Thammineni

      Hi Mahesh,


      i am basically sap basis person, here my question is

      i know this CCM step is optional , but who have to perform all this stems and CCM after alalisis? i mean basis person or ABAP/functional person has to perform?


      Author's profile photo Mahesh Sardesai
      Mahesh Sardesai
      Blog Post Author

      Hi Ashok,

      CCM requires a certain setup of infrastructure as it involves connection between 2 systems. This task is normally a basis task as it requires system/network access. Basis person can help setup the infrastrure and then the CCM results report can be better understood by ABAP person and the ABAP person should be able to work together with functional person to identify

      (1) whether the code is still needed/to be marked obsolete. Some reports may be changed to CDS views or use built in reports/charts so code may not be required.

      (2) whether it requires fix and ABAPer should try to fix it

      (3) testing needed to validate the fixes

      Author's profile photo Mohit Singhal
      Mohit Singhal

      Hello Mahesh,

      Thanks a lot for compiling the information . My Question is that when pre checks are done and the custom code that needs to be adapted in the target system are determined, can we still go ahead with the migration without fixing the custom code? I know the code won’t work but can we still move forward with conversion? Need to know the Best Practice on CCM.




      Author's profile photo Mahesh Sardesai
      Mahesh Sardesai
      Blog Post Author

      Hi Mohit,

      Custom code should only be adapted in the target S/4HANA system. You can do all the impact analysis etc in source ERP system and identify unused code to be removed etc. But the code changes for S/4HANA are to be done after conversion.

      The code changes can be documented in sandbox conversion and then should be again done in S/4HANA development system. The transport can be applied in QAS and PROD as part of conversion.

      Author's profile photo B@lu .
      B@lu .

      Hi Mahesh Sardesai,

      what is the difference between S4HANA_READINESS  and S4HANA_READINESS_REMOTE Variants? when to use what?

      there are multiple version specific Variants are available now S4HANA_READINESS_*. but S4HANA_READINESS  and S4HANA_READINESS_REMOTE variants seems to be a generic Variants for all versions. am I correct? if yes which variant I have to use generic Variant or Version Specific Variant?


      thanks in advance




      Author's profile photo Mahesh Sardesai
      Mahesh Sardesai
      Blog Post Author

      Hi balu,

      The predefined variant S4HANA_READINESS is for local checks and S4HANA_READINESS_REMOTE is for remote checks

      (only difference is, that S4HANA_READINESS has an additional, special syntax check which for technical reasons cannot be remote enabled.)

      - Mahesh

      Author's profile photo Pasha Syed
      Pasha Syed

      Hello Mahesh,


      Thanks for your blog.


      I am planing upgrade my S4HANA  OP 1809 FPS 04 to OP 2020 FPS01, Kindly suggest on CCM Part, Do I need to perform CCM on 1809 or 2020.?


      I have sandbox  S4HANA 1809 server, Shall i use it as Central System or need to upgrade it to OP 2020 and then use as Central System, Please suggest.



      Pasha Syed

      Author's profile photo Mahesh Sardesai
      Mahesh Sardesai
      Blog Post Author

      Hi Pasha,

      You should do the CCM part on 1809 FPS4. This is the preparatory analysis of custom code.

      You can upgrade sandbox 1809 to 2020 to use it as central system.

      • Mahesh
      Author's profile photo Sarath Karnatapu
      Sarath Karnatapu

      Hello Mahesh,

      First of all let me Thank you for the Wonderful Blog.

      Please tell me what would be the Checked system for upgradation project( From S/4 Hana 1809 to 2020 ). I understood Sand Box system( current version S/4 1809) can be used as Central Check System then where I can implement checked system notes of step1 in the blog ?..will it be development server?

      Please Advice




      Author's profile photo Prabhu Koneru
      Prabhu Koneru

      Hi Mahesh,

      Thanks a lot for providing this blog. My question is all of our systems are 750 including the Solman. Is there a way to run these on 750 or do we have to create a central system with >= 7.52. Please advice.


      Author's profile photo Hafiz Nasir
      Hafiz Nasir

      Dear Sir

      done job for following the blog