The S/4HANA Migration Cockpit is available from S/4HANA Release 1610 in the OnPremise Version.

As it is the first Version, i don’t have too much expectations, but i am sure we will see very interesting updates in the future.

Basically, it is a Web Based Tools to migrate Legacy Data into S/4HANA. It allowes to Download predefined Excel Sheet-Templates, so you can “easily” extract legacy data into this format and upload in S/4Hana by using the Migration Cockpit. Basic Mapping Functionality is provided (e.g. Map Unit of Measure Codes and so on) but don’t expect too much here yet.

Target group seems to be smaller and medium businesses (SMB). The handling of the Import Process and Validations are made very easy (“cloud style”)

To Import the Data, the SAP Standard BAPIs are used. There is an error Log provided with informations on Warnings or Errors.

As there is already a number of Standard Objects Available (see below)



Transaction Codes

LTMC Migration Cockpit

LTMOM Migration Object Modeler


Existing Documentation

SAP Help



Best Practice Explorer S/4Hana OnPremise, Data Management:

Data Migration to S/4HANA from File (BH5)

Data Migration to S/4HANA Enhancements (BH4)


Migration Objects


Business Object Name Area Business Object Type Migration Cockpit Object Name Technical Object Name
Activity Types CO Master data Migration of Activity types (FILE2S4) SIF_LSTAR_CREATE
Cost Center CO Master data Migration of Cost centers (FILE2S4) SIF_KOSTL_MASTER
Activity Price CO Master data Migration of Activity prices (FILE2S4) SIF_ACT_PRICE
Internal Order CO Transactional data Migration of Activity prices (FILE2S4) SIF_INTORDER
Profit Center FI Master data Migration of Profit centers (FILE2S4) SIF_PRCTR_MASTER
Bank Master Data FI Master data Migration of Banks (FILE2S4) SIF_BANK_MASTER
Customer Master FI, SD Master data Migration of Customer (FILE2S4) SIF_CUSTOMER
Vendor Master FI, MM-PUR Master data Migration of Vendor (FILE2S4) SIF_VENDOR
Customer Open Items FI Transactional data Migration of Customer open items (FILE2S4) SIF_AR_OPEN_ITEM
Vendor Open Items FI Transactional data Migration of Vendor open items (FILE2S4) SIF_AP_OPEN_ITEM
Fixed Asset incl. Balances FI-AA Master data + Transactional data Migration of Fixed assets (FILE2S4) SIF_FIXED_ASSET
G/L Account Balances FI Transactional data Migration of G/L balances (FILE2S4) SIF_GL_OPEN_ITEM
G/L Account Open Items FI Transactional data Migration of G/L open items (FILE2S4) SIF_GL_OPEN_ITEM
Exchange Rate FI Master data Migration of Exchange rates (FILE2S4) SIF_EXCH_RATE
Inventory Balances MM-IM Transactional data Migration of Material inventory balances (FILE2S4) SIF_INVENTORYBAL
Material Master LO-MD Master data Migration of Materials (FILE2S4) SIF_MATERIAL
Material Long texts LO-MD Master data Migration of Material long texts (FILE2S4) SIF_MAT_LONGTEXT
Material Consumptions LO-MD Master data Migration of Consumptions (FILE2S4) SIF_MAT_CONSUMP
Purchasing Info Record MM-PUR Master data Migration of Purchasing info records (FILE2S4) SIF_PURCH_INFREC
Purchase Order MM-PUR Transactional data Migration of Purchase orders (only open) (FILE2S4) SIF_PURCH_ORDER
Pricing Conditions SD, CO, MM-PUR Master data Migration of Pricing conditions (FILE2S4) SIF_CONDITIONS
Contracts (Purchasing) MM-PUR Transactional data Migration of Purchasing contracts (FILE2S4) SIF_CONTRACTS
Source List MM-PUR Transactional data Migration of Source lists (FILE2S4) SIF_SOURCE_LIST
Sales Order SD Transactional data Migration of sales orders (only open) (FILE2S4) SIF_SALES_ORDER
Batches QM, SD, PP-PI Master data Migration of Batches (FILE2S4) SIF_BATCHES
Bill of Material (BOM) PP Master data Migration of Bill of materials (FILE2S4) SIF_BOM
Work Center PP, QM Master data Migration of Work centers (FILE2S4) SIF_WORK_CNTR
Equipment PM Master data Migration of Equipment (FILE2S4) SIF_EQUIPMENT
Equipment Task List PM Master data Migration of Equipment task lists (FILE2S4) SIF_EAM_TASKLIST
Functional Location PM Master data Migration of Functional locations (FILE2S4) SIF_FUNC_LOC
Characteristics CA Master data Migration of Characteristics (FILE2S4) SIF_CHARACT
Classes CA Master data Migration of Classes (FILE2S4) SIF_CLASS


