S4HANA conversion preparations

You are going for S4HANA conversion if your start release is ECC6.0. Then you are not only upgrading your system, but actually a large part of your data (financial data, stock data, customer data, vendor data, etc) is converted from the ECC 6.0 to the S4HANA data model.

A great amount of preparations are required for a conversion to S4HANA. If you are on a S4HANA start release and want to upgrade to a higher version, the steps are far less. In that case read the blog on upgrading in stead of the blog below, which focuses on the conversion.

Summary of preparations to consider:

Readiness check and pathfinder

A good first step is to run the S4HANA Readiness Check 2.0. This tool will give you a first insight into the use of your current system and potential blocks and work for the S4HANA conversion. How to run the check is explained in this blog.

The readiness check is more based on existing functionality. The pathfinder tool is a tool that can help you more into new and innovative scenarios. Read more about pathfinder in this blog.

Sizing

You need to switch your system from your current database to a HANA database. This has impact on both your database size and your system sizing. Read more about in this blog on S4HANA system sizing, based on your current system usage.

A database migration can be done before the S4HANA conversion, but in most cases the database migration and S4HANA conversion are combined in one step.

Data archiving

To speed up the data migration, data archiving and data deletion is required to execute in many cases. The archiving and deletion can already be done before your S4HANA conversion project starts. For information on deletion of technical data read this blog. For data archiving, you first start with the business discussions on retention times (read this blog). After the discussions are done, you execute the technical execution according to this blog.

Remove unused clients

Unused clients must be removed. Removal of clients 001 and 066 are mandatory and to be removed before the conversion starts. Read more in this blog.

Add-ons

Add-ons can be the worst nightmare in a S4HANA conversion. If an add on is no longer required, first check if it can be uninstalled.

See OSS note 2011192 – Uninstallation of ABAP add-ons for SAP delivered add-ons, and OSS note 2911053 – Uninstallation configuration for 3rd party delivered add-ons.

If you do need to convert your system to S4HANA including the add-ons, please read OSS note 2214409 – SAP S/4HANA: Compatible Add-Ons. This note refers to the list of compatible SAP and 3rd party add-ons for each S4HANA version.

The SAP add-ons will normally be ready within few months after release of new S4HANA version. 3rd party add-ons differ per supplier. Some are really fast and can deliver you the needed ACP file within a week. Some take months or longer than 1 year. If you have such a poor add-on supplier, your complete conversion will block until the supplier has done its work. Best to impose pressure via management (best is via CIO or head of IT procurement) on the supplier to speed up.

Custom code adjustments

During the S4HANA conversion process all custom code must be validated and adjusted in these cases:

  • Changes due to HANA database change
  • Changes due to S4HANA data model changes

You can already change in the existing ECC 6.0 system parts of the code before the actual conversion. To see what you need to change, you need to set up an extra ABAP netweaver stack and run remote ATC checks for S4HANA readiness of the custom code. Read the details in this blog.

Next to S4HANA readiness, you can also scan your custom code for use of unsupported SAP objects. Read the details in this blog.

Custom code performance

You can use the SQLM and SWLT tools on your current productive system to determine your code points that already eat up most of your system performance now. These points are an opportunity to improve in the S4HANA conversion.

Data transition validation tool

During the S4HANA conversion FICO data and other data will be migrated to new data structures. The business needs to validate if the conversion was done correctly and proof this. Consider the use of the DTV tool (data transition validation) for this purpose.

Use of Eclipse for custom code

On S4HANA many new developments are possible in custom code, like CDS views. For these tools the ABAP developers need on their front end the ABAP Eclipse tool. Read these blogs: installation of ABAP Eclipse and backend activation.

S4HANA simplification items

The S4HANA simplification items must be dealt with. Already before starting the conversion, you can run the simplification items checks and assess their impact. Read this blog on how to run the S4HANA simplification items check.

CVI integration / BP integration

The CVI (customer vendor integration), also known as BP (Business Partner) integration can be a very time consuming piece of the S4HANA conversion preparation. More on this topic can be learned on the OpenSAP training dedicated to the Business Partner conversion in S4HANA.

