Skip to Content
Technical Articles
Author's profile photo Olga Dolinskaja

SAP S/4HANA System Conversion – Challenge for your custom code

SAP S/4HANA is a new product line for SAP next-generation Digital Core business suite, which is completely separated from the classical SAP Business Suite. Therefore we use the term “system conversion” and not the “upgrade” for the migration from the classic ERP system running on any DB to the S/4HANA system. This is because you move from one SAP product (Business Suite) to the completely new one (S/4HANA), built on the new architecture and data models, containing renewed applications and new UI technology (SAP Fiori).

Since years SAP customers invested heavily into custom ABAP code developments related to the SAP Business Suite. Therefore during system conversion from the classic SAP ERP system running on any DB to SAP S/4HANA custom ABAP code needs to be adapted for SAP S/4HANA.

 

Challenge for your custom code

Traditionally during implementation of your custom ABAP code in the classical SAP Business Suite system you can look into the SAP code, modify or enhance it for your needs, use any SAP function module without any restriction. On one side it is a very flexible approach, allowing you to work in the “open-source” manner. On the other side it results in many dependencies between your custom code and SAP code. It was never an issue because of the compatibility of all new SAP Business Suite releases and EHPs with the predecessor releases. But with the new product SAP S/4HANA the situation changes, since a lot of SAP code within the SAP S/4HANA was simplified and in some cases changed in a not compatible way (e.g. remove of certain fields of the database tables or even remove of the whole database tables). Of course within the SAP S/4HANA the measures were taken to keep the compatibility of your custom code as far as possible like e.g. using CDS compatibility views at data model changes or changing external interfaces only in compatible way. So that customers can assume that a large part of their custom code can run without or with only a few changes. Most likely you will experience the following situation:

Some of your custom ABAP code objects are not valid anymore and either don’t perform as expected or result in syntax errors, dumps etc. (red objects on the picture). Certainly you will still have also other objects, which still perform as expected and do not need to be changed (green objects on the picture), but most likely, some of the custom ABAP code has to be adapted.

The Simplification Database is a database table in the SAP S/4HANA system, which stores all incompatible changes of the SAP code in SAP S/4HANA compared to the SAP Business Suite as simplification items. Each simplification item describes changed or removed SAP objects and refers to a dedicated SAP Note, which describes the impact of the change and how the related custom code can be adapted. All simplification items are also published as the Simplification List in the SAP Community. For more information on Simplification Database please refer to the blogs Upcoming tools for SAP S/4HANA migration – the simplification database, Simplification List SAP S/4HANA 1909.

SAP provides tools based on the Simplification Database to detect custom ABAP code, which needs to be adapted to SAP S/4HANA.

Simplification Example: Material number field length extension

One concrete example of the simplification is the material field length extension from 18 to 40 characters. What is the issue of the extension of the field length, if you used in your custom code the material numbers, which do not exceed the 40 characters anyway? If your custom developed material numbers of 18 characters length come into action with the new SAP material numbers of 40 characters length, that will result in the following issues:

  • Data lost while moving the material number data from one variable of the 40 characters to the variable of 18 characters
  • Type conflicts, if e.g. your material number of 18 characters length must be passed as a parameter to a method, which uses the SAP material number of 40 characters length.
  • Length conflicts at comparison with SAP material number
  • Length conflicts at concatenation with SAP material number

In all these cases you need to adapt your custom material numbers to the new SAP material number type.

What can you do today in your SAP Business Suite landscape?

To understand how to prepare your custom ABAP code for SAP S/4HANA please refer to the blog  What can you do today to prepare your custom code for SAP S/4HANA.

How to get your custom code to SAP S/4HANA?

To understand how to adapt your custom ABAP code to SAP S/4HANA please refer to the blog SAP S/4HANA System Conversion – Custom code adaptation process.

Assigned Tags

      11 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Mahadevan Venkata
      Mahadevan Venkata

      Very good introduction as to why custom code needs to be adapted during a S/4HANA system conversion.

      Author's profile photo Kiran K
      Kiran K

      Olga,

      Thanks for sharing the info.

      What about the Z Tables ?

      What challenges do we face when dealing with Z tables ?

      It would be even more helpful if you share the challenges that we may face while dealing with Z tables,Z Indexes Z Message Classes,Z Classes,Z RFC FMs etc….

      K.Kiran.

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

      Hi Kiran,

      the described challenge for your custom code is general to all your Z or Y objects.
      If your Z table or Z RFC FM relies on the SAP standard object, which has been changed in the incompatible way, you need to adjust your Z object using Simplification Database.
      The changes can be different: e.g. the SAP database table field was removed, or the whole SAP database table was removed, the interface of SAP FM, which you are using, was changed, or SAP standard class, which you are inheriting from, was changed and so on.

      It depends on your concrete use case and your individual implementation, which concrete challenge you will face with your special Z or Y object.

      Best regards,

      Olga.

      Author's profile photo Kiran K
      Kiran K

      Thanks Olga.

      Author's profile photo HariKrishna Yerramsetti
      HariKrishna Yerramsetti

      Good Information Thanks Olga

      Author's profile photo Narasimha Rao
      Narasimha Rao

      Hi Olga,

      Can you share document or links for sap standard list of custom code errors and code which needs to be adopted for S/4 Hana.

      Thanks and Regards,

      N Rao

       

       

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

      Hi Narasimha,

      see the link above in the blog: the Simplification List 1610 is the list of all simplifications (incompatible changes of S/4HANA to Business Suite). If you check your custom code with this list you will get the custom code findings, which need to be adapted (see also the blog SAP S/4HANA System Conversion – Custom code adaptation process for top 10 simplification items and procedure).

      Regards,

      Olga.

      Author's profile photo Raju Dasi
      Raju Dasi

      Hi Olga,

      Hope you are doing good.

      can you share the list of ATC errors in ECC 6.0 version on wards.

      Thanks & Regards

      Raj

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

      Hi Raju,

      see my reply to Narasimha above.  You need to check your custom code with ATC using e.g. the Simplification List 1610 to find the incompatibilities of your code with S/4HANA. There is no "universal" list. It depends on your custom code: how many and which ATC findings will be detected.

      Regards,

      Olga.

      Author's profile photo Raju Dasi
      Raju Dasi

      Thanks Olga.

       

      Author's profile photo Werner Deistler
      Werner Deistler

      Hello Olga,

      we need to convert (not an ERP but) a decentral EWM to S4/Hana. Are there helpful tools for custom code checking for such a EWM conversion?

      Best regards,

      Werner Deistler