New upload function in MM17 and MASS transaction
Man is creature of habit.
Although we have upgraded to EHP 6 quite some time ago I just discovered a new option in MM17 Mass changes transaction for material masters.
I saw the buttons earlier, wondered, but did not look into it. Today I tried, and it certainly saves me quite some time in future.
Nathan Genez wrote recently his blog Why it’s time to move on from LSMW and mentioned that some application specific tools like mass maintenance are more suitable than our all-purpose-weapon
And this new function in MM17 is certainly a big step forward and makes it easier to waive once more the LSMW recording and its many steps until you are done.
I really wish SAP would point us more direct to new features like in some other websites when you get there after a change, with a little animation “have you seen this new button? Want to learn more?” . But not even the menu Help > Application help got me to something related.
Now let me show the steps of the new feature.
Starting point was an email Friday afternoon 4:30 PM: Can you upload the attached file until Monday, we reorganized the warehouse and need this for our scheduled inventory.
As you see, my users are already drilled to send well prepared data, only this way they can get something on short notice
Start the engine: MM17. You can see the new buttons right on top. Hard to ignore, but …. Leave me a comment if you already tried it before you read this.
Select the table for the data change. In this example it is table MARD with the storage location data of a material.
click the Import data from File button to get the file browser to select your source file.
Important: you can directly choose an Excel file. I did it with a xlsx extension. Much more convenient than LSMW where you have to convert your Excel first into a text file.
After you selected your file and clicked open in the browser you come back to MM17 and see a pop-up screen to define the Upload Parameters.
Check and set the decimal format and the other fields according to its appearance in your Excel. Was not really important in my case as I had neither value fields nor date and time fields to change, just a text field. So I could concentrate on the fact if my data is with a header line or without.
As you see in source my first line has the field names, hence I switched the radio button to “with header line”.
SAP omits then this line from the data to be changed.
Execute it after you are done with the settings
Next surprise: One click on the assignment button and SAP was able to assign the columns from my Excel automatically to the fields of table MARD.
This is based on the field names used as header in the Excel file.
As you can see in the next picture, 3 fields have this spreadsheet icon with a green traffic light. Here was the auto mapping ok, the gray diamond means it could not automatically assign the source field.
No problem with this new feature. Just click this button with the gray diamond and you get all fields of table MARD and you can manually assign the field of your choice. Highlight it and then click the green enter button.
Now you can see that the gray column turned green. Fantastic – continue with execution.
Now you see the old well known MM17 screen, everything is pre-selected and you could directly start. But first see this interesting information at the bottom of the screen: SAP identified that one record in my Excel file has no record in table MARD. So you immediately know about records that will not be processed.
That’s all. Just finish your work by clicking the SAVE button and SAP will update your records as usual. And since I only got success messages I can waive this screenshot.
The saved time between doing it this way compared to the LSMW way was used to write this document.
I cannot set the values in fields (eg. MARC-BSTFE, MARC-EISBE) to zero or blank using this method.
any idea why?
I just want to delete the entry safety stock field and set it to blank/zero.
If there is another value instead instead of zero or blank. it is updated.
but if zero / blank is there.. the old value is not over written.
Only way i know to set zero / blank value is by the usual method with new value from top.
but through excel it doesnt work. it becomes a difficult task if i have a list with mixed values.. some blanks and some value.
what am i doing wrong?
See the 3rd screenshot, in the lower part is a field called "initialization indicator"
This character has to be in the column of the field which you want to reset to zero or initial.
This was very helpful.
thanks alot for this Jürgen!
Great post! Thanks for this.
But I have a question: do anybody has experience with the background processing in combination with this excel upload? For me, it only works if I process it immediately. But if I create a variant and want to process it in background (because of larger amount of material numbers, ca. 2.500), I get error message "No data meet the selection criteria" (M& 107) - probably because the uploaded "new" values where used as selection criteria?
(I have same problem, if I enter all data manually (no excel upload), and enter different values for each material number. Background processing only works, if I put same value for every material number (copy from top). Do I do something wrong, or is this function not provided?)
Thanks in advance, Daniela.
Can it be that you have more than 999 entries in Excel? This was a limitation for background processing, see OSS note 1778550 - Article Mass Maintenance: Parallel and Asynchronous Save
No, I tested with just 5 material numbers, and tried to change field MARC-WEBAZ (with different values for each material).
I just tested an ran into the same issue - the note search from the error message did not retrieve any result.
You should eventually report it to SAP Support
Ok, thank you for your fast replies.
You won't be able to run it in the background as the excel read ( probably from your local drive ) is foreground only ...
How do you create that additional record that SAP termed Non-Existent? our requirement is to create these records via upload if possible. For example maintaining site specific article status records that do not exist just yet. Please know that it is possible to create them individually using transaction MM42 but this would take some effort therefore our requirement to upload them.
Thanks for your help in advance.
This described upload function is only designed for mass changes but not for creation, however creation still can be done with the old well known MM17 functions
In the first screen shot you showed the excel format.Could you tell me how you download the format of Excel to import.It will be very helpful to add my required fields.
In this case it was probably a download from table MARD via SE16N which was then manually changed in Excel
I was performing mass modification of MRP 1 data through transaction code MM17 for some materials and I've reached the below stage but as I'm pressing the execute button, system says: "Assign all key fields of table MARC to a column in spreadsheet SHEET1"
Please suggest what should I do in such a case. Thanks!
Thank you very much for this document, it is really helpful. How can we run this in the background? i.e After importing all your data from the spreadsheet can we execute the transaction in background?
this was discussed recently just a little up in the comments
I seem to be having the same issue with updating KNB1-INTAD on the communication tab on the customer master. I used the MASS transaction. I Imported data from an excel file. The system appeared to have updated and gave me a list of "Changes have been made" with green lights. However change to the customer master did not happen. Any idea what I'm doing wrong?
Thanks, Jurgen. This was a great read and will surely be extremely helpful !
how do i demonstrate these buttons?
Hi, is this only for change and not create function?
Hi Siow. Yes, these features are only available for updating records already existing in tables, not for adding new records.