FICO changes

In S4HANA new general ledger and new asset management are mandatory to be used. If your current system does not yet use new general ledger and/or new asset management, you need to plan a lot of time for the FICO consultants and FICO business for the FICO data conversion.

SLT triggers

If you are using SLT triggers, also check this OSS note carefully: 2755741 – Potential Impact of SLT During SAP S/4HANA System Conversion / Upgrade of S/4HANA System. In some cases it is better to drop the triggers and recreate after the upgrade.

Set up of parallel landscape

Most likely your ECC system has a lot of topics to be dealt with. This also means that the conversion project will take between 6 and 12 months in duration. During this time more or less changes must continue to be implemented for diverse business and legal reasons.

For most support packages and upgrades a parallel landscape might be over the top. But for a S4HANA conversion it is definitely not a luxury item.

Best to start your planning and implementation directly with a parallel landscape in mind.

More about parallel landscape in this blog.

Security parameter changes

After the conversion to S4HANA you need to consider new and updated security parameter recommendations from SAP. You can prepare yourself already for this step. Read more in this blog.

Downtime reduction

An S4HANA conversion can take a long time to implement, but also a long time to run in productive system. It can take a complete day, weekend or even extended weekend (including Friday and Monday) to execute the conversion on production.

During your S4HANA conversion you should really spend time on downtime minimization.

First step is to determine the maximum downtime you are allowed to have by the business. If you have this timing, use the first sandbox and development system conversions to measure the expected downtime as first estimate. You can use the downtime recording from the SUM tool. But you have to add time for many more elements:

  • Graceful shutdown
  • Data checks after the migration
  • Transport imports after the migration
  • System validation after the imports
  • Graceful startup

Test the actual downtime on your acceptance system. If required, you can also create extra copy of production to a special conversion upgrade dress rehearsal system to practice the downtime and your optimizations.

Tips for downtime reduction:

  1. Check the SUM options for downtime reduction
  2. Check the downtime optimization app from SAP: see this blog
  3. Consider to include customer transports in SUM: see this blog
  4. Consider to contact SAP if your system is very large and you outage window requirements are not met by the actual times. SAP can offer tailored services to further reduce your downtime. These services are expensive, but can be worth the money to help your project meet the business maximum downtime requirements

In the SAP readiness check there is a dedicated section for estimating the total business downtime of a S4HANA conversion. Read more in this dedicated blog.

Transaction codes that are changed

S4HANA conversion comes with changes to transaction codes. Old ones are replaced by new ones. New transactions are present. FIORI tiles replacing transaction codes. And many more. Unfortunately there is no central list. OSS note 3118651 – How to identify, which Apps/Transaction codes are obsolete or replaced in SAP S/4 HANA? provides hints on assembling a list for your use case.

FIORI app recommendations

The FIORI app recommendations tool can already be used before the start of your S4HANA conversion project. You can use the current ST03N data in your ECC system and upload it to the FIORI app recommendation tool. This can give you insights into parts where you can support the user better with FIORI apps. More information on the FIORI app recommendations tool can be found in this blog.

Use of embedded LiveCache

In case your ECC system is connected to SCM APO system, you might consider to start using the embedded LiveCache in S4HANA as a replacement of the SCM APO system livecache.

This can only be done if:

  • SCM is not used by other ECC systems as well
  • You validated you can replace all functions
  • You have sufficient time in your project for the replacement

If yes, it will save you a complete SCM landscape.

More background on embedded LiveCache setup is in this blog.

SAP best practices

SAP has an excellent best practice document “Upgrading SAP S/4HANA: Why, How, and Best Practices”.

S4HANA upgrade preparations

When you are already using S4HANA, you will still want to regularly upgrade to the newest version. This blog will explain the preparation steps for a next upgrade.

If you are looking for information about S4HANA conversion (from ECC to S4HANA): read this dedicated blog on S4HANA conversion preparations.

