Skip to Content

Switching between MTO and MTS dynamically

Dear Forum,

My client has the following requirement. They mix MTO and MTS production in the following way.

A sales order defines if it should be MTO. In such case the SO segment is created in MRP for the finished product. This is standard SAP and it is fine.

The question arises if the components shall also be planned MTO or MTS. Normally one would control this using the indiv./coll. reqmt flag in the material master of the components (MARC-SBDKZ), i.e. a component is always MTS (= collective reqmt) or it can be MTO if the finished product is MTO (= individual reqmt). This is standard SAP.

However, my client has the requirement to plan the components differently under different circumstances. If the dependent requirements are created for especially big sales order ("bulk order"), some of the components need to be planned in the SO segment too. For "normal" orders these components need to be taken from the general stock (even though the finished product is MTO).

My plan was to interfere in the MRP program at the point where it is about to create dependent requirements and reads the material master for components. The user exit will set the flag indiv./coll. as needed (dependent on the planned order being exploded). The problem is that MRP pre-fetches the material master for all the components when it starts to plan the product - before it starts evaluating the individual planned orders. At this point I can't set the indiv./coll. flag yet.

Therefore I am looking for the place where the pre-fetched material master data are considered again for creation of dependent requirements.

...Or an alternative way to meet this requirement.

Many thanks in advance,

Raf

Add a comment
10|10000 characters needed characters exceeded

Related questions

5 Answers

  • Best Answer
    Posted on Aug 13, 2013 at 11:12 AM

    Hi Raf

    I think that you can do the trick with method CHANGE_MDPSX_MDRS from MD_CHANGE_MRP_DATA.

    If you change the reservation before MRP reads it, then, your requirement will be planned as MTO.

    The, when you convert the order you can use WORKORDER_GOODSMVT to update the order reservation on the database.

    BR

    Caetano

    Add a comment
    10|10000 characters needed characters exceeded

    • Gues what! Seems like CHANGE_MDPSX_MDRS worked, even though I was skeptic to it (touch the wood!)

      I have just replaced the MRP segment 20 (SO) with 02 (stock) and cleaned the segment no. and that's it! The MRP generated the dependent reqmts in the general segment despite the fact that the planned order was in the SO segment and the component had indiv./coll. = space in the material master!

      Now I only need to program this logic when to switch back to the general segment and then have indiv./coll. = space on all the components that need to be "dynamic".

      Thanks a ton again for the tip!

      Raf

  • Posted on Aug 13, 2013 at 09:59 AM

    Hello Ralf

    Please take a look on the following document that I wrote about the available BAdIs on MRP:

    http://scn.sap.com/community/erp/manufacturing-pp/blog/2013/08/12/badis-for-mrp

    You should check if it is possible to change that with MD_CHANGE_MRP_DATA.

    BR

    Caetano

    Add a comment
    10|10000 characters needed characters exceeded

    • Dear Caetano,

      I turned to implicit enhancements when I couldn't find a BAdI for this requirement. Particularly in MD_CHANGE_MRP_DATA I checked the method CHANGE_MDPSX_PLAF. However, it seems like it only allows you to alter the planned order data (PLAF) when it is read from the database, not to affect the generation of the dependent requirements.

      The method CONSIDER_RESB allows you to make the dependent requirement to be subcontracting requirement, phantom, separate stge loc. or reorder planning. It doesn't allow moving the dep. reqmt over to the SO segment.

      I wonder if I can use the method CHANGE_MDPSX_MDRS (Change data when importing dependent requ./ reservation) to move the dep. reqmt from the SO segment to the general segment. In such case I will set the component to "indiv." and let this exit move the generated reqmt to the general segment when appropriate. Are you familiar with this method?

      I have also look at the BAdI MD_MRP_PARAMETERS. However it only fires when a material starts to be planned - not on every planned order.

      The BAdI MD_PLDORD_CHANGE doesn't allow changing of the dependent requirements, only the planned order itself (PLAF).

      BR

      Raf

  • Posted on Aug 13, 2013 at 10:08 AM

    Dear Raf,

    Since the order quantity determines the requirement type, can you control this using Explosion type control inside the BOM component field (STPO-DSPST)?

    Suppose I have two alternatives for the header material, one for normal and another for "bulk" (say, greater than 100).

    So I maintain two alternative BOMs and in material master of the component, the requirement type is collective (2).

    In the alternative for "bulk", I configure a new explosion type with individual requirement and assign to the component.

    Since the BOM component level data takes priority over the material master data, this can work.

    Please try and revert back.

    Best Regards,

    Rajen

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Aug 13, 2013 at 08:58 PM

    Dear Raf,

    Conceptually there might be another 'not so good' solution. I thought over it and I know it may sound odd and complex. I need all you guys' experience and comments regarding this proposal, since this sounds funny. Can we use the concepts of variant configuration in this kind of scenario?

    That is, we maintain these components inside the BOM twice, one having 'individual', whereas another having 'collective' requirement, controlled by the explosion type in BOM component level. We have object dependencies (selection condition) defined, such as when in SO, you select characteristic 'requirement' = MTO (characteristic value), the component entry with the individual requirement gets selected and similarly when 'requirement' = MTS (characteristic value), the component entry with the collective requirement gets selected.

    The planned orders will be generated accordingly controlled by the SO.

    Can this be 'conceptually feasible'? 😊

    Best Regards,

    Rajen

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Aug 13, 2013 at 11:01 AM

    Dear,

    Do you want to have the header material in always in individual customer segment?

    If not then you can work with requirement type for bulk order you should have MTO requirement type like KE. And other you can have the MTS requirement type like KSV.

    You can the stratgey group with combination of MTO and MTS strategy. For dependent demand material keep ind/collective indicator as blank.

    So when you will have the Bulk sales order all the material will be in individual customer segment and when non bulk order it will be MTS.

    Regards,

    R.Brahmankar

    Add a comment
    10|10000 characters needed characters exceeded

    • Dear,

      Yes your are right by Item category you can have the requirements type in sales order like MTS and MTO.

      If your order is MTO then your dependent materials will be MTO only and if your requirement type is MTS then your dependent material will be MTS.

      Could you please test the same?

      Regards,

      R.Brahmankar

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.