Upgrade to SAP S/4HANA 2020

11.06.2021

We upgraded our On-Premise demo system from S/4 HANA 1909 to 2020 and would like to share our experiences with you in this blog post. SUSE Linux Enterprise Server 15 SP2 is the operating system.

Before starting an update, make sure to study the instructions provided by SAP, e.g.

  • The Upgrade Guide to S/4HANA 2020,

https://help.sap.com/doc/760ce610a2af4174a329d2d8315378e2/2020/en-US/UPGR_OP2020.pdf

  • The Software Update Manager (SUM) 2.0 guide (latest Version)
    We have chosen the following version for our operating system:
    Updating SAP ABAP Systems on UNIX and Linux: SAP HANA DB

https://help.sap.com/viewer/b0d775c8a9fd47b985a5e66ddba31d33/sum20.10/en-US/66929d3006e446a9b348a724b5e0c1bd.html

Maintenance Planer

A first step in the upgrade process is to run the Maintenance Planer. The tool makes ensures the compatibility of your current system with the release you are upgrading to. Here you select the components and add-ons to download. Also, a stack file is created, which will be used during the upgrade process with the Software Update Manager (SUM).

Go to Explore Systems:

 

 

Choose the System you want to upgrade. Make sure that you updated your system information first either with the SAP Solution Manager or with an upload of your system data to the SAP Support Portal (see also SAP Note 2855951).

 

 

Plan a Software Change on your System:

 

Plan an SAP S/4 HANA Upgrade -> Select Shipment Stack -> Confirm Selection.

Select Files.

 

It is recommended to deselect not needed language archives either here or later in the Download Manager, which can significantly reduce the download volume.

 

Now you can Download the (1) Stack XML File, which will later be used in the Software Update Manager (SUM) and (2) Push the files to the Download Basket.

 

In our case 115 files were pushed to the Download Manager, a total of 51 GB of data. As mentioned before, it makes sense deselect unneeded language archives, as they can be between 300 and 800 MB in size.

HANA 2.0 DB Upgrade

Your SAP HANA database version is checked by SAP SUM before upgrading. We took the opportunity to update our database before upgrading.

Make a backup of the database in SAP HANA Studio before the upgrade.

 

Backup of the SYSTEMDB in SAP HANA Studio:

 

Backup of the Tenant Database in SAP HANA Studio:

 

With the SAP HANA Lifecycle Manager, we upgraded our Database from HANA 2.00.045 to 2.00.053. After Downloading the SAP HANA Database archive, extract it with the Program SAPCAR. This is how it is done from the command line.

 

Then on Linux the SAP HANA Lifecycle Manager can be started from the extracted directory: SAP_HANA_DATABASE. In our example we choose the GUI version ‘hdblcmgui’.

 

The GUI of the SAP HANA Lifecycle Manager guides you intuitively through the upgrade process.

 

Simplification Item Check

To prepare for the release upgrade in SAP S/4 HANA, you need to perform a “Simplification Item Check” on your system. The simplification Item Check determines which Simplification Items are relevant for your specific system. The audit also reveals data inconsistencies or missing mandatory preparation activities that could cause the upgrade to fail.

Make sure you are only running the checks in client 000. This will insure, that data in all clients is checked for inconsistencies. You will find complete instructions for the check in the current version of SAP Note 2502552.

To start the Simplification Item Check run report:

‘/SDF/RC_START_CHECK’

in transaction ‘sa38’.

SUM (Software Update Manager)

To start with the Software Update Manager (SUM), it must first be downloaded and extracted. It is advisable to update the current version of the SAP Host Agent beforehand.

We updated the SAP Host Agent manually, for which we downloaded the current version for our operating system from the SAP Launchpad. We carried out the update with the operating system user <SID>adm.

 

Check the version of the SAP Host Agent:

 

 

Extract the Software Update Manager with SAPCAR into the directory
/usr/sap/<SAPSID>.


 

Change to the directory /usr/sap/<SAPSID>/SUM/abap

To start the upgrade manager execute the command: ./SUMSTART confighostagent

 