Questions that will be answered are:

  • What do I need to check as part of an S4HANA upgrade?
  • Where do I find information on the HANA database revision upgrade?
  • Do I need to run the simplifications check again?
  • Do I need to check my addons again?
  • How can I check for differences in SAP FIORI apps?
  • How can I reduce downtime for my S4HANA upgrade?
  • How can I know about changes to security parameters after the S4HANA upgrade?
  • If I am upgrading an existing S4HANA system to a higher version, do I still need to do the simplification items?

HANA database revision

For each S4HANA upgrade, first you must apply the minimum revision published by SAP before you can start the upgrade.

You can apply this revision already in your running system as well.

HANA DB revision usage for S4HANA can be found in this OSS note: 2655761 – SAP S/4HANA – restrictions and recommendations regarding specific revisions of SAP HANA database for use in SAP S/4HANA.

Add ons

For each upgrade, you need to validate that the addons you use are already released for your target upgrade version.

Generic OSS note is 2214409 – SAP S/4HANA: Compatible Add-Ons. This will refer to version specific OSS note you must read.

Simplification items

For each upgrade, you must update the TCI note for the simplifications items and run the checks. See blog. So you still need to do simplification items between the versions!

For an ECC to S4HANA conversion this list is long to very long (can contain over 100 items). For an upgrade from S4HANA lower to higher version, the list is typically only 10 or less items.

FIORI apps impacted by the upgrade

FIORI apps can change between versions. Older apps are replaced by new ones. You might need to act on this if the apps are used by the business. To get a list of SAP FIORI app differences, follow the instructions from this SAP blog.

Readiness check

Also for S4HANA upgrades from older to newer S4HANA version, you can run the readiness check. Read more about it in this blog.

SLT triggers

If you are using SLT triggers, also check this OSS note carefully: 2755741 – Potential Impact of SLT During SAP S/4HANA System Conversion / Upgrade of S/4HANA System. In some cases it is better to drop the triggers and recreate after the upgrade.

Custom code checks

A quick check on the use of unreleased SAP objects in custom code can help to avoid upgrade issues. To execute the run, check this blog.

Downtime reduction

An S4HANA upgrade can take a long time to run in productive system. It can take a complete day to execute the upgrade on production.

During your S4HANA upgrade you should really spend time on downtime minimization.

First step is to determine the maximum downtime you are allowed to have by the business. If you have this timing, use the first sandbox and development system conversions to measure the expected downtime as first estimate. You can use the downtime recording from the SUM tool. But you have to add time for many more elements:

  • Graceful shutdown
  • Transport imports after the upgrade
  • System validation before startup
  • Graceful startup

Test the actual downtime on your acceptance system. If required, you can also create extra copy of production to a special conversion upgrade dress rehearsal system to practice the downtime and your optimizations.

Tips for downtime reduction:

  1. Check the SUM options for downtime reduction
  2. Check the downtime optimization app from SAP: see this blog
  3. Consider to include customer transports in SUM: see this blog
  4. Consider to contact SAP if your system is very large and you outage window requirements are not met by the actual times. SAP can offer tailored services to further reduce your downtime. These services are expensive, but can be worth the money to help your project meet the business maximum downtime requirements

Security parameter changes

After S4HANA upgrade, there are new and updated security parameters. Read more on this topic in this blog.

SAP best practices

SAP has an excellent best practice document “Upgrading SAP S/4HANA: Why, How, and Best Practices”.

ST06 OS host monitoring

If you want to see how well your OS is doing in terms of CPU, memory, disc utilization, etc, then transaction ST06 OS host monitoring is your solution.

Questions that will be answered in this blog are:

  • How to use transaction ST06?
  • How to get information on CPU, memory and disc usage on OS level?
  • What is different in ST06 when my SAP system runs in the cloud?

ST06 transaction

Start transaction ST06:

Top left you can select the application server you want to inspect. On the right screen you see the details. Bottom left you can select different tools or specific sections and history.

For more background on all ST06 issues and functions, read OSS note 2067546 – ST06/OS07N: Overview note.

ST06 and systems running in cloud

