ABAP Custom Code Review for S/4HANA: How-To-Do Guide

Cover Image for ABAP Custom Code Review for S/4HANA: How-To-Do Guide

After the introduction on how to set up and start the SAP S/4HANA tool for Readiness Check, in this second episode of the “S/4HANA” mini-series, I’m going to deal with another fundamental topic that you have to face when setting up a project to switch from SAP ERP / ECC 6.0 to a SAP S/4HANA system:

the complete ABAP Custom Code review

In the first blog (“Prevention is better than cure: start SAP S/4HANA Readiness Check Now!“), we’ve seen how the SAP Readiness Check for SAP S / 4HANA already introduces – with a high-level perspective – the categories of adjustments to be applied to the custom code. However, the Readiness Check does not provide details of the objects impacted by these changes.

To retrieve this information, it is necessary to use additional “tools”.

Let’s see together which ones.

Below I’m going to describe in the following order:

The different types of modifications of ABAP Custom Code

Before describing in detail how to analyze your custom code, you need to be aware of how switching to SAP S/4HANA would have a significant impact on the structure of existing custom programs.

In view of planning a S4 transition project, there are three main areas of interventions to be considered on the ABAP custom code:

  1. Functional Modifications due to the adoption of HANA itself as in-memory Database
  2. Modifications related to the new simplified data model of SAP S/4HANA, which differs from the traditional SAP ERP / ECC data model
  3. Modifications to increase performance in programs runtime execution. The first two types of interventions are obligatory, and not negligible, if we want to ensure that the custom reports will continue to run regularly once landed onto the new SAP S/4HANA platform.

The third area of intervention is instead only optional, but it is strongly recommended.

At first glance, it may seem to be facing a “titanic” effort, especially for those SAP customers who make massive recourse to Z * programs …

However – in the final part of the blog – we will see how it is possible to limit the list of custom objects to be adjusted (from the performance point of view) to the only objects which are actually used in the system.

ABAP Test Cockpit (ATC): the tool for the analysis

The reference tool for analyzing the custom code is the ABAP Test Cockpit (ATC).

It is a good “old” SAP Standard tool, designed to perform automatic tests on the ABAP code, which was more recently extended to analyze the custom code also from the point of view of its “behaviour” on a SAP S/4HANA system.

The steps necessary for its proper use are well described by the two SAP OSS notes:

Now that the tool has been identified, let’s see what the system requirements are, or rather the requirements for the systems landscape needed to run the code analysis.

Systems Landscape Set-Up

It is essential to underline that – to perform the analysis of the custom code on the ECC source system – it is necessary to use an additional SAP system (called Evaluation System), based on a NetWeaver (SAP_BASIS) 7.51 or higher release.

(It is not mandatory, however, for the Evaluation System to have installed a particular application component: a bare and raw SAP NetWeaver system wil be enough).

The final architecture for the analysis will look like the following:

The ECC system to be choose as object for the analysis (the so-called Checked System) should be – possibly – the Development System.

The reason behind is to be sure to conduct the analysis of all the ABAP custom code, including the one not yet released to production and / or test environments.

The following OSS notes must also be installed on the identified Checked System:

On the Evaluation System you will then need to install several OSS notes, depending on the NetWeaver release and the installed Support Package level. The two notes above mentioned (2364916 and 2436688) detail the list of all the other required notes to implement.

Ad ogni modo per evitare di dover implementare troppe note, si raccomanda di installare come Evaluation system un SAP_BASIS 7.51 SP05 o superiore, oppure un SAP_BASIS 7.52 SP01 o superiore.

However, to avoid having to implement too many notes, it is recommended to install as an Evaluation system a SAP_BASIS 7.51 SP05 or higher, or a SAP_BASIS 7.52 SP01 or higher.

Did you define the landscape and have all the necessary notes been installed?

Well! We can eventually proceed with the analysis of ABAP Custom code.

The ABAP Custom Code Analysis in 5 steps:

All we need to do now is to follow these 5 steps in a sequence to get the results of the analysis, by finally bringing to light all the gaps that separate us from having an ABAP code optimized till perfection for S/4HANA:

Define a RFC connection between the Evaluation and the Checked System

Download the SAP S/4HANA Simplification Database from SAP Service Marketplace.

Install the Simplification Database into the Evaluation System.

Perform the ATC technical configuration on the Evaluation System

Run S4HANA_READINESS_REMOTE variant via ATC

Let’s check deeper one by one.

Step #1: Define a RFC connection between the Evaluation and the Checked System.

As a first step, simply define a RFC connection between the Evaluation System and the Checked System; it is recommended to define a Trusted RFC Connection between the two systems.

Alternatively, you can opt for a traditional RFC connection, with an RFC user having the authorization role SAP_SATC_ADMIN.

More details on how to define the connection between the Evaluation System and the Checked System are available at the following link: Setting up RFC Communications Between the ATC Master System and Satellite Development Systems

Step #2: Download theSAP S/4HANA Simplification Database from SAP Service Marketplace.

The Simplification Database contains all the Simplification Items that SAP makes available with every new version of SAP S / 4HANA.

At the time of writing (please check for updates), the latest SAP S / 4HANA onPremise release is the 1709 Feature Pack Stacks 01 (FPS01) and the Simplification Database is updated to the Content Patch 6 version:

You can download it by following the instructions of OSS Note:

Step #3: Installation of the Simplification Database into the Evaluation System

Always following the indications of note 2241080, it is possible to install the Simplification Database on the Evaluation System using the transaction SYCM:

In the pop-up, you will have to select the zip file previously downloaded.

And if everything went well, you can finally view the Simplification Database, here it is:

Step #4: ATC technical configuration on the Evaluation System

First of all, it is necessary to define the role of the Evaluation System as a system where the ATC Checks are processed starting from the Object Providers.

We are in practice saying that the system not only analyses the local ABAP code, but it also scans all the code supplied by the various providers connected to the central system. The analyzed ECC system will therefore be configured as a provider.To do this, we launch the ATC transaction and select the “System Role” node:

in the next screen, just mark the “ATC Checks by Object Providers Only” radio button and save:

Once defined the system ATC role, let’s go to configure the ECC system (Checked System) as ATC provider: from transaction ATC just select the node “Object Providers”:

In the next maintenance view the following must be set:

A “System Group” – i.e. a homogeneous group of systems sharing the same release An “Object Provider” – i.e. the ECC system we intend to analyze Insert a System Group (for example 702 in case we are going to run the analysis for ECC systems based on NetWeaver 702):

In the Object Provider folder we need to hook the RFC destination previously define in Par.#1: “Define a RFC connection between the Evaluation and the Checked System”:

Step #5: Run S4HANA_READINESS_REMOTE variant via ATC, and related results

Once the customization for the ATC has been defined, we can schedule our analysis via RFC which points to the ECC system under examination.

Always from the ATC transaction, we select the “Schedule Runs” node:

Let’s select the “Create” button:

and let’s input the following data: