See the Stock allocation algorithm section for information about the rules of creating picklist proposals.
Stock on some locations is not allowed to use for creation of pick list proposals.
This includes:
There is a view that is used to get those locations: PMX_DISALLOWED_LOCATIONS_FOR_PICKING
This view used a table with cached data: PMX_CDLP
This table contains the following data:
The query that is used:
SELECT "PMX_OSEL"."Code" FROM "PMX_OSEL" WHERE "PMX_OSEL"."TypeCode" IN (N'PRODLINE', N'MOVLOC') UNION SELECT "PMX_OSPL"."InputLocationCode" FROM "PMX_OSPL" WHERE "PMX_OSPL"."InputLocationCode" IS NOT NULL UNION SELECT "PMX_OSPL"."PickToLocationCode" FROM "PMX_OSPL" WHERE "PMX_OSPL"."PickToLocationCode" IS NOT NULL UNION SELECT "PMX_CBLU"."CanBeLinedUpLocationCode" FROM "PMX_CBLU" UNION SELECT "PMX_OSWH"."StorLocLogCar" FROM "PMX_OSWH" WHERE "PMX_OSWH"."StorLocLogCar" IS NOT NULL UNION SELECT "PMX_OSWH"."StorLocRetItem" FROM "PMX_OSWH" WHERE "PMX_OSWH"."StorLocRetItem" IS NOT NULL UNION SELECT "PMX_OSWH"."StorLocLostAndFound" FROM "PMX_OSWH" WHERE "PMX_OSWH"."StorLocLostAndFound" IS NOT NULL UNION SELECT "PMX_OSWA"."InputLocationCode" FROM "PMX_OSWA" WHERE "PMX_OSWA"."InputLocationCode" IS NOT NULL UNION SELECT "PMX_OSWA"."InputWithBoxLocationCode" FROM "PMX_OSWA" WHERE "PMX_OSWA"."InputWithBoxLocationCode" IS NOT NULL UNION SELECT "PMX_OSWA"."OutputLocationCode" FROM "PMX_OSWA" WHERE "PMX_OSWA"."OutputLocationCode" IS NOT NULL UNION SELECT "PMX_OSSL"."Code" FROM "PMX_OSSL" WHERE "PMX_OSSL"."BlockStockFromBeingUsedOnProposal" = N'Y'
The cached table is filled when the add-on or fat client is started.
The locked locations are retrieved when running the view, because this information can change a lot.
In order to calculate the shelf life of an item for a particular customer & shipping address, the systems evaluates the shelf lives that can be found at different places. The first matching shelf life will be taken into account, according to the following priority: