In-app extensibility in S/4HANA Cloud | Part 5 – Custom fields in the Data migration cockpit
Migration of data from an existing/legacy system into the new SAP S/4HANA Cloud system is an essential requirement for any new implementation. The S/4HANA Cloud data migration cockpit serves as an important tool to fulfil this requirement for customers. The migration cockpit is a powerful tool which allows business data (master as well as transactional data) to be migrated from the customer’s legacy systems to the S/4HANA cloud system.
While S/4HANA cloud is a very standardized system, and as a recommendation, SAP advises to keep it that way, there are some options using standard extensibility tools to extend the system based on customer’s requirements. Because of these available extensibility options, it becomes imperative that this is applied to the data migration cockpit as well because custom fields (from SAP’s perspective) could potentially be important data in a customer’s legacy system.
Support for custom fields was first introduced in the Data migration cockpit with the 1811 release of SAP S/4HANA Cloud. Since then, more and more migration objects have been added in this framework for supporting the migration of custom fields. You can see the list of migration objects that support extensibility at this link
This blog is intended to show how you can enable custom fields in the data migration cockpit in order to ensure they are captured in the migration process.
For the purpose of demonstration in this blog, we will consider one of the migration objects (Customer), that is supported by the extensibility framework. A custom field will need to be added in the relevant business context and then enabled in the data migration cockpit. Subsequently, we will execute the migration of some sample data in the S/4HANA cloud system.
1) Adding a custom field
In this example, we will extend the customer master by adding a custom field. While this specific activity is not in scope of this blog, if you want to know more about how to add a custom field, you can refer to this blog.
The below screenshot shows the custom field named “Customer Alias” added through the “Custom fields and logic” app under the business context “Business partner core view” in the SAP S/4HANA cloud system.
2) Enable the usage of this field on the Business Partner app and it’s ODATA service.
3) As next step, we need to ensure this field is available in the data migration cockpit for customer master data. Normally, the SAP S/4HANA cloud migration cockpit will automatically detect this custom field while creating a new migration project and subsequently add it in the corresponding templates.
4) Go to the migration cockpit through the app “Migrate your data”. Alternatively, you can also use the same option under the “Manage your solution” app.
5) The migration cockpit will open-up. We need to create a new migration project here. Click on the “Create” button on the subsequent screen.
6) The system will ask for some details about the new migration project to be created. Provide a name to the migration project and leave the other fields (Mass transfer ID and Data retention time) as suggested by default. Click on “Create” to proceed.
7) On the subsequent screen, you can see the details of the migration project created. Here, we need to specify what kind of data we are expecting to migrate using this migration project. For our example, we are interested in customer data. Use the “Filter by” option and filter the available migration objects for the term “customer”. Once available, select the migration object with the name “Customer”
8) As we added a custom field in the relevant business context, the system provides a popup that the migration object will be updated with some custom fields. Click on “OK” to proceed.
9) The subsequent screen will have the migration cockpit with the migration object selected. Here, we can verify that our selected migration object “Customer” has been updated to include the custom field that we added earlier. To do this, click on the “Download template” to download the XML template for migrating the customer master data.
10) The system will download the xml template for customer master locally. Open this file in Excel (or a similar tool) to see the details.
A migration object template has three main tabs – Introduction, Field list and then following this the different tabs for the data itself. The introduction tab provides a general introduction about data migration templates. The field list tab has the list of field that the downloaded template contains.
11) Navigate to the field list tab in the template opened in excel. Upon scrolling down a bit, you will observe that the custom field we added is available in the field list. This means that using this template, we can already populate the custom field data along with the other standard data fields for the customer master.
Do take note of the “Importance” column in the field list tab. This column will tell you which fields are mandatory (for each of the sheets (tabs) in the template) to be populated in order to ensure successful migration of data to the S/4HANA cloud system.
12) In our example, let’s try to populate some sample data for the customer master along with our custom field. For purpose of simplicity, we will populate the mandatory fields and proceed with the migration of data. For demo purposes, we will populate a single row of data only in the template.
13) Back to the migration cockpit. Now is the time to upload the template that you filled with the sample data. Click on the “Upload file” button and browse the template file that you filled.
14) On the subsequent popup, click on “Upload” after selecting the file.
15) If the mandatory data is not filled in the sheets you selected, the system will provide an error. If this is not so and the data is populated, the system will provide a message that the file was successfully uploaded.
16) As of now, the status of the migration object is shown as “Not Active”. Select the line and see that the “Activate” button will be activated. Click on the “Activate” button.
17) Post activation, the “Start Transfer” button will be enabled. Click on it to start the data transfer process.
18) Click “OK” on the subsequent warning popup, if any.
19) The migration process will start, and a status will be shown. It goes through the steps of data validation, conversion, simulation and final import of the values from the template file.
Once the status is 100%, click on Close
Take note of the messages that might be displayed on finishing the previous step. Information messages can be ignored but in case there are errors, act on them accordingly. Click on “Next” to proceed.
20) In the next step, If there is a need to convert values, please do so. This is not the case in our example. Select all the lines and click on “Confirm Mapping values”
Please note that the values used in this mapping step might be specific to your customer/organization requirements. It is not covered in detail here. You may have to process each of the tasks displayed through the “Process task” button.
Click on Next to proceed.
21) The next step is “Simulate Import”. While performing live data migrations, it is extremely recommended to execute the simulation to ensure everything is alright with before data is populated into the system. Once done, there is no revert option available in the migration cockpit and any deletion of the data will have to be done manually. Click on “Close” once the simulation is complete.
22) Once there are no errors from the simulate step, the data is then ready to be migrated into the S/4HANA Cloud system. Click on Next to continue.
23) In our example, there are no errors so the data import is successful.
24) We now need to verify that the customer from the sample file is created, and more so, the custom field populated in the file is visible in the system. For checking this, navigate to the “Manage Business Partner Master Data” app and search for the customer number entered in the file.
The pre-requisite here is that you have already added the custom field to the UI on this app. Please refer to the link mentioned earlier in this blog to see how to add a custom field and enable it on the UI (fiori application).
The above screenshot shows that the data migration was successfully able to populate the custom field. One thing to note in our example is that the customer number is not the same as what was specified in the file. This is because in my example, the internal numbering of the customer master was used. Also, the data in the custom field looks truncated because it is created as a text field with length 10 and we specified a value of larger length in the file.
Hope this blog is helpful to understand the Data migration cockpit in general, with special emphasis on how to use custom fields with it.