Hi,
In my previous blog, I had explained how to block/unblock purchasing groups in material master. In this blog, I will explain how to do the same for MRP controllers.
In my previous blog, I had explained how to block/unblock purchasing groups in material master. In this blog, I will explain how to do the same for MRP controllers.
Business scenario: As you might be aware, planners in an organisation are assigned to a MRP controllers in SAP. In due course, a planner may get transferred to another department or may leave the organisation. In such a scenario, the MRP controller assigned to him should not be used anywhere in SAP. For example, the particular MRP controller should not be assigned to any new/existing material in the material master. How to achieve this?
Solution & Implementation:
The requirement can be achieved using setids and a BADI enhancement.
1. Create a new setid with a suitable name for eg. "BLOCK_MRP_CTRLR_XXXX" using transaction GS01. Here XXXX is the name of the plant. Please note that MRP controllers are plant specific and therefore maintained separately for each plant.
Specify table = MARC, field = DISPO and "Basic set" radio option. In the details screen, give a suitable short text (description of the setid) and in the from-to fields, specify single values/ranges for MRP controllers to be blocked.
2. The next step is to write ABAP code to check the value of MRP controller in the MRP view of the material master. This validation can be performed at the time of saving the material master. The badi "BADI_MATERIAL_CHECK" can be used to perform to perform this validation. Create a new implementation with a suitable name for eg. "ZBADI_MATERIAL_CHECK" under this BADI. The necessary code to validate the MRP controller can be written in the method "CHECK_DATA". The code will basically check if the value of the MRP controller has been changed and whether the new value is in the blocked list. If it is in the blocked list, then program should throw an error message.
3. To unblock an MRP controller, go to transaction GS02 and call the setid "BLOCK_MRP_CTRLR_XXXX" and delete the entry for the MRP controller. Unblocking would be required if the blocked code is to be released and reassigned to another planner.
Cheers !
2. The next step is to write ABAP code to check the value of MRP controller in the MRP view of the material master. This validation can be performed at the time of saving the material master. The badi "BADI_MATERIAL_CHECK" can be used to perform to perform this validation. Create a new implementation with a suitable name for eg. "ZBADI_MATERIAL_CHECK" under this BADI. The necessary code to validate the MRP controller can be written in the method "CHECK_DATA". The code will basically check if the value of the MRP controller has been changed and whether the new value is in the blocked list. If it is in the blocked list, then program should throw an error message.
3. To unblock an MRP controller, go to transaction GS02 and call the setid "BLOCK_MRP_CTRLR_XXXX" and delete the entry for the MRP controller. Unblocking would be required if the blocked code is to be released and reassigned to another planner.
Cheers !
No comments:
Post a Comment