Loading Material Masters with LSMW Direct Input method

It is a lot easier and quicker to load material masters using the Standard Direct Input object in LSMW rather than with a recording of transaction mm01 or mm02. (To learn more about loading data using recording, see this post)
One input file can be used to create all the views of the material master. For all the material types. Even if different views and fields are used for the different materials.
Steps to take

  • Create text file with data to be loaded
  • Set up and run LSMW

All steps are discussed in this post. A sample data file and LSMW Project can also be found in attachment (end of post).
Please take note that my project and input file will need slight modification to work fully on your SAP system. You will have different material types, number ranges, field selections, etc. To get going, use my LSMW Project and data file and make changes as required to get a simple dataset loaded.
The most difficult bit in loading materials is getting the input file correct. I suggest you create the file from a database (SQL) or programmatically. Excel does work but it sometimes convert numbers / strings (example 0100 becomes 100). More notes about this at the end of this post.
Let’s first go through LSMW steps – then look at the input file.
You can either create the LSMW project manually or load my project, see attachment at end of post.
Import Project
Download project as attachment from end of this post to your PC.
Go to LSMW – transaction LSMW
Menu: Extras > Import Projects

select file LSMW_Z2_MM01.txt

Press “Import” (or “Import Under Another Name”).

Select Project / Subproject / Object and press “Execute”
Step 1: Maintain Object Attributes
With first option selected – press “Execute”
Press “Display <> Change” to select Object

Step 2: Maintain Source Structures

Step 3: Maintain Source Fields
Define here all the fields that will be in your input file (text file with data). As a rule, keep the field names the same as in SAP. This way mapping can be done automatically.
The order of the fields is not important. For simplicity, make field size bigger than required, in this case mostly 40.
What fields can be included? See next step for that

Step 4: Maintain Structure Relations
Here you map the one input file to structures that was selected in step one (direct input objects).

To get an idea what material master field can be loaded – click on the structure. Example for BMMH1

You will see BMM00 is to select the Views and BMMH1 contains bulk of the material fields.
The fields can also be viewed via ABAP Dictionary (se11 /se12) and display the database table BGR00, BMM00, BMMH1, BMMH2 (or other).
Step 5: Maintain Field Mapping and Conversion Rules
Map field in input file to fields in SAP Material master. If your fieldnames in file is same as in SAP, then you can map them automatically by selecting Menu: Extras > Auto-Field Mapping

Not all fields need to be mapped, only those that you are loading (as defined in input file). Don’t worry to much about the warning that “Source field is longer than target file” just make sure your input data is correct. Example material type must be 4 characters.
Step 6: Maintain Fixed Values, Translations, User-Defined Routines
Not used for this project

Step 7: Specify Files
Specify source file (on your PC) and what the files will be called on the SAP server.

Also indicate how your input file will look. Example, TAB delimited and Field names in first row.

Step 8: Assign Files

Step 9: Read Data
At this point your input file must be ready. More about the input file later. You may want to use sample file attached to this post as a start.
Note you don’t need to specify path / filename. This was done is step above.

For big files – many thousand of records this might take a while.
Step 10: Display Read Data
The input file is now on the SAP server and can be displayed.

Click on line to see the details

Step 11: Convert Data
We now need to convert the data to format so that SAP can process.

Step 12: Display Converted Data
You can display converted data to ensure that all is ok so far before creating the materials.

And select the structure to see details

Step 13: Start Direct Input Program
If all is OK – let’s run them in.

First run it in test mode (not creating material) by selecting the “Check data, do not update” option

You might get a view messages – just press OK. In my case I got NO errors.

I now run it without the test option. same as above but “untick” the “Check data, do not update” option

Materials were successfully created.
At this point you may still have errors. Either your input data is incorrect, you may have fields as mandatory that was not in your input fields, different material types, etc. etc.
In step 7 above we have indicated that we are using TAB delimited files.
TIP: if you will be working with LSMW files a lot, get a decent text editor. Some suggestions are: UltraEdit or Crimson Editor (if you want a good free one).
This is how my input file looks (via Crimson Editor). The funny “>>” fields are TAB’s. My editor is set up to show TAB characters.

Or in Excel (importing the tab delimited file)

Note that the material number field (MATNR) is blank for first line and 0 (zero) for subsequent lines. This is the way to specify that internal numbering will be used. And 0 (zero) indicates that material being created will be extended. Fields to be ignored are marked with “/”. For more about format of file, see notes in SAP Help file.
In my file, every line is unique material / plant / sloc. The input file can be prepared using database, spreadsheet or other program. In my case I generated the tab delimited file directly from database program.
I find the easiest way is to prepare the material master data is using a SQL database. I used MySQL. That way a sql script can be created that implement all the conversion rules.
This sample file used in this post was created directly from the database program. Below is the SQL statement (used in MySQL) that created the final data file. The header (field names) was added in another step.


