Technical Articles
Business Partner – Customer Upload via LTMC
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 |
Routing | PP | Master data | Routing | SIF_ROUTING |
Equipment | PM | Master data | Equipment | SIF_EQUIPMENT |
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 |
Characteristic | CA | Master data | Characteristic | SIF_CHARACT |
Class | CA | Master data | Class | SIF_CLASS |
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.
Migration Cockpit:
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.
Thank You.
Great and detailed post!
Tank you for sharing.
Hello Mubeen
thank you for the detailed description.
I have some comments/extensions:
Especially for Business partners you can consider to use the Post-Processing Office for the CVI Customer Vendor Integration. Here you also can get some helpful hints.
Hi,
some very useful hints - thank you.
Regarding the contact person we planned to use an own Grouping for this. So first of all create the BP of Group Contact Person and than use this BP number in the customer master data as address number. As said, this is currently our plan, it isn´t tested yet.
Have you already done the migration? I am wondering how we can migrate customers and vendors, using the same BP number.
Greetings Claudia
Hi, Thank you for your post, it's quite helpful.
I have a question which confused me a lot, it will be appreciated if you could give some tips. Say I have a Business Partner A, which is my customer, General data、Company Code data and Sales Area data are needed. When uploading this Business partner into sap using Migration Cockpit, do I have to create 3 templates with each of them corresponding to a BP Role, Or Only one template with 3 BP Roles?
Looking forward to your information. Thanks!
Hi Mubeen
Thanks for sharing nice blog.
But it seems Customer migration data template does not contains BP Role so that we can create source customer as business partner in S/4HANA.
How this can be achieved?
Very Nicely written, great effort.
Great effort
I make all number is internal in vendor master but it raise this error
control parameter _cp_ctr_vend_numbrg_s = 00002 (external numbering)
How to change to be 00001 (eternal numbing)
Dear sir.,
Thank you so much for your blog,
I have a question, how to pay freight charges to the freight vendor in S4hana?
Actually, in ECC, There's is an option in MIRO (Planning delivery cost) to pay freight charges, But in S4hana there is no option to pay freight charges to the freight vendor?
also ERS?
So, what is the process to pay the freight charges to the freight vendor?
Note: With respect Bill of landing we can pay
Thank you
Jai
Very nice blog!
I have tried in our project very useful tool .
Cheers
Vyomakesh Bharadwaj Racherla
Hello, thanks for the article, very useful, I have a problem to upload a new project using Customer – extend existing record by new org levels, I Already create a project and use the object, all the task works fine but nothing happened in a ERP, so I deleted the project and try to create a new one. When I try to load de file, the system show me the message “Error al cargar, El nombre del fichero no es valido o el fichero es demasiado grande”. I use the same file, also I download the templante and try again, but the same error.
Please help, I don’t know what else to do.
Hello, thanks for all the information. It has been very helpful.
Right now Im trying to extend existing customers master data to a new sales organization. However, the cockpit migration program sends me the error message
"Source KUNNR = XXXX already transfered to target system" as the customer number already exists, but im trying to extend it to a new sales organization. is it correct to use this tool to extend previous existing customers? does it need a different treatment?
Please let me know.
Error message number is: DMC_RT_MSG 622.
Regards!
Hi, thanks for this article - its really useful to people like us trying to get our head around LTMC migration.
One question - The customer LTMC template does not seem to have all the standard fields available within business partner data in SAP. Is it possible to extend the LTMC template to add those fields? as we need to populate them via LTMC.
Thanks,
Ankit
Hi Mubeen,
This is very informative blog. Thanks for posting.
Question: Do you know how do we add multiple ship to for one sold to party in the template. also how to link contact person for the sold to.
Thanks,
S Shah
Hello,
Thanks for this blog.
It is uncomplete, it does not explain how partner roles are created. in S4 HANA 1709 partner role tab was not covered in LTMC template, and YOU did not explain how partner roles are created. For example, when a customer is only a ship to party, we should not maintain this customer accounting data (partner role FLCU00) however you did not explain how it works.
Hi,
Thanks for the blog.
LTMC is a 'quite good' tool for online processing, also if I still prefer on sapGui and not in Fiori...
But I have a problem:
I have every night, a file with customers to be uploaded extracted from external system,
How to run the upload / verify / create step of LTMC in a background job?
With LSMW it was very easy .....