Custom Code Adaption in SAP S/4HANA
Friday the 13th, around 9:30 the developers start walking in to join us in the next SAP CodeJam at SUPERP headquarters. SAP Expert Ingo Braeuninger had already arrived and was preparing his presentation. After most of the participants had arrived and had some coffee and cake, we started.
In the first hour Ingo explained us why we (developers) need to adjust our custom code when upgrading to SAP S/4HANA. A lot of SAP code currently in our SAP systems (function modules, classes etc) is simplified in a SAP S/4HANA system. Therefore, during system conversion from a SAP ERP system to SAP S/4HANA custom code needs to be adapted.
Luckily SAP provides some tooling to aid you in this task. You have, for instance, the Simplification Database, which stores and describes all incompatible changes of the SAP code in SAP S/4HANA including the guidance (via SAP Notes) how the related custom code can be adapted. SAP provides tools based on the Simplification Database to detect custom code, which needs to be adapted to SAP S/4HANA and carry out functional adaptation.
The first step in a SAP S/4HANA system conversion, is to track the usage of your custom code. This is done in the production system via the ABAP Call Monitor. The monitoring of custom code usage is followed by an aggregation step which is needed to make the huge amount of data workable. This aggregated data can be analyzed via the Fiori Custom Code Migration App to define the migration scope. Custom code that is not used, does not have to be adjust for SAP S/4HANA and can be left out of scope, which means it will be deleted during the SAP S/4HANA conversion.
The next tool that was covered is the ABAP Test Cockpit (ATC). With this tool you can run remote code analysis, so you know up front which custom code you should adapt if you decide to upgrade to SAP S/4HANA. The output can be used to navigate to the SAP Note telling you in details was has changed in SAP S/4HANA in regard to that part of custom code and how to fix it. This list can be used to estimate the required effort required to adapt custom code to migrate to SAP S/4HANA.
After analyzing your current system it was finally time to open Eclipse and run ATC from there. This step is performed after the actual migration to SAP S/4HANA and is used to adapt incompatibilities in your custom code to SAP S/4HANA. After running the SAP S/4HANA related ATC checks you can use the ‘Quick Fix’ functionality in Eclipse to fix about 30%-40% of your to-be-adapted custom code. This functionality is also mass-enabled, so you can do this in 1 click.
Although out-of-scope for this SAP CodeJam, Ingo also told a little about the last step in a SAP S/4HANA migration, which is tuning the performance of critical database queries in your custom code.
This basically covers the exercises in the morning. Before we continued to next part, we first had some lunch.
The last part of this SAP CodeJam covered the new SAP Cloud Platform ABAP Environment (AKA Steampunk).
Ingo started by showing us how to transform our ABAP code to the Cloud via abapGIT.
In the follow-up demo we saw Ingo call an on-premise RFC Function Module via a SAP Cloud Connector from Steampunk, really cool ^_^
Recreating these last 2 demo’s were the last exercises of a very educational and fun day. We ended the day by thanking Ingo for all his efforts!
Hope to see you all on the next SAP CodeJam!