cancel
Showing results for 
Search instead for 
Did you mean: 

LSMW MM01 Error Message M3189 The base unit of measure cannot be changed

former_member271718
Participant
0 Kudos

I create a Sales view of an existing material, the material already exists for sales organization = X, DC = 1, I want to create the same material for sales organization = Y, DC = 2. The material has also a Basic view.

I use direct input object 0020, Method 0000, program RMDATIND. I use a 1 level structure, because the material tax classification of 2 countries are already defined in the existing sales org X, DC = 1, as we know the tax classification is only country dependent and not sales org. dependent, so this is correct.

The transaction within the LSMW is MM01, besides the key fields VKORG, VTWEG, WERKS and MATNR just a few sales fields do have a value, e.g. the product hierarchy, the account assignment group etcetera.

When I run the LSMW (foreground) I got 2 warnings and one error message. The error is

M3189 Base Unit of measure can't be changed. This is strange because I have no input in my text file for the base unit of measure (MEINS) nor is it assigned to an input structure field.

When I run MM01 manually then the Base unit of measure is grey and can't be changed, the material can be extended with the same data, no error message.

Any ideas suggestions why the message occurs when I extend an existing material.

Regards Kees

Accepted Solutions (0)

Answers (17)

Answers (17)

former_member271718
Participant
0 Kudos

I think it was a combination of changes I made, to solve the problem. It wasn't the error message you mentioned, because those are error messages and I will not continue after such an error. To be honest I think the filename in the RMDATIND wasn't change by me. One of these days.

former_member271718
Participant
0 Kudos

Sorry the text above is mixed up due to time delay.

After changing the conversion file to a shorter name, the LSMW runs like hell.

Lessons learned, don't rely on the data displayed in Display converted data, it is not necessary the same as the data of the input file. Check when certain problems are persistence the input file on the application server with AL11. The data of the conversion file of the application server is the one who will always be read when running RMDATIND.

I think my problem might happen if you use long file names which will be truncated by SAP.

In my case looking back to the problem, log with the two transactions instead of one should give me the hint needed to solve the problem.

Jurgen thanks again for the help. Discussing about problems with the 2 or more of us or gives you a better insight.Sharing knowledge is essential.

JL23
Active Contributor
0 Kudos

I certainly rely on the data displayed, especially in testing, one has to know his input file well and then he has to match it with the result in display read data to verify if it has the same number of records and transactions, if it is in the right structure and if the values in the fields are like expected.

I wonder a bit that you had not seen any error message when you entered your file name in step 7 specify file

I get a even 2 pop-ups, the first telling me that the file can't be open for reading and the second telling me that no such file exists.

So your truncated file name of the new file matched by chance with an old file name. This is certainly a worst case.

I actually have a similar problem with long file names, but only in my development system, the production system accepts long file names. I have my basis team checking for the reason right now.

former_member271718
Participant
0 Kudos

Bingo,

After changing the conversion file to a shorter name, the LSMW runs like hell.

Lessons learned, don't rely on the data displayed in Display converted data, it is not necessary the same as the data of the input file. Check when certain problems are persistence the input file on the application server with AL11. The data of the conversion file of the application server is the one who will always be read when running RMDATIND.

I think my problem might happen if you use long file names which will be truncated by SAP.

,

Hmmm, I defined a new LSMW of course the same error, checked the conversion file on the application server AL11, strange it isn't isn't replaced, I see an old entry with 2 entries with data. So although the read conversion data reads the correct data of the input file, it actual reads the conversion file on the application server.

I changed the name of the conversion file (less characters) and Bingo it does the job.

Most probably I used a file name with will be truncated by SAP.

Lessons learned I think, when the same error occurs always after changing the LSMW don't rely on the output of the read conversion data, but also check the conversion file itself, because that one will be used only and they aren't necessary the same. I think the file name was to long in this case.

In my case looking back to the problem, log with the two transactions instead of one should gie me the hint needed to solve the problem.

Jurgen thanks again for the help. Discussing about problems with the 2 or more of us or gives you a better insight.Sharing knowledge is essential.

former_member271718
Participant
0 Kudos

Hi Jurgen,

