Handling Over Reservation

Top  Previous  Next

It is very common for users to reserve quantities in round numbers (e.g. 20 MT) and then execute in reality with slightly different numbers (e.g. 19.989 MT or 20.045 MT). If delivering in a chain (i.e. to storage and then to a sale), the problem becomes more pronounced.  A change has been made in Agiblocks to handle these situations.

 

If there is an under-execution for less than the sum of dependent reservations in other deliveries, a check box called Reduce dependent reservations automatically will appear.

 

Over reserve1

 

Agiblocks forbids you to execute for less than the total quantity in dependent reservations. And when you try to do it, it shows an error that refers to the new check box and indicates which reservations would be reduced automatically for you when you tick that check box.

 

Over reserve2

 

Tick the Reduce dependent reservations automatically check box and save the information to apply the reductions.  Agiblocks will now display the reduction list on the Execution tab.  

 

over reserve3

 

Here is how the reductions are done:

 

The last reservation from the stock item is reduced by the quantity that is needed.
If that reservation has not enough to compensate, then that reservation is deleted and the amount is taken from the next last reservation, and so on in the reservation chain.
If any reduced reservations themselves also become lower than any further outgoing reservations, then outgoing reservations are reduced in the same way.

 

If the reservation is to stock, the error will show how the reservations will be reduced. This information displayed is:

 

the general details of the reservation (from what to what)
the reserved quantity
the reduced quantity

 

More Examples

In the initial situation you have a purchase of 1000 MT from which you make a reservation of 200 MT to stock (res1 to lot1). From that lot1 you make:

1.a reservation of 125 MT to stock (res2 from lot1 to lot2)
2.a reservation of 75 MT to stock (res3 from lot1 to lot3)
3.and from that you make a reservation of 75 MT to sale (res4 from lot3 to sales)

 

Scenario 1 - You execute a reservation res1 for 199 MT

Agiblocks can no longer support the 2 dependent reservations res2 and res3 as they add up to 200 > 199.  So Agiblocks reduces the last one, res3 from 75 MT to 74 MT.
However, to be able to do that Agiblocks first needs to modify the dependent reservation res4 for 75 > 74.
Agiblocks then reduces first res4 from 75 to 74 MT.

 

Scenario 2 - You execute reservation res1 for only 100 MT

Agiblocks can no longer support the 2 dependent reservations res2 and res3 as they add up to 200 > 100.
So Agiblocks reduces the last one res3 from 75 to 0.
Since it is zero amount, Agiblocks deletes the reservation. However, to be able to do this Agiblocks first needs to deal with the dependent reservation and reduce it as well to 0, and delete it.
Even now, this is not yet enough Agiblocks also reduces res2 from 125 to 100.

 

Un-execution / Re-execution

Un-execution changes nothing, as the reduction already took place, so the information displayed next to the check box remains valid.  Re-execution replaces the reduction details only when a new reduction takes place (otherwise Agiblocks keeps the old ones).  If some quantity gets split off from the delivery line, then the reduction details stay with the old line.  If some delivery line gets deleted, then the reduction details are deleted from all involved lines.