Migration Process

In the first Screen you can create or open a Migration Project.


then you can activate one or multiple migration objects


Now Open the Migration Object

you can look at the documentation of the migration object

you can Download an Excel Template.


Now fill the Excel with you data


and Upload into the Migration Cockpit


select and activate the File


now start Transfer (migrate to S/4 Hana):

First the Data is validated


when finished 100 %, click on close

now you can see the notifications (warnings/error messages):

Choose next to perform the Value Mappings (Convert Values)


if a value from the excel sheet is found for the first time, you have to confirm or add a value mapping:

enter a new Value (EV_xxx) and/or click on confirm


now click on next for the simulation and then next for the import (same procedure as validation)


all actions are performed in background (as a batch-job/SM37), but you can wait until process is finished 100 % and then immediately see the results or let it run in background and come back later.



Excel Format

The Excel Templates are in XML Format

it looks like this

<?xml version=”1.0″?>

<?mso-application progid=”Excel.Sheet”?>

<Workbook xmlns=”urn:schemas-microsoft-com:office:spreadsheet”






<DocumentProperties xmlns=”urn:schemas-microsoft-com:office:office”>



<LastAuthor>Heiko Herrmann</LastAuthor>






<CustomDocumentProperties xmlns=”urn:schemas-microsoft-com:office:office”>



<VERSION dt:dt=”string”>S4CORE 101  – 06.01.2017</VERSION>

<SYSTEM dt:dt=”string”>EAD / 700</SYSTEM>

<LANGUAGE dt:dt=”string”>D</LANGUAGE>


<OfficeDocumentSettings xmlns=”urn:schemas-microsoft-com:office:office”>





<Row ss:AutoFitHeight=”0″>

<Cell ss:StyleID=”s79″><Data ss:Type=”String”>D1-100011-02</Data></Cell>

<Cell ss:StyleID=”s79″><Data ss:Type=”String”>EN</Data></Cell>

<Cell ss:StyleID=”s79″><Data ss:Type=”String”>ASF1400</Data></Cell>

<Cell ss:StyleID=”s79″><Data ss:Type=”String”>E</Data></Cell>

<Cell ss:StyleID=”s79″><Data ss:Type=”String”>9999</Data></Cell>

<Cell ss:Index=”7″ ss:StyleID=”s79″><Data ss:Type=”String”>X</Data></Cell>

<Cell ss:Index=”9″ ss:StyleID=”s79″><Data ss:Type=”String”>98</Data></Cell>

<Cell ss:Index=”11″><Data ss:Type=”String”>01</Data></Cell>

<Cell ss:StyleID=”s79″><Data ss:Type=”String”>PCE</Data></Cell>

<Cell ss:Index=”14″ ss:StyleID=”s79″><Data ss:Type=”String”>10</Data></Cell>


you can find several documentations in the internet:




i faced problems with ‘SPACE’ for empty columns, they should be <null> otherwise the ss:Index gets confused and the Values are linked to the wrong columns when importing into the migration cockpit, even if they are in correct order


