I recently posted about a problem with replenishment using stringent FIFO/FEFO.

You can read the post here: WMS – Stringent FIFO/FEFO challenge with replenishment

Here is the solution to this problem (one possible solution, there are surely other solutions).

OK, the idea behind the solution to this problem, is to separate strategies between picking and replenishment based on stringent FIFO/FEFO.
This is normally done by a movement type indicator (e.g. 1) which influences the search strategy.

After that, strategy for picking to delivery needs to be maintained as *** (stringent FIFO/FEFO).
For replenishment (indicator 1), it needs to be +++ (stringent FIFO/FEFO user exit).

In user exit “MWMTO013” FM “EXIT_SAPLL03A_013” you can create include “ZXLTOU19” and activate user exit in CMOD.

Write the following code in your include ZXLTOU19:

if i_ltakbwlvs EQ ‘319’. “REPLENISHMENT
case i_ltapnltyp. “Pick from ST
when ‘001’ or ‘011’ or ‘021’. “all picking bin locations – as destinations
   call function ‘L_QMAT_SFIFO_CREATE’
     t_qmat_sfifo_cus = t_qmat
     t_bdbatch_cus    = t_bdbatch.
   delete t_qmat where lgtyp eq i_ltapnltyp.
when others.

In this way, your picking strategy will consider picking storage types (fixed bins) when picking for customer delivery,
and when doing so for replenishment, your picking bin will not be used.

Note: If you are using other movement type for replenishment (e.g. 919 instead of 319), change 319 in code to 919 or your replen.movement type.

There may be a way of doing this by using storage type user exit:
Enh: MWMTO004, FM:  EXIT_SAPLL03A_006, Include: ZXLTOU08,
but for me it was a bit easier to implement this one, since in ZXLTOU08, source is already determined, and you seem to have control only on some overriding of the source T and bin. Didn’t want to hassle with that, but for the record I think it may be done through that user exit also.

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Yogesh Agarwal

    Hi Mihailo

    Wouldn’t the below setting serve the same purpose, can’t we have this instead of the code for replenishment?

    Storage type search.PNG



    1. Mihailo Sundic Post author

      Hi Yogesh,

      Actually the requirement is stringent FEFO, we cannot predict which storage type should be first in the search sequence.

      In your case, you are specifying the COM storage type as first one, but actually we need to use stringent FEFO for replenishment too.

      If I misunderstood your screenshot please do correct me.

      Thanks for your comment!



Leave a Reply