Custom code adaptation for SAP S/4HANA – FAQ
Last edit: October 30, 2023
This document tries to answer the most important questions around the custom code adaptation process for SAP S/4HANA.
For general information about custom code adaptation process to SAP S/4HANA please take a look at our central blog SAP S/4HANA System Conversion – Custom code adaptation process.
If you have common questions, which should be answered in this collection, you can propose them here, in case you are interested to discuss more specific topics please take part at the forum/discussions.
- Is this custom code adaptation process only for the conversion to the SAP S/4HANA or also for the database migration from Any DB to SAP HANA?
- What is the difference between custom code analysis within SAP Readiness Check and with ATC? What do I need to use?
- Can I use Custom Code Migration Worklist instead of remote ATC? What is the advantage of remote ATC?
- Should I use UPL or SCMON for usage analysis? Why there are two tools?
- The transaction SCMON is not available in my system. What should I do?
- Is there a performance decrease when using SCMON? If yes, how much (roughly)?
- What amount of data (roughly) can we expect after 12-15 months of usage data collection with SCMON in our ERP system?
- We use SAP Solution Manager with UPL. Can we switch to SCMON and how can we integrate already collected UPL data and new SCMON data?
- Can I collect usage data for Smart Forms and/or Adobe Forms?
- We want to replace UPL with SCMON. Are there any known implications?
- During the conversion to SAP S/4HANA: is it possible to add the SCMON usage data to the ATC analysis to focus on used custom code?
- We switched on SCMON in our system and found out, that only the data of the last 7 days is available. How to collect the usage data for a longer period of time?
- Can I see results of SCMON during the recording, before an SUSG snapshot was taken?
- I haven’t found the transaction SUSG in my system. What should I do?
- Can I use the transaction SUSG with the UPL usage data?
- Can I add already collected UPL usage data to the SUSG/SCMON?
- I want to perform SAP S/4HANA custom code checks for release SAP S/4HANA 1909 (or SAP S/4HANA 2020, or SAP S/4HANA 2021, or SAP S/4HANA 2022), but the check variant S4HANA_READINESS_1909 (or S4HANA_READINESS_2020, or S4HANA_READINESS_2021, or S4HANA_READINESS_2022, or S4HANA_READINESS_2023) is not available in my central ATC check system. What should I do?
- What is the difference between the S4HANA_READINESS_REMOTE and the SAP S/4HANA version dependent check variants (e.g. S4HANA_READINESS_2023)?
- Many customers use partner products or 3rd party coding. Are they considered within the ATC check?
- What needs to be adjusted in my custom code if I decide not to use the long MATNR (40) of SAP S/4HANA?
- Is the SAP Fiori App Custom Code Migration the successor of the CCLM in SAP Solution Manager? Which tool should we use in the future?
- Is the SAP Fiori App Custom Code Migration also available in the SAP NetWeaver AS ABAP 7.51/7.52?
- What is the minimum release of the SAP Fiori Frontend Server for using the SAP Fiori App Custom Code Migration?
- Do we necessarily need the SAP Fiori App Custom Code Migration for custom code analysis for SAP S/4HANA?
- What are the prerequisites on the central ATC check system to run and operate the SAP Fiori App Custom Code Migration?
- What can I do if I don’t have an SAP S/4HANA system in my landscape and want to use the SAP Fiori App Custom Code Migration?
- Is the SAP Fiori App Custom Code Migration bound to the SAP extended maintenance?
- Do I need to pay any additional license fee to use the SAP Fiori App Custom Code Migration?
- I have concerns about deleting the unused code. What should I do if I still need it later on?
- We collect usage data with UPL in SAP Solution Manager. Can we use this usage data for scoping in the SAP Fiori App Custom Code Migration?
- Should I check development or production system with the SAP Fiori App Custom Code Migration?
- Can I add more than one system to the custom code migration project in the SAP Fiori App Custom Code Migration?
- According to which criteria I define which custom code is in/out of scope for my converted SAP S/4HANA system?
- If I have issues with my SAP Fiori app Custom Code Migration where can I look for a solution?
- How can I recognize from issues, which ones can be fixed already on my SAP Business Suite system?
- Are there any SAP tools for automated custom code adaptations?
- What are the prerequisites for using ADT Quick Fixes?
- Is there a list of available ADT Quick Fixes?
- Do I need to apply a Quick Fix for every ATC finding manually? It will cost much time…
- Is it possible to add comments to the adapted code after Quick Fix automatically?
- Is there a dashboard/overview, which my custom code objects can be adapted with Quick Fixes?
- Can I see which changes will the Quick Fixes do on my code?
- Can I implement my own Quick Fixes?
This process is only of limited use for the SAP HANA migration and is not recommended. For custom code adaptation to SAP HANA check the blog ABAP custom code adaptation for SAP HANA – The efficient way.
SAP Readiness Check should be used in the planning phase of an SAP S/4HANA conversion. SAP Readiness Check provides a high-level overview of the custom code analysis and gives you the impression about the upcoming efforts. The ATC should be used in the project phase of an SAP S/4HANA conversion. The ATC executes deep custom code analysis and detects all critical usages of simplified SAP standard objects in your custom code which must be adapted.
The custom code analysis with Custom Code Migration Worklist is only offered on SAP NetWeaver AS ABAP 7.50. 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. Consequently the false-positive rate is extremely high. The analysis if the usage is critical can do only ATC.
Both tools can be used, however SCMON is recommended. SCMON is the replacement for UPL. It comes with new features (calling business process aka entry point) and can be used on the ABAP stack without SAP Solution Manager. In this way you can analyze the SCMON results directly within the ABAP stack.
ABAP Call Monitor is available with SAP NetWeaver AS ABAP 7.50 and for the lower releases (>=7.00) you can install ST-PI Add-on and use then the transaction /SDF/SCMON. Please see also the SAP Note 2679723.
Roughly about 5% CPU time on the application server.
Of the order of about 5 GB.
SAP Solution Manager >=7.20 supports SCMON and collects either UPL or SCMON data depending whether the connected system is capable of SCMON or UPL. It is also possible to extract the SCMON data into Solution Manager BW. The existing already collected UPL data get also imported into Solution Manager BW and simply mixed with the new SCMON data.
SCMON (and also UPL) collects only ABAP-based usage data.
SCMON is the SAP recommended successor for UPL. There are no functional implications.
Yes, it is possible with the SAP Fiori App Custom Code Migration, based on ATC. See also the blog Custom code analysis for SAP S/4HANA with SAP Fiori App Custom Code Migration.
Please note, that custom code that has not been adopted to the SAP S/4HANA has to be removed from the system; being left it possesses risk to data consistency.
The SCMON stores usage data on the system for a certain period of time (default 7 days). In order to store the usage data for a longer period of time, you should use transaction SUSG. See also the blog Aggregate usage data in your production system with SUSG transaction. The purpose of the transaction SUSG is to aggregate the usage data collected by SCMON for a longer period of time.
Yes, you can do it in the transaction SCMON (or /SDF/SCMON) using the Data Browser. See also the blog ABAP Call Monitor (SCMON) – Analyze usage of your code.
SUSG is provided also for older SAP NetWeaver releases (>=7.00). You need to install SUSG on your system via SNOTE. See please the corresponding SAP Notes in the “Prerequisites” chapter of the blog Aggregate usage data in your production system with SUSG transaction.
No, SUSG aggregates only the SCMON usage data, the UPL usage data are aggregated in the SAP Solution Manager BW.
No, SUSG aggregates only SCMON usage data. You use either SUSG with SCMON directly in in your production system or SAP Solution Manager with SCMON or UPL.
I want to perform SAP S/4HANA custom code checks for release SAP S/4HANA 1909 (or SAP S/4HANA 2020, or SAP S/4HANA 2021, or SAP S/4HANA 2022), but the check variant S4HANA_READINESS_1909 (or S4HANA_READINESS_2020, or S4HANA_READINESS_2021, or S4HANA_READINESS_2022, or S4HANA_READINESS_2023) is not available in my central ATC check system. What should I do?
The SAP note 2812556 explains how to get the S4HANA_READINESS_1909 check variant into your central ATC check system.
The SAP note 2959341 explains how to get the S4HANA_READINESS_2020 check variant into your central ATC check system.
The SAP note 3090106 explains how to get the S4HANA_READINESS_2021 check variant into your central ATC check system.
The SAP note 3231748 explains how to get the S4HANA_READINESS_2022 check variant into your central ATC check system.
The SAP note 3365357 explains how to get the S4HANA_READINESS_2023 check variant into your central ATC check system.
The SAP S/4HANA specific check variants (e.g. S4HANA_READINESS_2023) check your custom code for the simplification items, relevant for the target SAP S/4HANA release (e.g. S4HANA_READINESS_2023 checks only the SAP S/4HANA 2023 relevant simplification items). S4HANA_READINESS_REMOTE checks all the items of the Simplification DB.
It is possible to register foreign namespaces at the central ATC check system. See also the SAP Help Portal documentation: register custom namespaces of the checked systems at the central ATC system.
In this case after ATC run you will need to adjust only the places in your custom code where there are data lost, type or length conflicts of your MATNR (18) with the new MATNR (40), e.g. at passing it as a parameter to a method, which accepts MATNR(40), concatenation, comparison or assignment with a new MATNR (40).
The SAP Fiori App Custom Code Migration should be used only for the use case of custom code adaptation during the SAP S/4HANA conversion.
The SAP Fiori App Custom Code Migration is available only with the >=SAP S/4HANA 1809 (ABAP Platform 1809).
SAP Fiori for SAP S/4HANA 1809 requires SAP Fiori Frontend Server 5.0. See also the SAP Help Portal documentation Custom Code Migration.
The SAP Fiori Custom Code Migration App is the SAP recommendation for the custom code analysis for SAP S/4HANA. However, if the required SAP S/4HANA >=1809 system is not available, the SAPGUI-based remote ATC infrastructure with the central ATC check system on SAP NetWeaver AS ABAP 7.52 can also be used for custom code analysis.
The prerequisites are the same as for the central ATC check system in remote scenario. 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 400kB per object. See also the blog Remote Code Analysis in ATC – Technical Setup step by step.
You can use the SAP Fiori App Custom Code Migration on SAP Business Technology Platform (SAP BTP) – formerly known as SAP Cloud Platform. For more details see the blog ABAP custom code analysis using SAP Business Technology Platform.
The SAP Fiori App Custom Code Migration is part of the SAP S/4HANA and is subject to the maintenance rules of SAP S/4HANA.
You need only a valid SAP S/4HANA license.
You can keep a backup of the deleted objects using abapGit in order to store the objects of the deletion transport request of the SAP Fiori App Custom Code Migration 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 sap.com.
Yes, it is possible. You can upload your UPL usage data in the SAP Fiori App Custom Code Migration. The prerequisite is the SAP Solution Manager 7.2 release. See the blog How to upload usage data from the SAP Solution Manager to the SAP Fiori App Custom Code Migration
It can be both: either a development system or a production system, depending on which system you convert to SAP S/4HANA.
For each system, a separate custom code migration project must be created in the SAP Fiori App Custom Code Migration.
The basis for scoping is the collected usage data with SCMON (or UPL/SAP Solution Manager 7.2). You can also change the scope manually in the SAP Fiori Custom Code Migration App: add or remove objects.
The blog Custom Code Migration app – Known Problems & Solutions offers the list of the known issues and solutions.
Unfortunately this is not possible.
Yes, the Quick Fixes (Ctrl + 1) in ABAP Development Tools for Eclipse, which make it possible to adapt approximately 60% of your custom code to SAP S/4HANA in a semi-automated way. The Quick Fixes not only adapt custom code automatically but can also do it in one shot (mass-enabled Quick Fixes). See also the blog Semi-automatic custom code adaptation after SAP S/4HANA system conversion.
The system requirements for Quick Fixes are SAP S/4HANA 1809 and ADT in Eclipse 3.0
The ADT Quick Fixes are available for accesses to database tables VBFA, VBUK, VBUP, KONV, BSEG and usage of VBTYPE data elements in source code and also for the new MATNR (40). See also the blog Semi-automatic custom code adaptation after SAP S/4HANA system conversion.
No, you don’t need to. We offer mass-enabled Quick Fixes, so that you can apply all Quick Fixes in one shot. See also the blog Semi-automatic custom code adaptation after SAP S/4HANA system conversion.
Yes, see the blog Comments for the ADT Quick Fixes.
You get the preview and dashboard on Quick Fixes by using the SAP Fiori App Custom Code Migration and grouping the ATC findings by the Quick Fix filter in the App.
There are two compare editors in the Quick Fix wizard. You will see each your source code object “before” and “after” Quick Fix at one glance.
Yes, it is possible. Please refer to the chapter “Creating Quick Fixes” in the How to write an ATC Check guide.