Import Processing

It helps if you are familiar with the Standard BAPI Structures and SAP Input Data (for example how to create a material master)

Abap Skills are not required, but ABAP Debugging skills are useful for the Root Cause Analysis in cases where the Error Log isn’t enough.



The BAPI used for the Data Inport can be found in Transaction LTMOM

you can also see how the input fields are mapped.

currently i was not able to change the standard mappings, i can only add customer fields.


you can set an external Breakpoint (external as the import is always performed by a batch job)

here you can also save the data (after mapping/conversion) as testdata for SE37 (right click on toolbox)  if you need to do some troubleshooting


in some cases i added an ‘implicit enhancement’ at begin of function (ABAP Enhancement Concept) in the importing BAPI to change the conversion.

(quick and dirty?)


Generated ABAP Objects

The Migration Cockpit generates ABAP Function Modules for the Conversion and the Import.

These can be Debugged (or maybe even “enhanced”?)

if you come from LSMW or other ABAP Migration Tools you will find yourself familiar shortly.


Fugr /1LT/S4H500000000000003

INCLUDE /1LT/LS4H500000000000003U01.
INCLUDE /1LT/LS4H500000000000003U02.
INCLUDE /1LT/LS4H500000000000003U03.
INCLUDE /1LT/LS4H500000000000003U04.

FUNCTION /1LT/S4HIL_500000000000003.
*”*”Lokale Schnittstelle:
*”      LOG_ERROR
* Project          : ZSIN_MIG_001
* Subproject       : ZSIN_MIG_001
* Migration Object : Z_MATERIAL_001
* Layer            : Conversion layer
* Generated        : 13.02.2017 07:53:07 by SENS_MM
* Generate time related processing   = X
* Generate interlinkage processing   = –
* Generate IMPORT FROM MEMORY        = –
* Generate EXPORT TO MEMORY          = –
* Generate LDU initialize            = X
* Generate Call next function module = –

*** <__UNIT_0001__> ************************************
*** Targetstructure           : HEADER
*** Primary relation source   : S_MARA
*** Primary relation type     : 1:1
*** Primary relation number   : 0001
* CONVERSION: Primary relation read
” init receiver work area
CLEAR _actual.
_actual-sstruct1 = ‘S_MARA’.
_actual-sddicname = ”.
* CONVERSION: Init receiver work area
CLEAR l_mapping_error.
* CONVERSION: Increment transaction count

* CONVERSION: call field processing routine
* BWP: Increment record count






FUNCTION /1LT/S4HOLO_500000000000003.
*”*”Lokale Schnittstelle:
*”     VALUE(IM_BEHAVIOUR) TYPE  NUM1 DEFAULT                    1
* Project          : ZSIN_MIG_001
* Subproject       : ZSIN_MIG_001
* Migration Object : Z_MATERIAL_001
* Layer            : Outer layer out (Function Module)
* Generated        : 13.02.2017 07:53:34 by SENS_MM
Job-Controller Functions: (for Debugging purposes)


METHOD             START_ACTIVITY              CL_DMC_WDA_MIG_JOBS===========CP                          CL_DMC_WDA_MIG_JOBS===========CM003


further Tips

Structure XXXX: Number of recipient records generated 0000000000 (or less than in input file)


the Migration Cockpit is storing all created objects in Table DMC_FM_RESTART, so if your object number, for example material number, is in this table, it will be skipped and not imported again.

you can delete the entry with transaction code se16



also if a job with the name /1LT/LOAD… is scheduled or already running, the import will not start

(but shows no error message)

verify with SE37

Check from ABAP Coding

