I’m writing this blog to explain in detail the process of migrating Business Partner Customer Master via the Migration Cockpit in S4 HANA 1709.
With the introduction of S4 HANA and its different iterations (1510, 1611 and 1709) we found out that LSMW will no longer be supported for data migration. As a result, there is a majority of master data that can no longer be migrated via LSMW. However, during our implementation of S4 HANA 1709 we discovered that LSMW can still be used to migrate some data from legacy system.
How do we discern between objects that can be migrated via Migration Cockpit and LSMW? It’s quite easy. All objects that are provided within the Migration Cockpit framework for migration cannot be migrated via LSMW. For e.g. the list of objects in MC 1709 are;
|Business Object Name||Area||Business Object Type||Migration Cockpit Object Name||Technical Object Name|
|Activity Type||CO||Master data||Activity type||SIF_LSTAR_CREATE|
|Cost Center||CO||Master data||Cost center||SIF_KOSTL_MASTER|
|Activity Price||CO||Master data||Activity price||SIF_ACT_PRICE|
|Internal Order||CO||Transactional data||Internal order||SIF_INTORDER|
|Profit Center||FI||Master data||Activity price||SIF_PRCTR_MASTER|
|Bank Master Data||FI||Master data||Bank||SIF_BANK_MASTER|
|Customer||FI, SD||Master data||Customer||SIF_CUSTOMER|
|Customer||FI, SD||Master data||Customer – extend existing record by new organizational levels||SIF_CUST_EXTEND|
|Supplier||FI, MM-PUR||Master data||Supplier||SIF_VENDOR|
|Supplier||FI, MM-PUR||Master data||Supplier – extend existing record by new organizational levels||SIF_VEND_EXTEND|
|Accounts Receivable (Customer) Open Item||FI||Transactional data||Accounts receivable (Customer) open item||SIF_AR_OPEN_ITEM|
|Accounts Payable (Vendor) Open Item||FI||Transactional data||Accounts payable (Vendor) open item||SIF_AP_OPEN_ITEM|
|Fixed Asset||FI-AA||Master data + Transactional data||Fixed asset incl. balances||SIF_FIXED_ASSET|
|G/L Account Balance||FI||Transactional data||G/L balance||SIF_GL_BALANCES|
|G/L Account Open/Line Item||FI||Transactional data||G/L open/line item||SIF_GL_OPEN_ITEM|
|Exchange Rate||FI||Master data||Exchange rate||SIF_EXCH_RATE|
|Inventory Balance||MM-IM||Transactional data||Material inventory balance||SIF_INVENTORYBAL|
|Material Master||LO-MD||Master data||Material||SIF_MATERIAL|
|Material Master||LO-MD||Master data||Material long text||SIF_MAT_LONGTEXT|
|Material Master||LO-MD||Master data||Material consumption||SIF_MAT_CONSUMP|
|Material Master||CO||Master data||Exceptional case: Material Price Chng for global currencies||SIF_MATPRICE_CHG|
|Material Master||MD||Master data||Material – extend existing record by new organizational levels||SIF_MAT_EXTEND|
|Material Master||CA-CLF||Master data||Material classification||SIF_CLF_MAT|
|Material Master||QM||Master data||Material inspection type *||SIF_INSP_TYPE|
|Material Master||SLL-LEG||Master data||Material – Commodity code||SIF_MAT_COMMCODE|
|Purchasing Info Record||MM-PUR||Master data||Purchasing info record with conditions||SIF_PURCH_INF_V2|
|Purchasing Info Record||MM-PUR||Master data||Purchasing info record||SIF_PURCH_INFREC|
|Purchase Order||MM-PUR||Transactional data||Purchase order (only open PO)||SIF_PURCH_ORDER|
|Pricing Condition||SD, CO, MM-PUR||Master data||Pricing condition||SIF_CONDITIONS|
|Contracts (Purchasing)||MM-PUR||Transactional data||Purchasing contract||SIF_CONTRACTS|
|Scheduling Agreement||MM-PUR||Transactional data||Scheduling Agreement||SIF_SCHED_AGRMNT|
|Source List||MM-PUR||Transactional data||Source list||SIF_SOURCE_LIST|
|Sales Order||SD||Transactional data||Sales order (only open SO)||SIF_SALES_ORDER|
|Sales Contract||SD||Transactional data||Sales contract||SIF_SD_CONTRACT|
|Batch||QM, SD, PP-PI||Master data||Batch (if Batch is unique at material level)||SIF_BATCHES|
|Bill of Material (BOM)||PP||Master data||Bill of material||SIF_BOM|
|Work Center||PP, QM||Master data||Work center||SIF_WORK_CNTR|
|Functional Location||PM||Master data||Functional location||SIF_FUNC_LOC|
|Maintenance Task List||PM||Master data||Equipment task list||SIF_EQUI_TL|
|Maintenance Task List||PM||Master data||Functional location task list||SIF_FLOC_TL|
|Maintenance Task List||PM||Master data||General task list||SIF_GENMT_TL|
|Maintenance Plan||PM||Master data||Maintenance plan||SIF_MAINT_PLAN_2|
|Commercial Project Management (CPM)||CA-CPD||Master data||CPM project||SIF_PROJECT|
|Inspection method||QM||Master data||Inspection method||SIF_INSP_METHOD|
|Master inspection characteristic||QM||Master data||Master inspection characteristic||SIF_MSTR_CHAR|
|QM catalog code group/code||QM||Master data||QM catalog code group/code||SIF_QM_CATALOG|
|Inspection Plan||QM||Master data||Inspection plan||SIF_INSP_PLAN|
|QM selected set||QM||Master data||QM selected set||SIF_SELECTED_SET|
|QM selected set code||QM||Master data||QM selected set code||SIF_SELSET_CODE|
|TRM – Financial Transaction||FI-FSCM-TRM-TM||Transactional data||TRM – Foreign exchange spot/forward transaction – contract||SIF_TR_FX_TR|
|TRM – Financial Transaction||FI-FSCM-TRM-TM||Transactional data||TRM – Foreign exchange swap – contract||SIF_TR_FX_SWAP|
|TRM – Financial Transaction||FI-FSCM-TRM-TM||Transactional data||TRM – Interest rate instrument||SIF_TR_IR_INSTR|
|TRM – Financial Transaction||FI-FSCM-TRM-TM||Transactional data||TRM – Interest rate swap||SIF_TR_IRDE_SWAP|
“Getting started with the S/4Hana Migration Cockpit (OnPremise)” (Jörg Knaus, 2017. https://blogs.sap.com/2017/02/28/getting-started-with-the-s4hana-migration-cockpit-onpremise/)
From this list we can infer that consultants/users working on Sales and Distribution can migrate Business Partner Customer Master via Migration Cockpit, but for Condition Master migration standard LSMW recording can be used. Along with Condition Master I have also migrated Batch Search Strategy via LSMW on 1709 on-premise.
To get started with Business Partner migration, the trick is in the template. Migration Cockpit provides structured migration templates; such is also the case for Customer Master and Customer Master Extension.
The Customer Master template contains a number of sheets, each sheet has mandatory fields marked with (*) which must be filled. One of the mandatory fields is the Customer Number field.
In most cases I’ve seen and actually used internal number assignment for customer master in ECC 6.0 all EhP versions. However, after the introduction of Business Partner and Migration Cockpit there was a bit of confusion with regards to Internal or External Number assignment. On one hand Business Partner Configuration (will explain in detail in another blog) Internal Number assignment is allowed, whereas the migration cockpit template requires a customer number as a mandatory field.
(There is a reason for this customer number to be mandatory on the template; it serves as the unique identifier to link data in all sheets to the general data in the first sheet. This is further explained below with screenshots).
During our project, the client’s requirement was for Internal Number Range for various Customer Account Groups. We had configured the Business Partner accordingly, but the real challenge was getting those numbers on the template or to have the migration cockpit generate the internal numbers, we also needed a unique identifier to link the data between sheets. This was achieved by assigning a number series to the customers in the same range as the Internal Number. For e.g. if the internal number range was based on 10 digits 1999999999, then we assigned 0000000001 to the first customer.
We had also tried assigning the actual internal number range (based on assumption) and the data was migrated with the same numbers, however the above was found to be an easier and risk free method.
If custom account groups (Z account groups) are being used instead of the standard. Then, the same can be mentioned in BP Grouping and Customer Account Group fields and the data will be mapped accordingly.
For migration you do not need to fill all sheets with data, as you can see in the screenshots I have coloured a few sheets red, these are the sheets that I did not need any data from. We are going to maintain minimal data for the creation of this customer master.
This is all the data maintained for General Role. Moving on to the sales area data;
Note the customer number is same as provided in the general data. Fill in the whole of sales area data in this sheet and move to the Sales Partner Sheet.
All customers are created with four (default) partner functions (additional partner functions can be added as required) in this sheet the partner roles are maintained as below;
The customer numbers are repeated four times to assign each partner role to that customer. Similarly, the Customer ID is repeated again in the next column and with it the Partner Description is provided.
After this we move to the Company Code Data.
Our template is now set with minimal data to create a Customer Master that can be used to process Sales Documents.
Create a migration cockpit project for Business Partner Migration.
We are using the on-premise edition of S4 HANA 1709.
Within each project, you can activate one or multiple migration objects.
Once the migration object is created, you can start by downloading the master data template and upload the files for import
I faced problems with the template at this stage, as I had downloaded a template from a different migration object and provided that template to the client to maintain Master Data. When I tried to upload that same template on another/new migration object, I received an error regarding the active version for that particular migration object. To overcome this, you have to download the template from the active migration object and maintain the same data in the active sheets (we copy pasted everything from the maintained templates to the active templates).
Now upload the active template to the migration object.
Select and activate the file, then start validation by clicking “Start Transfer”.
Post validation, any errors, warnings, or information messages are displayed in the notification section.
I had purposefully left some incorrect data on a few of my sheets, in this case you have to remove this data from the template and go back to step one. First deactivate the file, delete it, then re-upload the file, activate and re-validate.
Confirm mapping values from the file to the values on SAP.
The template contains an external number for the customer; however, we need internal number assignment so the mapping is maintained as below;
Click on save and the internal numbers will be generated in sequence.
Click next to simulate import of the file.
Any errors, warnings, information messages will be displayed in the notification section.
Click next to Execute Import.
Once completed click on Finish to complete migration of Business Partner Customer Master.
This concludes the migration of Business Partner – Customer via the Migration Cockpit.
Please let me know in your comments if this was useful. Also, do share your ideas/suggestions to make this process better and easier, or if I have missed anything please do let me know.