Thanks I know this one, but it checks the conversion process itself. I execute the program RMDATIND above and entered /H and discovered what I menioned above.

former_member271718
Participant
0 Kudos

I tried to debug, and I discovered something strange.

This looks like an old test (other LSMW) I did creating new materials. BX is the Base Unit, The next field is the description of a material etcetera. This at least explains why it is given me the error, I assumed the input line of the text file is read, but it doesn't. So no matter what I change, the error stays, because it uses the old input lien.

How can I reset that?????

I think I will define it new, no copy of an old LSMW, I think somehow that uses the old data.

Keep you posted.

JL23
Active Contributor
0 Kudos

see my blog https://blogs.sap.com/2012/12/27/lsmw-material-master-by-bapi-method-part-1/

I explain there among other things how to change the user menu in LSMW , so you can display your conversion program and can set your breakpoints and debug it .

former_member271718
Participant
0 Kudos

Hi Jurgen,

Thanks again,

I want to extend sales view 1 & 2 and sales plant data. According to the note mentioned above it should select these maintenance status automatically based on the fields I use, anyhow I changed XEIV1, XEIV2 and XEIV4 to X, but unfort. The same error did occur again, after reading and converting. I also wonder why I have 2 transactions, I have only one input line.

How can I debug this, maybe you know which FM should be used for that.

Regards.

JL23
Active Contributor
0 Kudos

Which views do you actually want to maintain?

Your BMM00 structure has only slashes "/" in the fields for the views, e.g. XEIV1 and XEIV2 should have a X if you want to maintain sales view 1 and 2

former_member271718
Participant
0 Kudos

The error

Field MARA-LABOR has a value.

former_member271718
Participant
0 Kudos

The last 2 lrecords

structure BMMH1

former_member271718
Participant
0 Kudos

Here are the settings:

former_member271718
Participant
0 Kudos

Blank Input file = "/" after conversion.

I have removed all fields of MARA, because that might cause to update the Basic view acc. to note 67616. The fields are from MVKE and MARC. I also removed the MBRSH & MTART after the test with the input data below, but unf. the same error.

Transaction 1 & 2 have the same errors, so only the second is displayed.

JL23
Active Contributor
0 Kudos

It does see the existing basic view, otherwise you would not have the error. But direct input means you are directly updating tables, you are not going through a user interface, SAP does not take defaults from existing data like it is in a MM01 view. In direct inputs you have to provide the needed data and have to instruct SAP what to do with certain fields and also might need to add the one or other check yourself.

If you don't want to overwrite the base unit with "blank" then you have to have a NODATA sign "/"

Please check the docu

For more detailed guidance please post a screenshot from your source file

and screenshots from LSMW step 10 display converted data , from the over view, as well as from the detail of each structure of one transaction.

former_member271718
Participant
0 Kudos

Sorry I didn't read that.

I added MEINS in the input file, source structure and assigned it to BMMH1. With the same unit of measure and Blank, the error is still there.

The first warning message is: MG161 The data for the maintenance statuses K cannot be transferred. K means the Basic view. I checked the views possible of the material type (copy of HAWA) but all the views including the basic and Sales view are possible. It looks that for some reason it doesn't see the basic view which is alreay available.

Another strange thing is that the log mentioned 2 transactions although I have just one input line with data, I think this might be because of the 2 tax classifications neede per material.

former_member271718
Participant
0 Kudos

In the 2 transactions, the warning messages and error message are repeated.

r_bevacqua
Explorer
0 Kudos

Hello,

you can try to add a unit field in your file as Jürgen suggested, otherwise, by adding material master data, I always use a batch input recording on transaction MM01. Only for material text I utilize direct input.

former_member271718
Participant
0 Kudos

Hi Jurgen,

Thanks for the fast response.

I know, but besides the error message there is no option to see what is going on. I have made many LSMW with direct input including the one you described in a blog of Long text, but I can't explain this one.

My other LSMW creating a new material with 2 tax records (2 level structure) did create the material without a problem.

Any suggestions where to look?

JL23
Active Contributor
0 Kudos

Direct input is quite different to MM01, direct input does not go through a dialog process.

Just try again by filling the base unit with a value.