Data migration is a key task during the transition to SAP S/4HANA. Based on the different business scenarios it is important to choose the best ETL tool to make the transition into SAP S/4HANA a pleasant journey. These are some key questions to think about data migration requirements:
- What deployment option is the target / receiver of the data? SAP S/4HANA or SAP S/4HANA Cloud?
- Which data is needed from sources to operate S/4HANA the way wanted? Customizing? Master data? Open items? Balances?
- What are the sources and sender systems of the data? Which is the number and type of the source systems? Is the central master data management active?
- Can date be migrated “as is” or is it needed to transform it on the fly? Complexity? Are data transformations needed? Is data quality improvement necessary?
- Who needs to be involved? Which are the decisions to be taken? Are there major stakeholders?
To transfer data using the SAP S/4HANA Migration Cockpit, role SAP_CA_DMC_MC_USER is required. To use the SAP S/4HANA Migration Object Modeler (transaction LTMOM), role SAP_CA_DMC_MC_DEVELOPER is required.
The corresponding role for each migration object is also required.
For additional considerations see SAP note 2481235.
When working with migration cockpit, the first step is always to create a migration project where the necessary migration objects will activated/created.
To do so, access transaction LTMC and click on the create button.
A pop-up will show up and a name must be entered for the project. There is also a button to select whether the source of data is imported from files or from staging tables (involves a staging DB and schema). These two options cannot be selected at a time and it determines the way the tool will receive the input data.
- Transfer data from file: This option allows to perform data extraction from files. The files have to be completed based on XML templates that can be downloaded once an object is generated within the project. The file format and layout should not be changed. When working with files there are some considerations to be taken into account, as described in this SAP Blog by Sybille Lackermeier. Note that file-based projects can handle up to 1,048,576 records, as it is the limit of an excel file, or 100 MB, which is the size limit Migration Cockpit can receive without changing icm/HTTP/max_request_size_KB parameter. Changing it will allow to upload files up to 160 MB as described in note 2719524.
- Transfer data from staging tables: When selecting this option, a HANA database and schema is required. In this schema staging tables will be created when an object is generated. It will create as many tables as source structures are defined for the generated object. There are some prerequisites: Firstly, database connections must be available. This can be checked by using transaction DBCO. Secondly, if the connections are available in DBCO, they have to be white-listed in table DMC_C_WL_DBCO using transaction SM30.
When creating a staging table-based project it is mandatory to define a database connection where staging tables will be generated. Take into consideration that this database connection will connect migration cockpit with a HANA staging database and has to be set up prior to the project creation.
For any kind of project a 3-digit mass transfer ID (MID) must be selected. It will identify the project and its objects unequivocally. Each object created / activated in this project will have its name ending with this MID (e.g.: an object’s name in a project identified with MID “00A” will end in “…_00A”. For example: “Z_WORK_CNTR_00A).
This MID is exclusive when exporting / importing projects as well.
Standard object list
Migration Cockpit comes packed with a set of pre-existing objects which can be used by activating them. This object list is increased with every new release.
A full object release can be found in the following SAP Help documents:
- Objects for SAP S/4HANA releases 1610 SPS03, 1709, 1709 FPS01, 1709 FPS02, 1809, 1809 FPS01, 1809 FPS02.
- Objects for SAP S/4HANA releases 1808, 1811, 1902.
Generating a migration object
While working with Migration Cockpit, data will be transferred using the migration objects, which have their own set of source and target structures and fields. Migration Cockpit already contains a set of standard objects which can be used; but sometimes these objects do not fulfil specific needs or there is not an existing one to transfer the needed data. In those cases, development of new objects or enhancements of the existing ones are required.
Working with standard objects
To start working with a standard object go inside the created project, search for the one you need and click on it, and click the OK button which will appear in the pop up.
Depending on the selected migration approach, two different screens will appear.
In the case of a staging table-based project, there are three important buttons above the table which shows the name of the staging tables and their details:
- Start transfer: Starts the migration process, which will consist of three mandatory (Validate Data, Map Values, and Execute Import) and one optional step (Simulate Import).
- Start synchronization: When changes are made to the source structures, a synchronization is mandatory to apply these changes to the staging tables.
- Restart transfer: This button will stop existing transfer processes if they have already been started and it is necessary to start over.
To start the data transfer for a staging table-based project, it is necessary to have entries in the header table.
In the case of a file-based project there are seven important buttons above the table of imported files and their details:
- Delete: Deletes the selected file from the list.
- Download: Downloads the selected file from the list.
- Download template: Downloads an XML file which must be completed with the data which will be transported.
- Upload file: Allows upload of XML files for their transfer.
- Activate: Flags the file for transportation.
- Deactivate: Deletes flag for transportation.
- Start transfer: starts the migration process, which will consist of three mandatory (Validate Data, Map Values, and Execute Import) and one optional step (Simulate Import).
To start the data transfer for a filed-based project, there must be at least one file loaded and activated in the list. This file must contain at least one record on the mandatory tabs.
Enhancing a standard object or creating a new one
There are cases when standard objects don’t completely suit custom needs. These cases can be addressed by using another tool: The Migration Object Modeler. It can be accessed via transaction LTMOM, and it allows to change source structures (new structures and fields as well as modify existing ones), structure and field mappings and add rules to manipulate data before it is sent to the target BAPI as well as creating new objects from scratch.
The Migration Cockpit Modeler is composed by five parts:
- Global Data: Where global variables and constants which can be used in all rules are declared.
- Source Structures: Where the input structures and fields are defined, changing the schema of the template file or the staging tables.
- Target Structures: Here is defined the target function module as well as the importing method, the return structure and the testing field for the data simulation.
- Structure Mapping: The source and target structures and mapped here.
- Field Mapping: Fields are mapped here, depending on the structure mapping done before.
Process of transfer for an object in a file-based project
To load a file-based object, go into said object and click the Download Template button. An XML file will be downloaded. To see its contents, it must be opened in Excel. Do not modify this file’s structure.
Go into the corresponding tabs and complete the necessary data.
When finished, save and close it. Then go back to migration cockpit and click on the Upload File button.
Select the corresponding file and add a relevant description for it.
It is possible to load multiple files to process them at the same time.
To activate it, select it and click on the Activate button. To deactivate an already active file, click on the Deactivate button.
When the files are loaded and activated, click on the Start Transfer button to begin transferring the data.
Wait until validation ends and check that there are no errors in the step, if there are, correct them and validate again. This step will validate the entries sent in the file by checking that identification numbers are in the correct number range and that the information used exists in target system.
If no errors are displayed, click on the Next button to continue to the Value Mapping.
Here each translation rule will show errors if new values are found for the field. If one of the items is clicked, a window like the following one will show up:
There are three types of messages for the items:
- Inactive (gray square): which means that the source value is correct but needs to be accepted.
- Open (red circle): which means that the system did not find a suitable target value and must be specified manually or changed in the source (file).
- Completed (green square): which means that there is a suitable target value and has already been accepted.
For those values marked as open, it is necessary to specify a target value manually. While those marked as inactive can be Checked to mark them as completed if the proposed value is correct.
Once all mapping values have been marked as completed, click on Confirm to save them. Then click Save.
Repeat this process until there are no more mappings to validate and click on Next to continue the process.
Wait until simulation ends and check for errors. If there are, correct them first and repeat from Data Validation. Then click on Next to continue to data import.
Wait until import is finished and check there are no errors. If there are not, click on the Finish button to end the process. If there are errors, correct them and restart the transfer process.
The status of the transferred files will now be set to “Finished”.
As a last step, check on the corresponding tables if the entries have been correctly created.
Process of transfer for an object in a staging table-based project
As a prerequisite to load a staging table-based project, there must be at least one entry in the header table. If there is, then it is possible to start the transfer by clicking the Start Transfer button.
The transfer process is the same as for a file-based object. Please refer to the previous steps to follow this process.
For further information please check the below described notes and KBAs.
2537549 – Collective SAP Note and FAQ for SAP S/4HANA Migration cockpit
2719524 – SAP S/4HANA Migration Cockpit: XML template size limits
2733253 – FAQ for SAP S/4HANA migration cockpit – Transfer option: Transfer data from staging tables
2747566 – SAP S/4HANA Migration Cockpit: Transfer Data Directly from SAP System – Availability