START_DATA_LOAD (CL_DMC_WDA_MIG_CONTR) CHECK cl_dmc_act_rec=>get_active_and_scheduled_jobs( iv_ext_id        = lv_ext_id
iv_activity_type = cl_dmc_act_rec=>…


for Material Views Check Note

2145027 – FAQ: Maintenance status in data transfer



Open Items

Export Data from R/3 Source System? in the online help there is a remark: In the ABAP-based SAP source system, you have installed the DMIS add-on. You can download the add-on from the SAP Software Download Center at http://support.sap.com/swdc using the following path: Installations and Upgrades  A – Z Index  L  SAP LT Replication Server  SAP LT Replication Server 2.0 .

how can i export the data for the Migration Cockpit?


Best-Practice how to fill the Excel/XML Files with legacy data


The Excel-Templates are very nice, Examples with Best-Practice Data would help understanding how to fill the values.


how to create Additional Mapping Rules like we know this from LSMW?

Create Additional Migration Objects


Create Contact Persons for Customers (i could assign them to the Customer, but i had to to a workaround to create the Contact Person’s Business Partner Number)


Mass/Data, Performance, parallel Processing, memory consumption, limitations…


strangely i could not find any oss notes, nor any blogs, is nobody using the tool yet?


so maybe i will write another Blog…








To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Patrik Sundeborn

    Hi Jörg,

    Thank you for sharing your knowledge. I´m also trying to figure out this tool, so it is nice to verify some of my own findings and also catch some of yours.

    An issue I´m now facing is how to add a new “TAB” of data to an object. For example, If you look at the Customer Master Object you will see that none of the fields within “TAB” Customer Loading is pre mapped. To map the regular fields with in this TAB I see no problem with, but how do you map “CVI Run ID…”?

    For other pre mapped TABs it look like this:

    Any Idea how to perform the assignment?


    Br Patrik

    1. Jörg Knaus Post author

      hi Patrik

      the node ‘Customer Loading’ also has no mapping to an Input structure, so you can’t even assign fields to unloading Point etc, currently it looks like you can only Display the structure mapping and not Change it, i expect this will be a Feature for the future, we’re currently patching to fps1 i will check if something changes there

      i think at the Moment you will have to find a Workaround (modfiy generated mapping function or enhancement of the function RFC_CVI_EI_INBOUND_MAIN or separate program to load the Customer Loading








      1. Ruta Londhe

        Hello Jörg,

        First of all, thanks a lot for such an informative article..!


        Question – Could you please guide us through the steps to modify/enhance existing Migration Objects using LTMOM?

        Client Requirement – In Functional Location migration object (Migration of Functional locations (FILE2S4)), we don’t have ‘Functional Location Description (IFLOTX-PLTXT)’ field and client has requested to add this field in the Migration Object.

        I have added this field in Source Structure, however, I am not able to modify Target Structure.

        Request you to please let me know how should I proceed.


        Thanking in advance,



  2. Sergiu Apostol

    Hi Jörg,


    Great post and thank you for sharing the information. Like Patrik, I am also trying to figure out this tool.

    Were you able to find out if there is a standard available way to export the data for the migration cockpit so far ?


    Best regards,


  3. James Gardner

    Hi Jörg,

    Thanks for your blog, it was most helpful.  I noticed on the list of objects that you have Pricing Conditions (SIF_CONDITIONS). On our version of S/4HANA 1610 we don’t have this one.  Was this list from FPS1?



    1. Frank Finkbohner

      Hi James,

      The API used for conditions is only available in cloud, the migration object is therefore not available in on-premise. it seems that someone just forgot to remove the entry in the table.

      To get a more valid list you can refer to the test script for Cloud 1705


      This document contains both the cloud and the OP objects that are delivered 2nd(!) table in chapter 3 end of page 10.




    1. Jörg Knaus Post author

      the customer and vendor object are creating Business Partners, i think you also can add additional roles. the used function module RFC_CVI_EI_INBOUND_MAIN  can do all Kind of Business Partners, but the mapping for customer/vendor object seems kind of hardcoded (so far) and don’t provide all fields available. we used enhancements in the function RFC_CVI_EI_INBOUND_MAIN  to perform additional mappings, or you better create an individual abap Report or lsmw object if.


  4. Ramesh Babu Nagarajan

    Thx  Jorg Knaus for this informative blog.

    As you obviously pointed out this new tool is infancy and will get developed as further versions come out. Particularly the presence of excel templates was a good addition.

    Now for customers who already use migration tools which takes care of all the mapping, validation and other migration requirements and load ready data is made available. Can LTMC be used only as an upload tool? Looks like it is possible.

    Also in a typical migration project we have lot of data changes as well as loading of data in multiple steps. Are those supported in this tool?

  5. Ruta Londhe

    Hello Jörg,

    First of all, thanks a lot for such an informative article..!


    Question – Could you please guide us through the steps to modify/enhance existing Migration Objects using LTMOM?

    Client Requirement – In Functional Location migration object (Migration of Functional locations (FILE2S4)), we don’t have ‘Functional Location Description (IFLOTX-PLTXT)’ field and client has requested to add this field in the Migration Object.

    I have added this field in Source Structure, however, I am not able to modify Target Structure.

    Request you to please let me know how should I proceed.


    Thanking in advance,



    1. Jörg Knaus Post author


      what release/fps are you on? i haven’t used functional Location object so far, but i see the field

      S_FUN_LOCATION-KTX01 Description of technical object in 1610 FPS1 . In FPS1 you can also add mapping rules on field Level in LTMOM see screenshot:

      but i still could not create new structure assignements in case no source structure is mapped.

  6. Chirag Gupta

    Hello Jörg,


    I am trying to load GL_Open_Item to S4H system. After finishing migration project, I get the following error for object Migration of G/L open items (FILE2S4):

    1. Error while generating runtime objects for Z_GL_OPEN_ITEM_03I
    2. Function group S4J910000000000058 could not be created

    Can you please help me out?

    Thanking in advance.


    1. Jörg Knaus Post author

      hi chirag

      what Release/FPS are you on?

      i tried with 1610 FPS1 and i could generate it without error.

      you can go to LTMOM, select your Migration Object, there you will find a generate button. press it and you should see the error message

  7. Nilesh Hatkar

    Hi Jorg

    The blog is very informative. Thanks for this !

    I can see an open item already regarding “Create Additional Migration Objects”. I had couple of questions around this.

    – Is it possible in current version or will it be possible in future version to configure and migrate your own object ?

    – If not , then more information about which additional objects are being planned by SAP in next release and  approximate timeline ?


    Best regards




    1. Jörg Knaus Post author

      in the current Version i could not create own objects, but there already might be functions or Reports which are not shown yet on the webdynpro screen

      i have no further info on planned functions, i will post an update if i find something


  8. Ashok Yekbote

    Hi Jorg,

    I am new to S/4 HANA, and I am trying to upload Customer Master details through Migration Cockpit, I have followed All the steps as described, and solved the Errors one by one at the end the progress says 100 % and no errors are there, but I could not see any records in the System being created ,when I am trying to Search with Cust names etc…and the Number of records are still same ( I mean the records are not created, )

    could you please help me, where exactly the problem is, looking forward to your Reply


    Thanks in Advance

    Ashok Yekbote.

    1. Jörg Knaus Post author

      please look at the protocol of the import (informations, not only Errors), maybe all your records have been skipped? (number of records transfered ok?)

      you can verify Table DMC_FM_RESTART, so if your customer number ist in this table, it will not be imported again, you can delete the entries with transaction code se16

      double check if a job with the name /1LT/LOAD… is scheduled or already running, in this case the import will not start (but shows no error message)


  9. Oluwafemi Sanwo

    Hi Jörg,

    I would like to ask your advise, I would like to Update BP. I did an upload of Business Partners and Suppliers this worked fine.

    However, I have a requirement to extend these suppliers to a different company code. From the Documentation of the FM (RFC_CVI_EI_INBOUND_MAIN) it was mentioned that the FM only supports insert only. Hence I would like to know how best to resolve this issue.



  10. Federica Quaranta

    Hi Jorg,

    I’m using for the first time the new cockpit, creating customers.

    I’m facing two problems:

    1. transaction LTMOM is not working since I have no activites available: I select my migration object and corresponding project but I can’t see any activities
    2.  in the web migration tool, I managed to create the business partner with only general data, but if I try to upload a file with more than one sheet, e.g. company data or sales data, I get the error:

  11. Federica Quaranta

    Hi Jorg,

    thank you for your clear explanation.

    I’m using for the first time the kigration cockpit but I am facing two errors:

    1. LTMOM transaction seems not to be working; I select the migration object and the project but no activities appear

    2. I managed to create a new business partner from the web tool, but only in general data; if I try to upload a file with two sheets, e.g. general data and company data, it doesn’t recognize the key field and give me the error:

    In the sheets the key is the same customer number, so I cannot understand what is the problem.

    Thank you for your kind answer.

    1. Jörg Knaus Post author

      i always hat all the activities listed by Default in ltmom so i did not perform any specific Actions here. do you have all authorizations? maybe just try another object, and generate/activate it using ltmc then check again in ltmom. what FPS1 patchlevel are you on?

      IN THE COMPANY DATA,  DID YOU REPEAT/FILL THE KEY FIELDS (Customer Number? and Company Code)?

      ETE;80;0;C;80;0 ETE;80;0;C;80;0
      Customer Number*

      Typ: Text
      Länge: 80

      Company Code*

      Typ: Text
      Länge: 80

      22334 1000
    2. Jörg Knaus Post author

      i think you have to prepare and upgrade you Migration object before you can select the activities

      so just click on the advaned activity Tasks on the right side

    3. Frank Finkbohner

      Hello Federica,

      I hope you had a look at the latest test script before filling the templates.


      The error above is only thrown if the keys are different in both sheet The template is an XML file and not an Excel file and it is therefore very sensitive. In most of the cases the cell format of the cell value is different. This means they look the same but may be in the general sheet it is formatted as a number and it the company code it is formatted as text.

      This normally happens if you copy & paste values into the sheet from another Excel including cell formatting or formulas. If you copy values into the template you must use the paste option “Value only”. Otherwise the integration of the XML gets corrupted and this will exactly cause such errors.

      The best is to download a new fresh template and then to copy only the values into this new sheet.

      And also try to avoid copying empty lines into the sheet.

      It could also be that you have addtional empty lines in your company code sheet. This you can check in the file staging of the LTMC if you “Open” the file and check if you can see empty lines.



  12. Federica Quaranta

    Thank you, Jorg.

    The only authorization roles I set in my user are:


    Do I need something more?

    I tried with other object and I fill the correct data in the file, so I cannot really understand.

    My pathc level is FPS01.

    Thank you again.

  13. Jonathan Buitrago


    Hi Jörg

    I´m Trying to dowload the template of object migration but I have two problem.

    1. Template excel don’t download, I have done this for two days but the progress bar don’t change. always appears in 10%

    2. I can’t see the documentation of migration object.

    I have followed the steps as you describe them, but I don’t know which is problem.

    Could you give me your opinion about this?

    Thanking in advance,


    1. Jörg Knaus Post author

      can you try to log in in english maybe you find the documentation there.

      if you click on download Excel template the browser should immediately download the template, theres no Progress bar here, maybe this is a browser or popup blocker Problem?


  14. SAPer Yang


    I am excited to see this blog .

    But when i execute LTMC ,i get some error as below. Seems some configuration is required. Can you give me some tips on the configuration ?

    Appreciated it very much.




    1. Jörg Knaus Post author

      the webdynpro is not active or sso is not active, you can activate these services in /NSICF (myssocntl and dmc_wda)

      this are typical Basis Settings


      the URL generated by LTMC is




Leave a Reply