Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 








Is your customer planning for SAP S/4HANA Conversion to SAP S/4HANA 1909 or planning for Release Upgrade to S/4HANA 1909 or higher? then are you aware of Silent Data Migration?

In this blog, I described about the technical background of Silent Data Migration, how the Silent Data Migration is enabled by the SUM tool, and how to manage users for Silent Data Migration.

When planning a release upgrade and executing Software Update Manager (SUM), often data migrations are required due to changes in the data structure. These changes may occur while developing new features or when enabling superior application performance. Usually, these data migrations are carried out during the upgrade by XPRAs or XCLA techniques, which prolongs the downtime period.

SDMI allows migrating application data during uptime, which means during this time you can use the system productively. Thereby, the duration of the downtime can be reduced. This process is called silent data migration (SDMI). Hence the goal of Silent Data Migration is to reduce the (technical) downtime for SAP S/4HANA Release-Upgrades/Conversion using the SUM tool.

Silent Data Migration is a data conversion technology used in SAP S/4HANA upgrades and conversions as of target release S/4HANA 1909 and higher.

In the future, more and more data migrations will be shifted from XPRA processing to SDMI. This is done in order to achieve Zero Downtime Upgrade capability.

Please check SAP Community blog for more details on Leveraging Zero Downtime Option of SUM for SAP S/4HANA update/upgrades Published by ZDO product manager jensfieger

 

Technical Background

SAP S/4HANA system Upgrade/Conversion can be segmented into the following high-level phases:

  • S/4 N = S/4HANA 1809 and lower

  • S/4 N+1 = S/4HANA 1909



After providing SUM with all required information, the system will enter in the restricted uptime phase. During this time, business users are still allowed to work on the system but customizing as well as the ABAP repository is locked for changes. A clone of the ABAP repository is created and upgraded to the target release of SAP S/4HANA.

In the system downtime phase, no business users are logged on to the system. Also, the ABAP repository and customizing settings are locked. This is when Database schema changes are activated (table structure alteration, index rebuilds, recreation of views), S/4HANA table content is imported and AIMs, XPRAs, and XCLAs are executed.

But during the S/4HANA upgrade or conversion to target S/4HANA 1909, instead of performing the application data migration by executing XPRAs or XCLAs in the technical downtime, SUM tool creates the configurations in the system to perform the application data conversion via Silent Data Migration after the upgrade completed in the Business Uptime.

After the upgrade, once program BTCTRNS2 has been executed the Silent Data Migration starts job SAP_SDM_EXECUTOR_ONLINE_MIGR will be scheduled and start the execution of the SDMI classes with Business uptime.

Enabling Silent Data Migration

Silent Data Migration classes are automatically executed in online mode via background job SAP_SDM_EXECUTOR_ONLINE_MIGR. This job is executed in all clients with a specific stepuser which is also called SDMI User.  This technical user needs to be created in every client so that the silent data migration can run in every client.

These technical users can be created in 3 ways/options

  1. During the SUM upgrade or update user for SDMI will be created and registered automatically

  2. After upgrade using SDM_USER transaction, one can create and register the user for SDMI

  3. Manually creating user for SDMI using SU01 and register using SDM_USER transaction


These SDMI users must be of type 'SYSTEM'. For the first 2 options, the user will get SAP_ALL profile using and if your company's security regulations do not allow users with SAP_ALL profile then you should consider option 3 where you need to create the user in advance with necessary authorizations as per SAP Note  2850918 - Authorizations required for Silent Data Migration (SDMI) in SAP S/4HANA Release 1909

During the SUM upgrade or update, a dialog box appears asking you whether a technical user for SDM should be created.

If you Choose Yes, to allow the Software Update Manager (SUM) to create the technical users in each client in the system with a random name with pattern SDMI_xxxxxxxxxxxx. It comes under option 1


If you choose No, SUM will not create a technical user in clients where it is missing. During the post-processing phase, the SUM checks if the technical user exists. If not, a message will be created in the update log.

As mentioned earlier one can create and register a technical user for SDMI in the current Client with transaction SDM_USER. You can also let the program generate an SDMI user with a random name with pattern SDMI_xxxxxxxxxxxx or you can input a preferred user name with necessary authorizations.

Using T-code SDM_USER


 

Click on Create/Change to create a new user or select the preferred user to run Silent Data Migration.



In the above screen, you can click on the Generate User for Option 2.


For Option 3 you can input or user F4help to select user created in advance with necessary authorizations and click ok to register.


 


 

Click on SDMI user in all client to see all the registered users in each client to run the Silent Data Migration



 

List of registered SDMI users in all clients



After the SDMI user creation and registration, the system will trigger the background job SAP_SDM_EXECUTOR_ONLINE_MIGR which initiates the execution of the Silent Data Migration classes that are qualified in the target release using PFW. By default, this SAP_SDM_EXECUTOR_ONLINE_MIGR job runs every 30 minutes and picks up unfinished SDMI classes and re-triggers the migration. Overall SAP_SDM_EXECUTOR_ONLINE_MIGR batch job only checks and triggers migration using PFW but the actual data migration is carried out by dialog work process in the form of packages/portions.

Please check my next blog Monitoring Silent Data Migration (SDM_MON) – S/4HANA 1909 upgrade/conversion to know how to monitor silent data migration.

Additional information

SAP Note 2664638 - Create and assign SDMI User in a client

SAP Note 2190119 - Background information about S/4HANA technical job repository

SAP Note 2850918 - Authorizations required for Silent Data Migration (SDMI) in SAP S/4HANA Release 1909

SAP Note 2821421 - SDM_USER: Allow creation without SAP_ALL profile