Now copy the URL ( https://<fully qualified hostname>:1129/lmsl/sumabap/<SID>/slui )that is displayed under SUM ABAP into a browser. You will be asked for a username and password. The username with which to log in is <sapsid>adm

 

To start SUM, the stack file that was generated in Maintenance Planer must first be loaded. The red asterisk symbol in front of the field name shows that this is a mandatory input field.

 

Next you can specify the scenario strategy. We chose the standard scenario for our upgrade.

 

Next SUM offers to check the authenticity of the downloaded archives.

 

Then the system passwords must be entered.

 

The screenshot above (31-SUM-SystemPasswords.jpg) shows that the roadmap steps of the upgrade process are now being displayed in SUM for the first time. There are 6 roadmap steps:

  • Extraction: The required Software is extracted by SUM.
  • Configuration: Software Update Manager requests all the information it needs to run the update. You will also make decisions about the software packages to be included in the process.
  • Checks: SUM checks whether the operating system and database version of your source version meet the requirements of the target version. In addition, some application-specific requirements are checked.
  • Preprocessing: With this roadmap step, SUM creates the shadow system. The duration of this roadmap step depends on the scenario strategy you have chosen. When preprocessing is complete, the downtime begins.
  • Execution: The system is in downtime while SUM is converting application tables and data to match the target release layout.
  • Postprocessing: SUM saves the log files and prompts you to begin certain follow-up activities.

The process from extraction to start execution can take up to 7 days. If the downtime is to fall on a weekend, for example, then it is advisable to start about 1 week in advance.

Next you will be asked for the path to the download directory.

 

The task list can be used to view the status of the current, previous, and subsequent steps or phases in the process. You can move the mouse pointer over the symbols of the ‘Task Type’ and ‘Status’ Columns to open a tooltip with the description.

 

With “Logs” you get an overview of the available log files for the current step or the current phase. You can download a log file directly or click a name in the Filename row to open the log file viewer.

 

SUM has another useful function called ‘Breakpoints’. It allows you to pause the update at a specific point and continue it at a later point in time.

 

 

 

 

 

Roadmap Step ‚Extraction‘ completed successfully.

Start of Roadmap Step ‘Configuration’

In the following dialog (INITSUBST) you will be requested to enter further parameters for the configuration of the procedure.

 

SUM offers to save your variants. Because the corresponding selection screens have changed after upgrading, many of your variants can no longer be used.

 

Summary of Language Updates:

 

Check for Technical Users for Silent Data Migration.

 

Add-On Request for SAINT Package that fits to add-on BI_CONT:

 

The SUM dialog for transport requests.

 

Request for Automatic Modification Adjustment (Phase ADJUSTPRP)

 

Roadmap Step ‚Configuration‘ completed successfully.

 

Error in the Roadmap Step ‘Checks’.

 

Roadmap Step ‘Checks’ Error: Background Job RSUPGJOB Failed.

 

Configuration Step Checks: RUN_SDM_CHECK_STARTRELEASE

 

Roadmap Step ‘Checks’ Error: ‘Old Persistance Format’ PREP_GENCHECKS/HDB_CHK_NSE_OLDPERSISTENCE

 

Solving Error Oldpersistence Format Step 1

 

Solving Error Oldpersistence Format Step 2

 

Solving Error Oldpersistence Format Step 3, Executing SQL Command in HANA DB Studio.

 

Solving Error Oldpersistence Format Step 4, Executing SQL Command in HANA DB Studio.

 

In the Roadmap Step ‘Preprocessing’ SUM creates the shadow system. The next Figure shows repairs and requests containing objects locked by SAP.

 

The “Allocation failed” error occurred in several times during our upgrade. This is most probably since we are equipped with a main memory at the lower limit of 64 GB. We have increased the ‘Global Allocation Limit’ variable at 58 GB. After the error continued to occur, we canceled the installation at this point with ‘Breakingpoints’ and restarted the server. After that, this problem no longer occurred.

 

Roadmap Step ‘Preprocessing’ EU_IMPORT_ALL

 

Phase REPACHK2, Lock Development Environment.

 

Error in Phase Preprocessing START_SHDI_FIRST

 

This action fixed the problem.

 

Here SUM asks you to adapt your changes to ABAP Dictionary objects. In this way, they correspond to the new SAP standard version of the objects.

 

At the end of the Preprocessing Roadmap Step you enter the preparations for Downtime.

 

Backup Request before Downtime:

 

Completion of the Roadmap Step ‘Preprocessing’

 

In the STARTSAP_PUPG phase you will be asked to make a full backup of your database.

 

End of SUM technical Downtime

 

We have now entered the Postprocessing Phase. If you have changed programs, screens, or user interfaces, you must adapt them using transaction SPAU and, if necessary, transaction SPAU_ENH.

 

SUM Postprocessing Start of Cleanup Processing

 

SUM asks you to confirm that all imports of customer transports and additional software installations have been completed and that further imports will not be started until the end of the process.

 

The Upgrade Procedure is finished. The Installation is complete, and you can now perform follow-up activities.

Postupgrade issues

Firs regenerate relevant objects in Transaction SGEN.

Postupgrade issue nr. 1: not able to access SAP Fiori Launchpad

When trying to access SAP Fiori Launchpad for the first time after the upgrade we got an error “Failed to load resource. Server responded with a status of 403 ()” in the Source code inspector of the web browser.

As we founded out the reason for this issue was an incomplete “Clickjacking protection” configuration.

We followed this SAP note 2973874 and SAP help to implement a “white list” as follows:

https://launchpad.support.sap.com/#/notes/2973874 

https://help.sap.com/viewer/864321b9b3dd487d94c70f6a007b0397/7.31.21/en-US/966b6233e5404ebe80513ae082131132.html#:~:text=You%20need%20to%20protect%20your,application%20by%20hijacking%20mouse%20clicks.

Enable “Clickjacking protection”  in transaction SICF_INST

 

Activate “whitelist service” in transaction SICF:

 

Set parameters for the “white list” in transaction UCON_CHW:

 

Postupgrade issue nr. 2: Some Fiori apps could not be loaded on the SAP Fiori Launchpad

Once we were able to access SAP Fiori Launchpad we noticed that some Fiori apps do not load anymore.

We found out there might be two reasons causing this issue:

Reason #1: The apps are from a catalogue which is outdated in the current version.

We followed this SAP note 2594655 to update the outdated catalogue in SAP Fiori Launchpad Designer:

https://launchpad.support.sap.com/#/notes/2594655

The side effect of this update was a deletion of all customer-defined tiles created in this catalogue before the upgrade 🙁 So that those tiles had to be re-created again).

 