'MATLD','500','SAP123','Y','/','MM01', '0','B',mat_type, plant, sloc, 
'/','/','/','X','/','/','X','/','X','X','/','/','/',base_uom,'MAT DESCRIP','0100',
price_control, price, val_class,'/',14,'/','/','/','/','/','/','/',
INTO OUTFILE 'c:/data/sap123.com/lsmw_direct/lsmw_directinput.txt'
FROM main_table
GROUP BY mat_number, plant, sloc
ORDER BY mat_type, old_matnr, plant, sloc;

If above code is meaningless to you. Don’t stress, you don’t need to use any of this in LSMW. (But I do suggest you buddy up with someone who knows SQL ).
Very detail help is available in SAP Help Files. For SAP Help files, goto http://help.sap.com/
Cross Application Components > CA Data Transfer > Data Transfer Objects > LO logistics General > Material Master
This post was prepared using SAP R/3 Enterprise (and LSMW version 4.0.0)
With this sample and reading the SAP Help files, I hope you are in a position to load your own materials.
Was this helpful to you? Do you require more information?
You can discuss this post here.

Attached Files

lsmw_materials_directinput.zip (7.2 KB, 2185

Categories: Uncategorized | 15 Comments

Post navigation

15 thoughts on “Loading Material Masters with LSMW Direct Input method

  1. cynkie


    i have tried this method, but when i get to ‘run direct input program’ there is no option for a test case first and i get a whole lot of errrors:
    Session CUSTMERY: the special character for a blank field is >/<
    Message no. MG429
    @5C\QError@ E MG 149 Transaction code / does not exist (table T130M)

  2. Andres

    I’m having a problem with the Taxes, getting this message: “You have not fully maintained the tax classifications”
    I’m filling BMMH2 Structure but with no result. Any help will be appreciated.
    Thanks, Andres./

  3. Pingback: Jolie Dessous

  4. I have recently started a site, the information you
    offer on this web site has helped me tremendously.
    Thank you for all of your time & work.

  5. Its not my first time to go to see this web page, i am browsing this site dailly and take fastidious data from here every day.

  6. If some one wants to be updated with most recent technologies
    then he must be pay a quick visit this web page and be up to date every day.

  7. Pretty great post. I just stumbled upon your blog and wished to say that I’ve truly enjoyed surfing around your weblog posts. After all I will be subscribing on your feed and I’m hoping you
    write once more very soon!

  8. If you wish for to grow your know-how just keep visiting this site and be updated with the most recent news posted here.

  9. Hello, I think your blog might be having browser compatibility issues.
    When I look at your website in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping.
    I just wanted to give you a quick heads up! Other then that, terrific blog!

  10. This is really interesting, You’re a very skilled blogger. I have joined your rss feed and look forward to seeking more of your great post. Also, I’ve shared your web
    site in my social networks!

  11. A buddy and myself happen to be arguing about an issue corresponding to this one particular!
    Now I knowledge that I was suitable. lol! marked you
    as a fave so I will; be back 😀

  12. X-ray Computed Tomography (CT) is a keystone in
    the diagnostic evaluation of suspected cancer of the lung, as it supplies the most
    detailed anatomical images. Water which is too cold, such as that that drops well below 76, may cause
    your pet to slow down. However stress sometimes does not happen
    only from issues that are happening inside present; often it happens from things that have been on-going in
    our lives on an extended time frame, for instance many years of domestic violence and abuse, experiencing divorce or perhaps separation.

  13. I constantly spent my half an hour to read this website’s
    posts everyday along with a mug of coffee.

  14. Simply desire to say your article is as surprising. The clarity in your post is simply nice and i can assume
    you’re an expert on this subject. Fine with your permission let me to grab your feed to keep up to date with forthcoming post.
    Thanms a million and plewse contine the rewarding work.

  15. Además mencionas de un cambio de motor – trifásico a monofásico- éste debe hacerse con un cambio de embobinado y el profesional que haga este re-embobinado te puede decir el tipo de capacitor que va a dejar. Recuerda que todas las instalaciones en hogar empresas deben tener una protección eléctrica para no dañar las demás instalaciones. La segunda observación no puede ser, creo que tu equipo tiene un diagrama eléctrico que debió ser utilizado, el costo del capacitor es más barato que el compresor.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: