Skip to Content
Author's profile photo Olga Dolinskaja

What can you do today to prepare your custom code for SAP S/4HANA

As you already know from my blogs SAP S/4HANA System Conversion – Challenge for your custom code and  SAP S/4HANA System Conversion – Custom code adaptation process the adaptation of custom code is an important milestone on your journey towards SAP S/4HANA.

But do you know that your journey has already started and that you can prepare a lot of things already today in your existing landscape? Why is this so important?

You need at least 1 year to collect the data about your productively used custom code with the SCMON to detect and clean up the unused custom code before the SAP S/4HANA conversion.

In order to minimize the scope of your custom code for the S/4HANA conversion project you should start today to carry out new developments “S/4HANA ready” and educate your developers in the new ABAP technologies like CDS, AMDP, ABAP Development Tools in Eclipse, which become mandatory in SAP S/4HANA.

So what can you do today in your SAP Business Suite landscape to prepare your custom code for SAP S/4HANA journey? This blog offers recommendations and checklists for you what to do.

Learn more: in our SAP TechEd 2017 sessions about Custom Code Adaptation to SAP S/4HANA



Collect productive usage and SQL execution data

Switch on SCMON

Switch on SQL Monitor


Create new code already SAP S/4HANA ready

Setup remote ATC

Use SAP S/4HANA  ATC checks in your development system


Educate your developers to be SAP S/4HANA ready

Gain practical skills in ADT in Eclipse

Get familiar with SAP S/4HANA must-have technologies
(e.g. SQL, CDS, BOPF, OData)



Start to adapt your code in your dev system

Convert to Unicode

Fix SAP HANA ATC findings (e.g. NO ORDER)

Optimize performance critical SQLs found in SQL Monitor


Estimate custom code adaptation efforts