If your SAP system runs on infrastructure in the cloud, your infrastructure provider may have a certain setup that may not allow all ST06 functions to work as with a system installed in your own data center.

OSS notes on this topic:

Other OSS notes

Other notes:

SLG1 application log

SLG1 application log is a powerful function in supporting productive system. This blog will explain the backgrounds.

Questions that will be answered in this blog are:

  • What is the intended use of SLG1 application log?
  • Should SLG1 application log be used by the business or IT only?
  • How can I download or export the logs from SLG1?
  • How can I clean up or delete SLG1 logging?

Intended use of SLG1 application log

The SLG1 application log is primarily intended for use by IT staff to support the SAP system. The logging can be used to analyze issues that the user is reporting, without IT staff requiring direct access to the business data transactions (not even to display data). Most standard SAP applications will log errors in the application log.

The logging can be for:

  1. Technical errors
  2. Functional error (like missing customizing)
  3. (master) data errors

When you are having frequent (master) data errors that primarily show in SLG1 application logging, it can make sense to give access to SLG1 for your business key users. You should train them on the transaction, since it might be too technical for them.

Use of SLG1 application logging transaction

Start the application logging with transaction SLG1 and fill the required fields:

Best to start with Only important logs to reduce the volume.

Output can look like below:

On top open the alert and click on it. At the bottom part of the screen the details will be displayed.

SLG1 objects

The object and subobjects for data filtering in SLG1 are defined in transaction SLG0:

Export of SLG1 logging

To export SLG1 logging, start transaction SLGD:

The output of SLGD can be done on ALV screen, from which you can download the data.

More background in OSS note 2546052 – Transaction SLG1 – Cannot download or export error logs.

Deleting SLG1 application log

You can use transaction SLG2 to delete the application log. For more details see blog on technical clean up.

Logging levels

Next to deletion there is another option to reduce the amount of application log entries: setting the logging level. In many customizing settings for diverse applications, the log level can be set. This can range from: error only to everything. The everything setting is typical for a development system. The error only is typical for a productive system. Upon issues, you can still set the productive system temporarily to everything. Unfortunately: this feature is per function and has to be setup in customizing in the specific application, and not all functions support the log level settings function.

ABAP code to write to application log

If you want to write entries to the application log in your custom ABAP code, read this blog.

Relevant OSS notes

SAP Screen Personas installation and basis configuration

SAP Screen Personas can be used to create variants of SAP GUI transactions. This blog will describe the basis installation and basis configuration part of SAP Screen Personas.

Questions that will be answered are:

  • How to install SAP Screen Personas?
  • How to perform the basis configuration of SAP Screen Personas?
  • How to check the health of SAP Screen Personas?

Installation of SAP Screen Personas

The installation process and prerequisites are clearly listed on the SAP Screen Personas help file for installation.

If you have an older version of SAP netweaver; carefully check the kernel requisites. Newer versions will not have any issue. For each support package there is a separate OSS note: 3115416 – SAP Screen Personas 3.0 SP14: Released Notes Information.

Installation of the PERSONAS addon can be done via SPAM/SAINT (simplest way) or via the maintenance planner. Next to the core add on, apply the support packages.

After the addon installation on development system, you need to open the namespace /PERSONAS in SE06. Otherwise you will not be able to apply bug fix OSS notes.

Read the master note per support package to see which OSS notes need to be applied.

Basis configuration of SAP Screen Personas

Basis configuration of SAP Screen Personas is described on the SAP help file.

Activation steps in SICF:

  • Activate SICF nodes personas and personas3
  • Activate SICF nodes se (for the slipstream engine)
  • Make sure ITS webgui is active in SICF, if not follow the instruction on this blog

In PFCG generate these roles:

  • /PERSONAS/ADMIN_ROLE
  • /PERSONAS/CONSUMER_ROLE
  • /PERSONAS/EDITOR_ROLE

Validation of installation and check for new OSS notes

Start transaction /PERSONAS/HEALTH to see the health status and check for new OSS notes:

The first tab has the services status. You might find an issue for WebDynpro Compression. If this is red, goto SCIF node UI5_UI5 and set the compression to Yes:

