SAP S/4HANA Custom Code Adaptation FAQ

This document answers 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 additional questions please ask a question in Q&A.

General

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?

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.

What is the difference between custom code analysis within SAP Readiness Check and with ATC? What do I need to use?

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.

Can I use Custom Code Migration Worklist instead of remote ATC? What is the advantage of remote ATC?

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.

Usage Analysis

Should I use UPL or SCMON for usage analysis? Why there are two tools?

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.

The transaction SCMON is not available in my system. What should I do?

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.

Is there a performance decrease when using SCMON? If yes, how much (roughly)?

Roughly about 5% CPU time on the application server.

What amount of data (roughly) can we expect after 12-15 months of usage data collection with SCMON in our ERP system?

Of the order of about 5 GB.

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?

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.

Custom Code Analysis

I want to perform SAP S/4HANA custom code checks for release SAP S/4HANA 1809 (or SAP S/4HANA 1909), but the check variant S4HANA_READINESS_1809 (or S4HANA_READINESS_1909) is not available in my central ATC check system. What should I do?

The SAP note 2659194 explains how to get the S4HANA_READINESS_1809 check variant into your central ATC check system.

The SAP note 2812556 explains how to get the S4HANA_READINESS_1909 check variant into your central ATC check system.

What is the difference between the S4HANA_READINESS_REMOTE and the SAP S/4HANA version dependent check variants (e.g. S4HANA_READINESS_1809)?

The SAP S/4HANA specific check variants (e.g. S4HANA_READINESS_1809) check your custom code for the simplification items, relevant for the target SAP S/4HANA release (e.g. S4HANA_READINESS_1809 checks only the SAP S/4HANA 1809 relevant simplification items). S4HANA_READINESS_REMOTE checks all the items of the Simplification DB.

Many customers use partner products or third-party coding. Are they considered within the ATC check?

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.

What needs to be adjusted in my custom code if I decide not to use the long MATNR (40) of SAP S/4HANA?

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).

SAP Fiori App Custom Code Migration

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?

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.

Is the SAP Fiori App Custom Code Migration also available in the SAP NetWeaver AS ABAP 7.51/7.52?

The SAP Fiori App Custom Code Migration is available only with the SAP S/4HANA 1809 (ABAP Platform 1809).

What is the minimum release of the SAP Fiori Frontend Server for using the SAP Fiori App Custom Code Migration?

SAP Fiori for SAP S/4HANA 1809 requires SAP Fiori Frontend Server 5.0. See also the SAP Help Portal documentation Custom Code Migration.

Do we necessarily need the SAP Fiori App Custom Code Migration for custom code analysis for SAP S/4HANA?

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.

What are the prerequisites on the central ATC check system to run and operate the SAP Fiori App Custom Code Migration?

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 and day, for data volume on the DB about 400kB per object. See also the blog Remote Code Analysis in ATC – Technical Setup step by step.

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?

You can use the SAP Fiori App Custom Code Migration on SAP Cloud Platform. For more details see the blog ABAP custom code analysis using SAP Cloud Platform.

Is the SAP Fiori App Custom Code Migration bound to the SAP extended maintenance?

The SAP Fiori App Custom Code Migration is part of the SAP S/4HANA 1809 and is subject to the maintenance rules of SAP S/4HANA.

Do I need to pay any additional license fee to use the SAP Fiori App Custom Code Migration?

You need only a valid SAP S/4HANA license.

I have concerns about deleting the unused code. What should I do if I still need it later on?

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.

We collect usage data with UPL in the SAP Solution Manager. Can we use this usage data for scoping in the SAP Fiori App Custom Code Migration?

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.

Should I check the development or the production system with 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.

Can I add more than one system to a custom code migration project in the SAP Fiori App Custom Code Migration?

For each system, a separate custom code migration project must be created 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?

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.

Custom Code Adaptation

Are there any SAP tools for automated custom code adaptations?

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.

What are the prerequisites for using ADT Quick Fixes?

The system requirements for Quick Fixes are SAP S/4HANA 1809 and ADT in Eclipse 3.0,

Is there a list of available ADT Quick Fixes?

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.

Do I need to apply a Quick Fix for every ATC finding manually? It will cost much time….

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.

Is it possible to add comments to the adapted code after Quick Fix automatically?

We have this requirement in our development backlog.

Is there a dashboard/overview, which my custom code objects can be adapted with 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.

Can I see which changes will the Quick Fixes do on my code?

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.

Can I implement my own Quick Fixes?

Yes, it is possible. Please refer to the chapter “Creating Quick Fixes” in the How to write an ATC Check guide.