Skip to Content

Material master deletion flag and blocking activities

Flagging Material Master Records for Deletion

For a material master record to be deleted by the
archive and delete program, it must be flagged for deletion. Please read
flagged for archiving when seeing marked or flagged for deletion in SAP.



You can set deletion flags at different organizational levels, for example, at plant level or/and at sales organization level.

The material master record is then marked fordeletion at this level and at all lower levels.

How to do it technically?
Transaction MM06


You set a deletion flag at client level. Since it is the highest hierarchy level, the material master record is deleted at this level and at all lower levels.



(pictures showing the screen before and after execution)

Means, this material master record is globally marked for deletion (e.g. for the existing organisation levels Hamburg and London, but as Italy would as well get a message when trying to extend this material for their organization.

You set a deletion flag at plant level. Since it is below client level, the material master record is marked  for deletion at plant level and at all lower levels (for example, at storage location level), but not at client level.



Means, this  material master record is only for Hamburg plant marked for deletion, London is still active and Italy can extend this material master to their organization without any trouble.

  Even the other Hamburg organization levels like Sales Org and Warehouse are still active in the example. This situation can occur when moving  the production to another site. Hamburg sales organization can still sell material (shipped from another plant) , but the Hamburg plant cannot produce or store it.

You set a deletion flag  at storage location level. Since it is below plant level, the material master record is marked for deletion at storage location level  but not at client level or plant level.



Means, in this material master record only a certain storage location is marked for deletion, all other storage locations are still active.

Setting a flag for deletion will usually just trigger a warning message whenever the material is used. E.g. in material master maintenance or when doing goods movements.


This warning message will not stop you from doing what you want to do. It is supposed to make the user think if he is using the correct material or not.

  If you want block a user from using this material master in any transaction, then assign a material status to the material master.

  The material status is a customized status,  that can restrict certain activities and allow others ( e.g. restrict procurement but allow material movements like goods issues, or block any transaction for this material)

A material status can be set at general level, and affects all plants that share this material master, or you set the status only for a specific plant at plant level
in material master.

Example for general level, status is set at basic data 1 view. You can add a date from which on the status becomes active. This date field is right of the status field



Example for material status at plant level only :


  If a user uses a material that has a status which restricts the activity he performs, then he will receive an error message:


You must be Logged on to comment or reply to a post.
    • I will do this probably later in a separate blog, nur sure if in this forum or in the ILM forum. But I have to investigate if it is not already present. if you search for archiving toppics, then you should use SARA as a keyword, much easier to remember than 100 and more individual tcodes for each archiving object.

  • Very Good Document.

    If you could provide some info for How to  identify Un used materials as per your experience  for Deletion /Archive  then it would be great.So that we can get complete info in one blog.

    • It will become a second blog – The headline and a few thoughts are already in my draft folder. I wanted to do some more blogs in December (I had an entire month off), but unfortunately had to much moderation activities. Will come this year, but I cannot promise the date

  • Hi Jurgen,

    It’s very useful document,But when i will do this at Plant level,it is showing error ‘You must use retail functions to process the article’.How to solve this issue?

    Many Thanks

      • Dear Jurgen sir this is very good document

        i am sd consultant but i want to know one thing by using mm06 materiel blocking we can change warning message to error message also by using this t.code OLME

        ere in Version:00,

        APPL.area: ME, Message

        No: 051,

        Thanks  alot

        what my doubt is in your blog you have said that system will give only warning message

        please thanks a lot

  • Hello Jurgen,

    Thanks, this is a very useful document.
    Is it possible to grey out the ‘material’ checkbox in MM06… So that when a user runs this transaction, he is allowed to set DF only for certain plants for which he has authorizations and not globally?


    • I am not sure if the box can be greyed, I think with a transaction variant this is possible.

      However, if you want restrict people from deleting a material centrally, then you should not give them authorization. Object M_MATE_MAN is used for central maintenance, if you do not give activity 06 then the user should not be able to set a deletion indicator, regardless if the box is open

  • Hi Jurgen,

    Would appreciate help / assistance which follows from the above post.

    I have flagged items for deletion at both Plant and Sloc location.  When I have to “re-activate” this item at Plant level for “one-off” purchases etc, it re-activates the item in ALL previously flagged for deletion Slocs.  How do I stop this from happening as I have to go through and re-flag for deletion at Sloc level. 

    Thanks and much appreciated.

  • This is a very useful document and thank you that.

    I would appreciate help / assistance if you can for follow issue related the flag for deletion set in MRP areas (field LOEKZ). Based on that we can still use the storage location, post goods movements to this storage location and the stock will still be displayed on MMBE but not in APO.

    If the stock is increasing for example (received goods) and after the flag of deletion is removed, even if I run the CIF for master data and stock, the stock is not updated in APO and I don’t know why.

    But if I performed a new good receipt in stock and run the CIF for stock , the information (the stock) is updated in APO ( all quantity  – the first one which was done when the flag for deletion was set and also when the flag for deletion was removed)

    Can you tell me why this behavior? How I can fix the issue?

    Thank you for help,

    Valentina M

  • its much appreciable document. Explained in a detailed manner of org level and technically

    sound to be how to mark flag for deletion.

    Thank you sir for your contribution always to scn members.

    you are a mentor for all SCN members sir.



  • Hi juergen sir,

    • Thanks for sharing this beautiful post. But i have one query that , how can i restrict the deletion flagged material to create the production order(i mean i want to generate the error message when i try to create production order from this material or else if i used this material as BOM item) please suggest me some tips as i am NEW to SAP PP

    thanks and regards

  • Hi Sir,

    I tried that one ,but it is not working as it not restricting to create production order. Only warning message generating , i tried to change to warning message but  failed  . please give me some tips to overcome from this.

    Thanks and regards


    • it is all customizing of material status.

      check in OMS4

      IMG Path: Logistics General -> Material Master -> Settings for Key Fields -> Define Material Statuses.

      Press F4, and either set the indicator for warning, error, or no reaction

  • Thanks for your detailed explanation.

    I’m a fresher and it’s really useful. But can you pls help me if it has any difference bw “Plant specific material status” field in Purchasing view and MRP1 view.



  • Hi Jürgen,

    Thanks for sharing a useful blog, but what I found the new thing is that deletion flagged material can’t be added to BOM component and error message is hard corded in standard (Error message type 29, error number 122). Thus deletion flag itself impacts on BOM registration step like material status.






      • Right, it doesn’t make any sense business wise. However some company can’t control material deletion process centrally without strong master data governance, then it can happen that end-user set a deletion flag but production team still try to add a BOM, Routing by that material in the mean time.

        Furthermore not only BOM registration, but also routing creation for deletion marked material also trigger a error. This explicit error seems quite understandable but each module behavior is not consistent. For instance, Purchase order also raise an error but error can be skipped by IMG  but Sales order displays a information message(also hard-corded).





        • you also get an error while creating info record if I remember right.

          But all this should not really be any bigger issue, you can click the blue i button next to the material description and will immediately see who has set the deletion indicator and can tell him that you want it activate again.

  • Hello Jürgen,

    I have following business case. I need to block Inventory managmenet just on a material/plant/storage location level. The issue is that users should create POs and perform GRs on a new storagre location instead of an old one. We cannot use material status as it is just on a material/plant level. Deletion flag does also not meet this requirement, because user still will be able to perform GRs. Any other ideas? Archiving is not the case here as well.Removing storage location from conf is also too drastic and not recommended.

    In all threads you suggest that removal and deletion can be only performed by archiving, but maybe there is an another secret way to meet this requirement.

      • Unfortunately I cannot use this solution as we have an ongoing upgrade.

        But thanks anyway for an answer as right now I’m pretty sure that there is no easy way to solve this issue.