Next check on the tab System Status:

In case of issues with Transport system synchronization run program /PERSONAS/CONVERT_E071.

On the Notes Status tab press the Check Notes button to see if there are any new relevant OSS notes. Apply the notes and make sure all is ok:

Update of client source files

Per support package SAP releases an OSS note with more frequently released patched for the client source files: 3115432 – SAP Screen Personas 3.0 SP14: Update of Client Sources Files.

Compare and copy table entries from client 000

After a support pack, system upgrade or feature pack upgrade, new customizing can be delivered by SAP (see also OSS note 337623 – Customizing after installation or upgrade). To avoid changes to the main client customizing, this new customizing is delivered in client 000. You need to either manually look up the values in client 000, or compare using the tools mentioned below. There is and option to adjust the records after comparison; pull the data from client 000 to the main client and then save it.

Questions that will be answered in this blog are:

  • What are the prerequisites for a comparison with client 000?
  • How can I compare table entries with client 000?
  • How can I adjust table entries with entries from client 000?

Prerequisites for comparison

In order to execute the comparison you need to set up Transaction SCMP can be used to compare entries between the main client and client 000. Prerequisite is that you have setup an RFC from your main client to client 000 with reading right in client 000.

In SCC4 you must set the proper client comparison rights:

SCMP comparison for single table

Transaction SCMP can be used to compare entries between the main client and client 000.

Start screen:

We use table T005 (countries) as example. Run the comparison:

SCMP is only comparison transaction. You cannot adjust entries.

SCU0 or OY19 comparison for multiple tables

If you want to compare multiple tables, use transaction OY19 or SCU0:

Choose selected activities:

Select the IMG node(s) to compare and click the green OK button:

Select the RFC and start:

Results:

SM31 adjustment

To adjust the settings, start transaction SM31 for the table view V_T005:

Click maintain and select the entry to adjust. Now select menu option Utilities and option Adjustment. In the popup select the RFC to use:

Select the detailed entry and press copy entry:

Reference OSS notes

References:

SM05 HTTPs session management

Transaction SM05 can be used to manage HTTPs sessions in an ABAP stack in similar way as GUI sessions in SM04.

SM05 HTTPs session management

Start transaction SM05:

On top you can see % of free sessions.

In the table, you can see the sessions and if needed delete them. The right columns show the logon method (password, SAML, X.509, etc). This might be helpful in investigating issues with logon. The solution could be different per logon method.

OSS notes regarding SM05

Relevant OSS notes:

SAP kernel patching

SAP kernel is the central software for the ABAP netweaver stack. It also contains bug and needs patching/updating from time to time.

Unlike support packages and OSS notes, the kernel patching has to be handled with more care.

Questions that will be answered in this blog are:

  • What is the SAP kernel deployment strategy?
  • When should I patch the SAP kernel?
  • What are known pain point in SAP kernel updates?
  • Where can I find kernel OSS notes updates?
  • Where can I find regressions on kernel updates?

SAP kernel deployment strategy

The full SAP kernel deployment strategy can be found as document on this link. Practical powerpoint for 2022 patches, use this link.

The basic strategy:

  • Update kernel with support package upgrade or main version upgrade
  • Apply kernel updates only when you experience issues

This is a sound approach. The kernel is quite black and white in updating. It is fully updated or not. Each new kernel might contain new bugs or unwanted side effects. If not properly tested you need to roll back the kernel update.

SAP kernel versions and SAP kernel patch levels

Versions and levels can be found in OSS note 2083594 – SAP Kernel Versions and SAP Kernel Patch Levels.

Known pain points in kernel updates

If you upgrade your SAP kernel, please pay attention to the following items:

  • Use of ITS webgui
    • Use of handheld scanners using the ITS webgui
    • Portal and other external integration of ITS webgui
    • Browser applications using ITS webgui
    • Logon issues for RFC
    • Logon issues for SNC
    • Logon issues for SSO
    • Logon issues for SAML2
    • Logon issues for LDAP connector
    • Logon issues for http(s)
  • SAP screen personas and other screen scraping tools like robotics process automation tools
  • ACF framework (do not use if possible, see blog)

