Skip to Content

LSMW for Master Data upload Simple Explanation (Part – 3)

This blog is in addition to my prior blogs: LSMW for Master Data upload Simple Explanation (Part – 1) & LSMW for Master Data upload Simple Explanation (Part – 2).

In my previous blogs for LSMW, I have mentioned the steps for simple LSMW (i.e., with single Structure). But, this is not the case with all the Masters.

Some of my friends insisted me to write a blog for LSMW Steps for the Masters that are having Multiple/ Hierarchical Structures like Maintenance Task List/ Bill of Material/ Routing/ Inspection Plans etc.

This blog dedicates to those Masters which are having Multiple/ Hierarchical Structures as mentioned above.

As only the certain Steps for hierarchical Structure LSMW differ from Single Structure LSMW, following points are not covered in this blog:

  1. Creating Project, Sub-Project and Object (Part – 1)

  2. Selecting Menu Items (Part – 1)

  3. Maintain Object Attributes (Part – 1)

11. Read Data (Part – 2)

12. Display Read Data (Part – 2)

13. Convert Data (Part – 2)

14. Display Convert Data (Part – 2)

15. Create Batch Input Session (Part – 2)

16. Run Batch Input Session (Part – 2)

The Points that will be covered in this blog will be:

  4. Object Overview and Field List

  5. Maintain Source Structures

  6. Maintain Source Fields

  7. Maintain Structure Relations

  8. Maintain Field Mapping and Conversion Rules

  9. Specify Files

10. Assign Files

Here I have taken the example of LSMW for General Maintenance Task List using Standard Program (i.e., Object – 0490 – Gen. task list, Method – 0000 – Create)

Below I am starting with the explanation of Step 4 assuming that Step 1 – Step 3 are understood from Blog mentioned above:

Step 4 – Object Overview and Field List:

  By pressing the /wp-content/uploads/2014/09/1_533739.png button in the Menu List Screen and then “List” button will show the screens as below:


Here in the “Target Fields” section you will find all the fields segregated in different structures as seen on the screen above (i.e., IBIPTLST – IBIP: Task List Header, IBIPTEXT – IBIP: Long Text, IBIPILOP – IBIP: Task List Operation and so on).

Here for simplicity, we can understand that each structure contributes to each screen (i.e., Here the structure IBIPTLST is for Task List Header, structure IBIPTEXT is for Long Text of Description in Header, IBIPTLOP is for Task List Operation and so on).

Please copy all the fields from different Structures and paste it based on separate in excel as shown in screenshot below. Here copy field RECORDNAME (RECORDNAME is in case of General Task List, If you are creating LSMW for any other master, please select any standard field like RECORDNAME which is present in all Structures) also, as we would require this field to co-relate between different Structures (How will be explained later):


Here I have selected 3 Basic Structures for General Maintenance Task List (i.e., IBIPTLST – Header, IBIPTLOP – Operations and IBIPMPAC – Maintenance Packages) you may select any Structures and their fields you wish to.

Step 5 – Maintain Source Structures:

Before moving to this step, we will just move to Step 7 “Maintain Structure Relations”. We will see the screen as shown below:


This screen shows the hierarchical arrangement of the Target Structures. We have to maintain the same hierarchical arrangement for Source Structure as well.

Now back to Step 5, Click on “Maintain Source Structure” and define the hierarchical Structures as shown below:


After defining the desired hierarchical Source Structures, press enter and press Save.

Step 6 – Maintain Source Fields:

Source fields will be the same which we have listed in Step 4 based on the hierarchical structures.

In SAP, click on “Maintain Source Fields” in the Menu List screen, which will guide you to the screen as shown below:


Select each Structure and press the /wp-content/uploads/2014/09/7_533799.png(Table Maintenance) button which will generate the field definition screen. Copy paste all the excel fields to the screen Structure by Structure.


The fields will look like as shown above. Now, press Save and Back to save this Structure field relation.

Step 7 – Maintain Structure Relations:

This Step is for maintaining relation between Hierarchical Source Structures to Hierarchical target Structures.

Double click “Maintain Structure Relations” in the Menu List screen, which will guide you to the screen as shown below:


