Skip to Content
Technical Articles

Custom code adaptation for SAP S/4HANA – FAQ

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.

Frequently Asked Questions

General 

Usage analysis

Custom code analysis

SAP Fiori App Custom Code Migration

Custom code adaptation

Frequently Asked Questions

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

Can I collect usage data for Smart Forms and/or Adobe Forms?

SCMON (and also UPL) collects only ABAP-based usage data.

 We want to replace UPL with SCMON. Are there any known functional implications?

SCMON is the SAP recommended successor for UPL. There are no functional 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?

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.

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?

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.

Can I see results of SCMON during the recording, before an SUSG snapshot was taken?

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.

I haven’t found the transaction SUSG in my system. What should I do?

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.

Can I use the transaction SUSG with the UPL usage data?

No, SUSG aggregates only the SCMON usage data, the UPL usage data are aggregated in the SAP Solution Manager BW.

Can I add already collected UPL usage data to the SUSG/SCMON?

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.

 

Custom code analysis

I want to perform SAP S/4HANA custom code checks for release SAP S/4HANA 1809, but the check variant S4HANA_READINESS_1809 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.

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 3rd 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.

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

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.

12 Comments
You must be Logged on to comment or reply to a post.
  • Great post, thank you!

    Question regarding this item:

    Can I collect usage data for Smart Forms and/or Adobe Forms?

    SCMON (and also UPL) collects only ABAP-based usage data.

    Well, SmartForms are generated as a function module, so they are ABAP-based. Wouldn’t their usage data be collected via the function module name? (I know the FM name can change but let’s assume here the form is not being updated.)

     

    • Hi Jelena,

      well, only data for the generated ABAP code is collected by SCMON. In case of Smart Forms recalculation from the generated ABAP function module to the generating TADIR object (R3TR SSFO) does not take place and it is not possible to select for these objects (-types).

      “ABAP-based” means also that the SCMON entry point is ABAP-based.

      Regards,

      Olga.

       

       

  • hi Olga,

    Thank You for the blog. I request a clarification: in SCI we see a check for “Zero Downtime Options (ZDO): Identify compliance violations” under “Intern. Tests”. Is there any documentation available for what the compliance violations are?

     

    Thank You,

    Joe.

     

  • Hello Olga, Thank you for the information. This helps me. I have a question. I am planning an upgrade from 1610 to 1809. Do We need a SBX 1809 system with ATC Central for custom code analysis or is there another altenative?.

    Thank you for your attention.

    • Hello Christian,

      if you want to check your custom code at upgrade from 1610 to 1809 then you need either an 1809 system (to use Custom Code Migration app)  or SAP NetWeaver 7.52 (to use SAPGUI based ATC). See also our central blog mentioned at the begin of FAQ for more details.

      Regards,

      Olga.