Best practice is to assemble these test scenarios in your company. This way you know next time which tests to perform when applying a kernel patch or kernel update. The tests you execute on an acceptance or quality system before applying the kernel update to your productive system.

Kernel regression OSS note

SAP OSS note 1802333 – Finding information about regressions in the SAP kernel describes how to find the needed regression note for your SAP kernel. The regression notes describe the unwanted side effects and bugs in the kernels.

Kernel roadmap OSS notes

Roadmap OSS notes:

Business suite EHP8 and S4HANA till 1710: 1969546 – Release Roadmap for Kernel 74x and 75x.

S4HANA 1809, 1909 and 2020: 2907361 – Release Roadmap for Kernel 77x and 78x.

Kernel update information

News update on kernel are published on SAP wiki for kernel.

Suppressing SM02 messages

Suppressing SM02 messages can be needed for specific user ID’s.

Questions that will be answered in this blog are:

  • What are good reasons to suppress SM02 messages for certain users?
  • How to suppress SM02 messages for users on ABAP stack for GUI users?
  • How to suppress SM02 messages for users on ITS webgui?

Reasons to suppress SM02 message

There might be good reasons to suppress SM02 messages for certain users:

  • Robotics users that post and read data via scripts using SAP GUI
  • Monitoring tools that monitor via SAP GUI logon
  • Users on scanner devices that use the ITS webgui

Workaround program for suppression on ABAP stack for GUI users

SM02 has no out of the box option to skip or omit certain users from receiving system messages.

A workaround can be to create a Z program. This Z program has as input a single user or a list of users (it will not allow a range):

Run this program immediately after you set up SM02 message.

The program will simply flag this message as already read. When the user logs on, the system will think it has already sent the SM02 message to the user.

Code:

*&---------------------------------------------------------------------*
*& Report ZSM02SUPPRESS
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zsm02suppress.

DATA: lv_user TYPE sy-uname.
DATA: lv_last_message TYPE temsg-id.
DATA: lv_message_read TYPE temsgu.

SELECT-OPTIONS so_users FOR sy-uname NO INTERVALS.

START-OF-SELECTION.

  SELECT id FROM temsg ORDER BY id DESCENDING INTO @lv_last_message UP TO 1 ROWS.
  ENDSELECT.
  IF sy-subrc EQ 0.
    LOOP AT so_users.
      lv_message_read-mndt = sy-mandt.
      lv_user = so_users-low.
      lv_message_read-bname = lv_user.
      lv_message_read-langu = sy-langu.
      lv_message_read-bdate = sy-datum.
      lv_message_read-bid = lv_last_message.
      UPDATE temsgu FROM lv_message_read.
      WRITE:/ lv_user.
    ENDLOOP.
  ENDIF.

Suppressing messages for ITS webgui

For the ITS webgui, you can use parameter ~WEBGUI_SHOW_SYSTEM_MODAL to suppress the system messages. More background on this blog and this OSS note 1271339 – SAP GUI for HTML: Suppressing system dialogs in integr. ITS.

SM02 system messages

Transaction SM02 can be used to broadcast important messages to every user. This can be used in case of emergencies or for sending important messages to every users.

Questions that will be answered in this blog are:

  • How to set up a system wide message?
  • How to delete system messages?

Set up system message

Start transaction SM02 to set up a system message:

Press create to set up a new system message:

Text is limited to Twitter style: 3 rows of 60 characters.

Result is that each user gets a popup:

Suppressing messages for certain users

To suppress messages for certain users an ABAP trick is needed. Read more in this blog.

Technical background of SM02

SM02 messages are stored in 3 tables:

  • TEMSI for the message ID
  • TEMSG for the message text
  • TEMSGU to store last message read by user ID and logon.

Program RSM02INIT can be used to delete all SM02 content (see OSS note 1179456 – SM02: Resetting tables for system messages).

Or you can delete one by one in SM02, or simply wait for the retention period.