Select the first Structure and press /wp-content/uploads/2014/09/10_533803.pngand it will pop-up a dialog box with List of Source Structures you have defined as shown below:


Here select the appropriate Structure which will create a relationship between Source Structure to its respective Target Structure.

Repeat this process for all the Structures you require. Once all the relationship for all Source Structures is created to their respective Target Structures, your screen would look like as shown below:


Please note that not all Structures are required to be defined from the hierarchy, you may create any number of Structures but, you have to make sure that no upper hierarchy is missed. (For ex: I have not created Source Structure for IBIPTEXT i.e., Long Text Line as I don’t require it and it is not an UPPER HIERARCHY to any structure but on contrary, for using Structure IBIPMPAC, I need to create IBIPTLOP even if I don’t need any fields from IBIPTLOP as it is UPPER HIERARCHY to IBIPMPAC)

Once done, press Save and Back.

Step 8 – Maintain Field Mapping and Conversion Rules:

For Mapping Source fields to Target Fields, double click “Maintain Field Mapping and Conversion Rules” in the Menu List screen, which will guide you to the screen as shown below:


As we have copied the fields from the Program/ Recording itself as in Step 4, it will be easy to perform the field mapping in a simple step.

Go to Extras –> “Auto Field Mapping” which will pop-up a dialog box as shown below:


Perform the selection exactly as shown in the screen above and press Enter.

If you have any Date fields in your Field List, it will ask for your confirmation for every individual Fields as shown below and make selection as per your requirement (This is how system will interpret Date further throughout the program):


Press Enter for all the Date Fields and you will find the field mapping for all your Source Fields to Program/ Recording Fields as shown below:


Now, here we have a critical part to take care of in case of hierarchical Structure case.

In Step 4, we had selected field RECORDNAME also. But, here the question would come to your mind that, field RECORDNAME is not present in the Target Field list as it is a Technical Field.

To Show this Field please click on/wp-content/uploads/2014/09/17_533811.png button and select “Technical Field” check box as shown in screen below:


Once selected, you may find all the Technical Fields also displayed such as TCODE, RECORDNAME, etc.

You have to manually assign your Source field RECORDNAME to target field RECORDNAME without making any changes to technical codes already assigned to this field by selecting the field RECORDNAME and clicking on /wp-content/uploads/2014/09/19_533813.pngbutton.

Clicking on /wp-content/uploads/2014/09/19_533813.pngbutton, will pop-up a dialog box as shown below:


Select the field RECORDNAME and repeat the same for all your defined Structures (Please make sure that you select field RECORDNAME from respective Structure only. for ex: RECORDNAME field for IBIPTLST should be mapped with RECORDNAME field for ZIBIPTLST only, for IBIPTLOP with ZIBIPTLOP only and for IBIPMPAC with ZIBIPMPAC only)

In case of LSMW for General Task List, one small change is to be made in TCODE field. Here, standard LSMW program for General Task List has by mistake used TCODE IA01. Please replace IA01 to IA05 by double clicking on TCODE field (Double clicking will raise a warning message to not to change the standard setting. Please select “Yes” and make the necessary changes as guided). Again, please take care that no other changes are made.

Once above changes have been done, your screen would be like as shown below:


Confirm all the Fields are mapped correctly and press Save and Back.

Step 9 – Specify Files:

Here, this Step is having the most changes from what I have explained in my previous blog for single Structure.

Before performing this Step, you need to create your File format with exact field sequence and Structure sequence.

For creating the Format, simply transpose your Excel File fields from column to Row as shown below:


As you can see above, I have created three separate sheets for different Structures, please create separate sheets for all the Structures you are having.

These sheets explain why we have used field RECORDNAME in all the Structures.

Here, I am creating two task lists with five Operations each with Maintenance Package for each operation. That means RECORNAME in first (Header) Structure will have two records (i.e., 1 and 2 for two task lists) in Second (Operation) Structure RECORNAME will have ten records (i.e., five records with value 1 and five records with value 2 for five operations in each task list) and in third (Maintenance Package) Structure RECORDNAME will have ten records for each operation. (Hope I have made it clear!!!)

Now, we have to select only the Data from each excel sheet (please select all the columns even if they are blank) and copy it to separate notepad files as shown below:


Now in SAP, Double click ”Specify Files” in the Menu List screen, which will guide you to the screen as shown below:


Select “Legacy Data – On the PC (Frontend)” and clicking on /wp-content/uploads/2014/09/25_533825.pngbutton will pop-up the dialog box as shown below:


In File field select the Notepad File for First Structure, in the Name Field assign any desired name and make other selections exactly as shown in the screen and click Enter.

Repeat the above process for all your Structure Notepad files. Once done uploading all the files, your screen will be like as shown below:


Press Back and Save.

Step 10 – Assign Files:

Double click “Assign Files” in the Menu List screen, which will guide you to the screen as shown below:


Here,double click on each Structure and select the respective Files for respective Structures.

Once done, your screen would look like as shown below:


Press Save and Back.

For Further process steps mentioned below, please refer to my previous blog post (Part-2) which I have mentioned at the starting of this post:

11. Read Data (Part – 2)

12. Display Read Data (Part – 2)

13. Convert Data (Part – 2)

14. Display Convert Data (Part – 2)

15. Create Batch Input Session (Part – 2)

16. Run Batch Input Session (Part – 2)

Hope I have cleared all your possible doubts by this post.

Would love to solve all the questions that comes to your mind…wish you would comment with the same.

You must be Logged on to comment or reply to a post.
  • Dear Chintan,

    after having seen your exceptional ( !!! ) step-by-step guideline, I have the ambition to try myself with LSMW.

    Thanks for putting this 3 master pieces online!

    Regards from Germany,


  • Hi,

    i was trying to upload data using multiple structure..exactly as mentioned in the post.But while trying to execute the step "creating batch input..",i am getting the error 'source file could not be read/found'.

    i am attaching the screenshots for the same.



    Can you please help in this regard as to where i would have gone wrong.

    P.S. I am a newbie to SAP ABAP and learning through google.

    • Teena Jain

      Thank you for showing your interest and sharing this quetion, but if you go through Step 13 in below blog, it would explain how it is to be tackled:

      LSMW for Master Data upload Simple Explanation (Part - 2)

      Here in File access: Source, you have to select "Application Server" check box then in

      File access: Save  Incorrect data records, you have to select "Presentation Server" check box and also have to mention the values in field Physical file name.

      Hope this solves your query.


        • Teena Jain

          You can give any desired file name, it is just used to store the records for erroneous data to SAP server. You can give your master's name as well.

          It does not have any relevance to any field but rather it just creates a file.

          Hope I have solved your query.


          • i tried what you suggested, and it created a batch session.But while running the session, it is displaying error with regard to the data given.

            I am not basically aware of the transaction - general maintenance task list.

            Here are the screenshots for the same.

            create batch input.png

            create batch input1.png

            execute batch input.png

          • Teena Jain

            This is not an LSMW error.

            As the error itself suggests, you have not maintained the external number ranges for your task lists.

            Please check your settings at the path mentioned below and maintain the external number range if required:

            Plant Maintenance and Customer Service --> Maintenance Plans, Work Centers, Task Lists and PRTs --> Task Lists --> Control Data -->  Define Number Ranges for General Maintenance Task Lists.

            Also, this error not being directly related to LSMW, it might divert the blog's topic here.

            Hence, if you have any further queries, I would suggest you to create a discussion question.

            Hope this input helps.


          • Teena Jain

            Sorry but I didnt mean that your query is out of blogs content.

            I just mean to say that the error which you are getting here is related to General Task List configuration settings.

            I have given you the appropriate steps to solve your query. Please follow them to get the exact solution.

            Also, the last point I mentioned was any further discussion required pertaining to your error may divert the post hence any further questions regarding the same error, I would request you to post a question.

            You may feel free to ask any other questions regarding LSMW.

            Sorry once again if I was wrong in my writtings.


  • Great post!

    I just have one question about the data you put in your example. I understand RECORDNAME for Header (ZIBIPTLST.txt) file and for Operation (ZIBIPTLOP.txt) file, but in Package (ZIBIPMPAC.txt) file, how do you assign records to exact operation?


    1          DIESLGEN ...

    2          DIESLGEN ...


    1          0010     ... - this operation is assigned to first task list

    1          0020     ... - this operation is also assigned to first task list

    2          0010     ... - this operation is assgined to second task list

    2          0020     ... - this operation is also assigne to second task list


    1          T1     - to which operation is that record assigned?

    1          T1     - to which operation is that record assigned?

    1          T1     - etc.

    What if I want to assign 3 packages for operation 0010 from first task list, and 2 packages to 0020 operation from first task list? Which values goes to RECORDNAME field in ZIBIPMPAC.txt to map specific operation?


    Danijel Zović

    • Zović Danijel

      Sorry for the late reply.....

      Its a nice question here from your end.... Have a clear look at the File ZIBIPMPAC.txt, here the number of rows is equal to the number of rows in ZIBIPTLOP.txt file.

      Hence LSMW will have one to one relation in that case.

      If it is not working properly in your case, the alternate solution you can use here is to use one more field to have a link between operation and Package(similar to RECORDNAME).

      If you have a close look on the fields, one field we I have used and which can be used as a link between Operation and Package is TCODE field.

      Map the TCODE field manually both in Operation and Package (but consider this field only for rows comparison between Operation and Package and not as TCODE value).

      Note: The Values of this field (what I have used) can be Operation Number to link between Operation and Packages.

      I have successfully used this field as you can see in the screen shot below:


      Thanks once again for asking this question.

      Please do write if you need any further clarification.


      • Thanks for your replay,

        I have already solved that problem. I created an additional field and I name it RECORDNAME2 on the operation level, and I created an additional field with the same name on the packages level. So that was my connection between operations and packages which is basically the same solution that you propose with TCODE filed.


        Danijel Zović

  • Hi Chintan,

    I am facing issues while uploading Equipment Task List Operations & Components. I am able to read the header details but not operation & components. Please refer the below thread where issue is illustrated in detail with screen shots. Appreciate your help!!!



  • Hello Chintan

    Thank you for the wonderful documents you have created on LSMW.  These are really simple and easy to understand.

    We appreciate your efforts in sharing your knowledge.

    Best Regards


  • Hi all

    I did all what was described here, but during Read step, Task List operations are only written when ARBPL/work center  on header file = ARBPL on all linked operations - but in reality those can differ. Does anyone encounter the same?

  • All,


    Tried to create LSMW to load equipment task list and using standard object 0470 and method 0000 as seen in Picture-1 below.  Source fields maintained as per Picture-2 and maintain files as seen in Picture-3.  But unable to read the source files and refer the Picture-4.  Please advise where I made the mistake.  Tried twice and the same happens. Thanks.





  • Hi ,


    Interesting document and verry usefull, thanks for sharing.

    I have a question , I cannot read the object list data on the 3 level of the hierarchie.

    I use lake mention above the RECORDNAME and TCODE field to make the link between the maintenance plan and the object list , but the object list data is not readed.


    What do I wrong ?


  • Dear Sir,

    Very nice document.

    But is this blog thread still open??

    If so, please can you guide me for uploading routing by lsmw with Standard Batch/Direct Input.

    Kindly consider.

    Thanks in advance.

  • This document still very helpful for all SAP consultant even SAP provide LTMC cockpit. I really appreciate your work.

    Would you please help me to upload Multiple Counter Plan from this method. I tried a lot. Some fields are missing in standard program.

    Please if possible create 4th Part or add in this blog.


    Thank you.

  • Hi Thanks for step by step info very helpful document

    Have multiple task list to create but tried creating for single task list for test  as in below but when i convert data got abap run time error

    1 Date format which i maintain is it correct.?

    somewhere i am missing any input on this please



  • Hi Chintan Budhbhatti,


    Tried steps as you mentioned created General task list but i need second operation frequency as 1M,3M & 6M.

    1. How to assign maintenance package for second operation as monthly 3Monthly and 6 monthly.? I tried below steps but for all operation maintenance package is assigned same. some where i am missing to mention correct package need your input please.
    2. Also which format to use for Key date.? I mention DDMMYYYY but needs to change manually when executed in SM35.

    Task list header with strategy

    Task list operation

    Task list package

    Task list created with same package though i have assigned different package for second and third operation as per above pic