Friday, September 15, 2006

Some extra BOP filtering

The backorder processing (BOP) takes all the orders resulting from the filter application and does the sequential ATP check to determine and update the order confirmation status. I suppose the BOP philosophy is to put all orders available for new ATP so that, eventually, confirming some orders and unconfirming some other orders, a better overall result can be obtained. But this has an obvious disavantage. Orders that are already produced, and are in stock waiting to be delivered to the customer, show up in the BOP result, making the analysis of the information harder for the planner.

As far as I know there is no easy way to exclude from the list the orders that are produced. One possible way, using the BOP filter user-exit, is the following:

1) Create a new flag to activate the new filtering logic and add it to the BOP filter as documented in the OSS 376773

2) In the filter user-exit (ZXBOPUSERU02), if the flag is set apply the following logic:

for each entry in ct_buffer
call /SAPAPO/OM_ORDER_GET_DATA to get the order pegging data
from inputs get the total order quantity
for each pegging entry
build the total pegged with stock elements (atpcat CC)
if total pegged >= total order quantity
exclude from BOP

Running with such a filter, BOP becomes a more conservative tool that only works with planned and production orders. This can be more or less useful depending on the planning scenario, nevertheless it something simple, worth having as an option.

Labels: ,


Post a Comment

<< Home