Run SAP S/4HANA ATC checks for all custom code


Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Roberto Vacca
      Roberto Vacca

      Thanks for your blog  Olga Dolinskaja

      I have a question that only comes in part. Upgrading to HANA we know that for a large company involves a great deal of effort, especially because involving a reality of people who have little or nothing to do with technology is by no means simple. It is often impossible to justify costs and times.

      We know that upgrading to HANA is mandatory now, but companies from a certain point of view simulate being prepared, since HANA technology is not the core business of the company, even though it is part of productivity. Many people continue to use the old programs and the various developments that have been made 20 years ago, as long as they can. This is an endemic question.

      What do you think about this matter?

      I wanted to ask if there was any statistics on the use of new HANA tools in companies. I was also interested in understanding why the Eclipse ADT has not yet replaced the SAP GUI, so people have to use the new potential.

      Thanks .

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Roberto,

      no doubts, SAP HANA is strategic and at some point becomes also mandatory for SAP customers at the latest with the adaption of S/4HANA product line and end of the maintenance of the SAP Business Suite. In my opinion each company has to meet its own decision about the appropriate adaption and transition way, pace and time frame for SAP HANA. We started in 2013 with SAP Business Suite on SAP HANA (BS7i2013) to deliver SAP ERP applications on SAP HANA and there is still enough time for customers to move to SAP HANA at their own speed. But it doesn't make sense to deep dive into basic discussions.

      Regarding ADT we follow the since many years established and proven SAP reliability and trustability regarding delivering innovations in non-disruptive way and prefer to support our customers with smooth transition from SAPGUI to ADT (s. also Smooth transition from SE80 to ADT) rather then strongly pushing ADT in order to give our customers time to learn and get used to the new development environment. But as soon as you want to use new ABAP technologies like e.g. CDS, the ADT becomes mandatory.



      Author's profile photo Roberto Vacca
      Roberto Vacca


      And that's the problem. . CDS for example . If I work in a team where someone is oriented in the future and someone else is oriented in the past, well it's a problem to develop something that force others people to install and learn new instruments. Someone can't live without GUI, can you understand?. So I can't develop something based on CDS for example because it means that I've to teach what does it mean and I've to teach how to use it, and I've to demonstrate potential and to gain support from company that doesn't have consultants but often little clerks 🙂

      So in my opinion these instruments should act more like a snake inside the actual technologies, instead of appear like the NEW technology.


      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      ABAP Core Data Services (CDS) provide the NEW data modelling infrastructure for building semantically rich data models in ABAP.

      As basic positioning, let’s say it is the successor of SE11 when it comes to view building.

      ABAP CDS provides more advanced capabilities when defining views and support the new code pushdown paradigm powered by SAP HANA.

      You can express more logic by using built-in SQL functions and expressions, aggregation and even native HANA function and application libraries – and even define the relation between the different business entities using CDS associations.

      Another important aspect is the capability to enrich of CDS-based such data models with domain-specific metadata which are then evaluated by the respective frameworks (e.g. OData, Analytics, search, transaction, etc…).

      Like the classical dictionary views, CDS views can be consumed in Open SQL, ALV with IDA, Gateway. Open SQL offers a flexible consumption of CDS entities – also supporting advanced CDS features like association and CDS access control.

      Read more about ABAP CDS…

      Author's profile photo Roberto Vacca
      Roberto Vacca

      Well I know what is CDS, but I was trying to tell you that we live in companies where they still believe in witches and daughters, in a country where they still pray the saints, they believe in good and bad luck, and they touch iron,  and everything that comes as "the NEW ", what appears new, is hard to be accepted.

      In that way I was trying to asking about how to feed the childrens 🙂

      Statistics helps to make "the NEW" being accepted.

      Thanks for your thoughts.

      Author's profile photo Pankaj Khare
      Pankaj Khare

      Hello Olga,

      Need your help as am stucked !! 🙁

      We are undergoing SAP S4HANA 1709 Implementation FP02 for our client. There is an existing SAP 7.4 SP12 on which client is already running its business.

      We are making a Greenfield implementation of S/4 HANA 1709 and then manually whole set of legacy from ECC7.4 to Hana. Apart from cut-off master data & transactional data, this move is including custom ABAP repository (Z's and Y's), I am trying to find the method to adapt this custom code for our HANA-1709 system, with required changes to fit in Hana. For this undergone couple of notes like 2190420/2241080/2364916 etc and couple of links - or

      Option 1 - Found that ATC check cannot be performed on our system as it is ECC 7.4 SP12 as ATC variants S4HANA_READINESS_REMOTE are not visible in ECC, however variant FUNCTIONAL_DB & FUNCTIONAL_DB_ADDITION are visible. Current version of ECC is given below
      Component - SAP_BASIS
      Release - 740
      SP Level - 0012
      Support Pack - SAPKB74012
      Description - SAP Basis Component
      Detailed version status is in attached screen shot.

      Option 2 - We have build our SAP HANA 1709 - FP02 fresh development server and was trying to use ATC Remote check from this SAP HANA -1709 to ECC 7.4.However this is also not supporting us as for that SP13 is required (as per note - 2375864- ATC: Remote Checks - Developer Scenario). Not sure how relevant this note 2375864 is for our case of Custom code adaptation for Hana implementation.

      Can you please help me in process how to adapt the existing custom code repository, how to run ATC checks Remotely !!

      Not sure if REMOTE ATC will help me or not? Or any other method for this ?


      Another big problem is, how to move ABAP Legacy of Programs/FM/s FG's/Include's/DataElements/Domain's/ Screen's/Exits's ..... etc etc belonging to certain package in single chunk/shot.

      I hope I am able to clarify my scenario and problem faced.

      Not sure if ID share if permissible here (still sharing for quicker communication.



      Pankaj Khare

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Pankaj,

      since you follow the greenfield approach and have already set up the S/4HANA 1709 system, it would make sense to transport the custom code from your ECC 7.4 to S/4 system and then adapt custom code there. You can create the transport in ECC system (transport of copies) of your custom code objects, export and import it into S/4 system. Just try out with the transport request including a smaller set of custom objects, and then transport large sets of objects. After that you can execute ATC locally on S/4 system using S4HANA_READINESS check variant and adapt custom code.




      Author's profile photo Pankaj Khare
      Pankaj Khare

      Many thanks for your super quick response, am obliged & thankful.

      What I understood from your reply is that for Readiness check of HANA, I cannot even get Remote ATC check done. Pls correct if I am interpreting it wrongly.

      In parallel, I raised this(ATC check) to SAP marketplace as well, they have replied few minutes ago stating Upgrade to SP13 will be required for HANA readiness check. Your reply also states same thing, where bottom lne seems to be making readiness check after bringing the code into HANA system and then using ATC variant of Readinesscheck.

      For moving the objects via TR's, how can I imbibe whole set of ABAP objects (falling under particular package), is there any method to include full set of objects in single shot/bunch. or it has to be included in TR one-by-one like R3TR-DEVC R3TR-PROG, R3TR-TABL, R3TR-TTYP, R3TR-DTEL, R3TR-DOMA, etc etc.....

      If one-by-one then it will be a big manual task and might miss something [example while pulling report code(R3TR-REPS), I might forget to pull Report text (R3TR-REPT)], looking for bunch act where such manual miss could be avoided.

      Thanks in advance for the responding.


      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Pankaj,

      you can also set up remote ATC scenario if you prefer it (option 2 in your post). You don't necessarily need developer scenario (2375864- ATC: Remote Checks – Developer Scenario) for performing remote ATC code analysis.

      Just follow the steps in the blog and setup you S/4 system as ATC central check system and ECC system as checked system. Pls also refer to the ("The recommended procedure is the following.." part) for the necessary steps.

      Regarding the TR: you can create TR for a whole package including all objects within it. You don't need to add them one-by-one to the TR (go to SE80, mark your package, use right-mouse button menu "Write transport entry". After TR is created follow the blog to create transport of copies for the S/4 system.

      Regards, Olga.

      Author's profile photo Edo von Glan
      Edo von Glan


      Hi Olga,

      I just try to understand the relation between the ATC-based checks described here, and the "S4 Readiness Check" described here: or in this note

      Are they identical or different?

      I guess some of the confusion arises, because the topics "S4 migration" and "HANA migration", which can be technically separate, are often mixed.

      Would be glad if you could give a short explanation.



      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Edo,

      the SAP HANA-specific checks are bundled in the Code Inspector check variants  FUNCTIONAL_DB and FUNCTIONAL_DB_ADDITION. The S/4HANA specific checks are bundled in the S4HANA_READINESS_REMOTE Code Inspector variant, this variant though contains also SAP HANA checks, because there are a lot of system conversions from SAP Business Suite on anyDB to SAP S/4HANA, thus you need to check also the DB. All these checks are executed by ATC.

      SAP Readiness Check is currently based on Custom Code Analyzer (SYCM) not on ATC. SYCM is based purely on the where-used list. For example, it finds all usages of MATNR in the custom code. However, SYCM does not analyze whether this usage is critical. Say the false-positive rate is extremely high. The analysis of whether the usage is critical can do only ATC.

      Btw, regarding the separaton of the topics “SAP HANA migration” and “SAP S/4HANA migration” we have also separte central blogs about the custom code handling process:

      HANA Migration:

      SAP S/4HANA Migration:

      There you can also look up which ATC check variants to use.

      Best regards,


      Author's profile photo Edo von Glan
      Edo von Glan

      thanks for the explanation!