Reason #2: Services for “Smart Business” Apps (aka KPI tiles) are not activated.

While analyzing errors in the source code inspector of the browser we noticed the message “ICF node for Service ‘SMART-BUSINESS-RUNTIME_SRV’, Namespace ‘/SBB/‘ not available under node”.

 

We followed the SAP not 2648505 to add Smart Business services:

https://launchpad.support.sap.com/#/notes/2648505

Open transaction SICF on the front-end system and make sure that the following nodes are there and active.

default_host/sap/opu/odata/ssb/smart_business_runtime_srv

default_host/sap/opu/odata/ssb/smart_business_designtime_srv

Open transaction IWFND/MAINT_SERVICES and add services

SMART_BUSINESS_RUNTIME_SRV

SMART_BUSINESS_DESIGNTIME_SRV

 

Reason #3: Apps are obsolete in the current Release.

Some apps are being replaced with new versions. To use the new versions, the old version of the apps have to be deleted from SAP Fiori Launchpad and the new versions of the apps have to be added.

We followed this blog to find the successor-apps for our obsolete apps:

https://blogs.sap.com/2019/01/08/fiori-for-s4hana-finding-the-delta-of-new-apps-between-sap-s4hana-versions/

Postupgrade Issue nr. 3: The operating concern was deactivated during the upgrade and cannot be activated due to table inconsistencies

While trying to active the operating concern in transaction KEA0 we got the error  DD_DBAL001 “SQL Exception: SQL code: 308; SQL message: column name already exists: SOLUTION_ORDER_ID: lin”

 

The reason for this issue were differences in the COPA table CE1AGXX in SAP application vs. in HANA DB: in HANA DB the table had two more columns with field IDs SOLUTION_ORDER_ID and SOLUTION_ORDER_ITEM_ID.

These columns have been created automatically during S/4 HANA upgrade.

To solve this issue, we deleted these columns in HANA DB by executing the SQL commandos:

ALTER TABLE CE1AGXX

DROP COLUMN SOLUTION_ORDER_ID;

and

ALTER TABLE CE1AGXX

DROP COLUMN SOLUTION_ORDER_ITEM_ID;

After that we were able to activate the operating concern in transaction KEA0 and the table consistency issue was solved – the table CE1AGXX had now columns SOLUTION_ORDER_ID and SOLUTION_ORDER_ITEM_ID on the application servers as well as in HANA DB.