SAP Note 2907976 - Silent Data Migration (SDMI) - FAQ

SAP Note 2916801 – Silent Data Migration (SDMI) Configuration Options

S/4HANA 1909 upgrade Guide

SAP Help Portal - Silent Data Migration Infrastructure (SDMI)

Parishudh

IT Planning & Maintenance Optimization
Center of Expertise – Customer Success – Intelligent Delivery Group
SAP America Inc.
14 Comments
eduardohartmann
Contributor
Interesting news!

Thanks for sharing Parishudh.

 

Kind regards,

Eduardo Hartmann
marcowahler
Explorer
nice blog Parishudh.

I have some screen shots for sdmi monitor in previous blog: https://blogs.sap.com/2019/10/03/s4hana-silent-data-migration-infrastructure-quick-guide/
0 Kudos
Thanks for that nice blog.

We have finished the conversion and the job "SAP_SDM_EXECUTOR_ONLINE_MIGR" runs (every 30 mins) in a converted S/4 system.

Should it run in systems after go-live? The Migration Progress is 100% finished for classes.

 
Hi Anatol,

SAP_SDM_EXECUTOR_ONLINE_MIGR Will get started as soon as you run or execute BTCTRNS2 after the conversion and it will continue to run in the S/4system. That means it will run after go-live.

It’s of no harm in leaving the job as is even after all SDM are completed with 100%

PR
0 Kudos

HI Parishudh ,

Do you know table which stores SDM migration classes  or should have field to distinguish or help to segregate only Qualified Migration classes.

I got one table SDM_PROC_STATUS but don't have option (filed) to separate to find only qualified classes.

 

Regards

Ajim

mbablani
Explorer
0 Kudos
Hello Parishudh,

Very nice article and feature.

Do we need to leave the SDM user in production after all relevant SDM jobs have finished successfully. Typically auditors have questions around users (System or otherwise) with extensive authorizations, and customers don't wish to keep any unwanted user in the system .

 

Mukesh

 

 

 
jensfieger
Advisor
Advisor
Hi Mukseh,

yes, it's recommended to keep the user in the system as every major release of SAP S/4HANA will bring new Silent Data Migration classes which have to run after the upgrade. The user type is set to 'system' which does not allow dialog logons via SAP GUI.

What you can also consider is to reduce the authorization for the time when no SDMI class is running (if SDM_MON shows a green status for all relevant SDMI classes). Of course, you'd have to adapt the authorization accordingly once you start the next major release upgrade.

Best regards,

Jens

Product Manager for Zero Downtime Option of SUM | SAP SE
mbablani
Explorer
Thank you Jens for crisp suggestion and explanation.
daniel_leal4
Explorer
0 Kudos
Thank you for this useful article, Parishudh. As a quick follow-up, can you expand on what are the advantages to leave this job running every 30 minutes in each client after the upgrade?  If it will be re-used only during the upgrade, shouldn't we disable this job in SJOBREPO after the upgrade and re-activate prior the next upgrade?

Thank you in advance,

Daniel Leal
jensfieger
Advisor
Advisor
Hi Daniel,

in case all migrations are finished, the job basically is just looping over the SDM status table and determines that nothing has to be done. In theory you can of course stop the execution but the recommendation is to keep it active since then you will for sure not miss to reschedule the job once it's needed again. If you need further support, you may raise an incident for component BC-CCM-SDM.

Best regards,

Jens

Product Manager for Zero Downtime Option of SUM | SAP SE
jensfieger
Advisor
Advisor
Hi Daniel,

a quick update in the job scheduling behavior from SAP S/4HANA 2021 onward:

With this release, the job SAP_SDM_EXECUTOR_ONLINE_MIGR was switched to event-based. The Job repository now checks if there's still open migration classes. If this is the case, an event is raised and the job SAP_SDM_EXECUTOR_ONLINE_MIGR is released. If no open migration class is found, the SAP_SDM_EXECUTOR_ONLINE_MIGR will not start.

For details on the jobs delivered via job repository, check SAP Note 2849364 - Jobs in the Technical Job Repository (SJOBREPO) in SAP S/4HANA 2021.

 

Best regards,

Jens

Product Manager for Zero Downtime Option of SUM | SAP SE
0 Kudos
Hi Ajim,

there is no qualified flag in any table. This is dependent on the release of the registration and the current release of the system. So, use the API CL_SDM_UTILS=>GET_QUALIFIED_MIGRATIONS() to retrieve them
daniel_leal4
Explorer
0 Kudos
Appreciate the update. Thank you very much.

Best regards,

Daniel
former_member799515
Discoverer
0 Kudos
Hi All,

IN S4 1709 to 2021 upgrade, SAP is providing option to "decision on silent data migration" whether to run in uptime (productive operation) or business downtime (post-processing). In our case for sandbox upgrade, we inadverdently choose yes for business downtime and now ended up in a situation where ACDOCA SDMI is running in downtime (execution phase instead of post-processing). Below are my questions related to this

  1. Is ACDOCA SDMI expected to run in downtime only in case of jump upgrades (1709 to 2021)?

  2.  If we had choosen No for SDMI for downtime, could this have run in uptime (productive operation)?

  3. We have applied all the HANA optimizations mentioned in the sap note (2351294 - S/4HANA System Conversion / Upgrade: Measures to reduce technical downtime) but still the SDMI run for ACDOCA (11 billion records with 16 partitions) is running for more than 3 days now. Any other optimizations that we should be considering to improve the performance of this SDMI run?


Would appreciate a quick response.

Regards,
Vihari Nagella.
Labels in this area