2.3.57. Picklist Proposal Generator
(1) Extension: Picklist Proposal Generator - Generates Picklist Proposals
Add empty rows for items with insufficient stock? (Y/N)
If set, the system will add rows with quantity = 0 to the proposal when there is no stock available. This can be used to quickly see if all stock is available.
Add empty rows for items with quantity to reserve zero? (Y/N)
If set, the system will add rows with quantity = 0 to the proposal when there is nothing to reserve. This can be used to quickly see if all stock is available.
Useful in custom proposal generator.
Allow broken-up (incomplete) sales-item BOM's? (Y/N)
If the setting is enabled, the system adds components from a BoM when there is one or more component missing, that is, the system allows for selling an incomplete item (for example a desk lamp without a shade). The check is done based on the original BoM.
If the setting is disabled, those BoMs are not included in the picklist proposal for which there is not enough stock to fully complete them.
Base document - order by
When proposals are made, it is possible to do this for several orders in one time.
The system will group them by customer, ship to, and pick list type and item pick list types.
This option is to sort those orders within the same group.
Options:
- Order by doc due date,
- Order by line delivery date, doc entry,
- Order by doc entry
Calculate stock status for expired stock (=slower creation)? (Y/N)
For a new database, the default value is set to No.
For existing databases where Produmex WMS is already installed, the default is set to Yes.
It means that the system calculates the stock status for expired stock and will display the data in the Full stock and Stock compliant shelf life on the Pick List Proposal screen.
If it is set to No, the stock status is not calculated. As a result, no data will be displayed in in the Full stock and Stock compliant shelf life on the Pick List Proposal screen.
Force the proposed batch? (Y/N)
When this option is set to true, the batch the system proposes will be forced. This is used on ad hoc picking, in combination with the option ‘Allow multiple batches’ on a document line. When both are true, ad hoc picking can only pick from that batch, instead of any batch.
Prioritize pick locations over bulk locations? (Y/N)
If the setting is enabled and the Stock order by setting is set to Order by FEFO (FEFO_PickLocation), Produmex WMS chooses batches first in the pick locations even if the item has batches in bulk locations that expire first. Produmex WMS will use FEFO when selecting a batch from pick locations.
Produmex WMS selects batches from bulk locations only if there is no more available batch for that item in pick locations. When switching to bulk locations, WMS will use FEFO to select the next available batch.
Note: If the Stock order by setting is set to an option different from Order by FEFO (FEFO_PickLocation), the Prioritize pick locations over bulk locations? setting is not applicable.
Serial numbers stock order by
This option handles what stock should be taken first to put on the proposal, for serial numbered items with track location.
Options:
- Use default order by
The sorting of stock to allocate for serial numbered items with track location is the one defined in the “Stock order by” option. - Order by serial numbers (alphanumerical)
The sorting of stock to allocate for serial numbered items with track location is: Oldest serial number found on LUID (serial numbers are sorted alphanumerically). The allocation is done on item-batch-LUID level.
Show pick list proposal info screen on incomplete proposal? (Y/N)
When this option is set to true, an additional screen will be shown after creating a proposal, and not all stock is on the pick list proposal.
The screen will show the information why not all stock was on a proposal.
Show proposals with pick lists on open doc. report? (Y/N)
When this option is set to false, the open documents report for pick list proposals will not show proposals that have already a pick list.
Stock order by
This option handles what stock should be first put on the proposal. The process makes use of bin locations from the entire warehouse, even if they are not marked as pick locations. For example, FEFO chooses the first expiring batch from the entire warehouse even if the batch is on a bulk location.
Options:
- Order by FEFO (FEFO_PickLocation)
The sorting of stock to allocate is: Expiry date, Batch number, batchnumber2. The allocation is done on item-batch level. - Order by FEFO Itri (FEFO_ITRI_PickLocation)
The sorting of stock to allocate is: Expiry date, Batch ID. The allocation is done on item-batch level. - Order by LUID (LUID)
The sorting of stock to allocate is: Has LUID, LUID, Expiry date, Batch number, batchnumber2.
The allocation is done on item-batch-LUID level. - Order by Bulk, Full LUID, LUID, BBD, Itri
The sorting of stock to allocate is: Non Pick location, Is full pallet, Has LUID, LUID, Expiry date, Itri.
The allocation is done on item-batch-LUID level. - Order by Bulk, Full LUID, BBD, Itri, LUID
The sorting of stock to allocate is: Non Pick location, Is full pallet, Expiry date, Itri, Has LUID, LUID.
The allocation is done on item-batch-LUID level. - Order by Customization (CustomizedCode)
The sorting of stock to allocate is: by a custom SQL query part added into the “Stock order by Customization” field by the user.
The “Stock order by Customization” is only pliable to batch managed items. For Serial Numbers the stock order by method did not change, the standard “Serial Number” parameter continues to govern stock allocation.
Order by Customization (CustomizedCode) in details:
In addition to this setting the end of the following SQL query must be added into the “Stock order by Customization” field.
Example for testing
This SQL query is just an example for testing purposes. If the user wants to test the added custom query parts in SQL Management Studio, HANA Studio or any other way, it can be done with this query.
It also contains useful comments for testing.
The end of the query should be written by the user and that is the part which should be added to the “Stock order by Customization” field.
Produmex WMS uses similar but dynamically generated query to retrieve free stock information.
That query will be extended with the content of the “Stock order by Customization” field, so the user can use JOIN, WHERE, ORDER BY and almost every other SQL keywords in the custom sql query part.
There is one restriction.
The query can't result in a larger dataset, so the result of the query should contain the same records or a subset of those records but can't contain new records, not even with JOINs.
-- BEGINNING OF TESTING EXAMPLE, DON'T PUT THIS INTO THE "Stock order by Customization" field SELECT FREESTOCK.* FROM ( SELECT SUM(PMX_FREE_STOCK."FreeQuantityDetail") AS "Quantity" , SUM( CASE WHEN OITM."U_PMX_DQU2" = 0 THEN 0 ELSE PMX_FREE_STOCK."FreeQuantityDetail" / OITM."U_PMX_DQU2" END ) AS "QuantityUom2" , PMX_FREE_STOCK."ItemCode" , OITM."ItemName" , PMX_FREE_STOCK."QualityStatusCode" , PMX_FREE_STOCK."Uom" , PMX_ITRI."BatchNumber" , CASE WHEN PMX_ITRI."BatchNumber" IS NULL THEN 1 ELSE 0 END AS "BatchNumber_IsNull" , PMX_ITRI."InternalBatchNumber" AS "BatchNumber2" , CASE WHEN PMX_ITRI."InternalBatchNumber" IS NULL THEN 1 ELSE 0 END AS "BatchNumber2_IsNull" , PMX_ITRI."BestBeforeDate" , CASE WHEN PMX_ITRI."BestBeforeDate" IS NULL THEN 1 ELSE 0 END AS "BestBeforeDate_IsNull" , PMX_FREE_STOCK."ItemTransactionalInfoKey" , CASE WHEN PMX_FREE_STOCK."ItemTransactionalInfoKey" IS NULL THEN 1 ELSE 0 END AS "ItemTransactionalInfoKey_IsNull" , 'MyCustomerCardCode' AS "ProcessingCardCode" -- replace the constant value with the code of an existing Business Partner , '17' AS "ProcessingDocType" -- the constant value here refers to Sales Order , 11 AS "ProcessingDocEntry" -- this constant value is the identifier (DocEntry) of an existing (Sales Order) document , 0 AS "ProcessingLineNum" -- this constant value indicates the given line of the document FROM PMX_FREE_STOCK INNER JOIN OITM ON PMX_FREE_STOCK."ItemCode" = OITM."ItemCode" LEFT JOIN PMX_ITRI ON PMX_FREE_STOCK."ItemTransactionalInfoKey" = PMX_ITRI."InternalKey" WHERE 1=1 AND PMX_FREE_STOCK."ItemCode" = 'MyItemCode' -- replace the constant value with the ItemCode that appears in the line of the marked document AND PMX_FREE_STOCK."QualityStatusCode" IN (SELECT "Code" FROM PMX_QYST WHERE PMX_QYST."CanBeShipped" = 'Y') GROUP BY PMX_FREE_STOCK."ItemCode" , OITM."ItemName" , PMX_FREE_STOCK."QualityStatusCode" , PMX_FREE_STOCK."Uom" , PMX_ITRI."BatchNumber" , PMX_ITRI."InternalBatchNumber" , PMX_ITRI."BestBeforeDate" , PMX_FREE_STOCK."ItemTransactionalInfoKey" HAVING SUM(PMX_FREE_STOCK."FreeQuantityDetail") > 0 ) AS FREESTOCK -- END OF TESTING EXAMPLE WHICH SHOULDN'T BE PUT INTO THE "Stock order by Customization" field -- HERE IS THE PLACE OF THE CUSTOM SQL QUERY PART, -- WHICH SHOULD BE CREATED AND ADDED TO THE "Stock order by Customization" field -- There is one restriction. -- The query can't result in a larger dataset, so the result of the query -- should contain the same records or a subset of those records -- but can't contain new records, not even with JOINs.
The query will return the following columns that can be operated on, so you can use these columns by default:
"Quantity" "QuantityUom2" "ItemCode" "ItemName" "QualityStatusCode" "Uom" "BatchNumber" "BatchNumber_IsNull" "BatchNumber2" "BatchNumber2_IsNull" "BestBeforeDate" "BestBeforeDate_IsNull" "ItemTransactionalInfoKey" "ItemTransactionalInfoKey_IsNull" "ProcessingCardCode" "ProcessingDocType" "ProcessingDocEntry" "ProcessingLineNum"
If you need any other column, you can join other tables and use their columns.
Try to group items on 1 proposal
When this is checked the system will try to group the items on 1 proposal. This means that each time a proposal is being made, it will try to close the existing one (If no pick list has been created yet), and create a new one for all remaining items.
When this is not checked, the system will always try to create a new proposal.
For more information about the topic please visit the following site: Group Picklist Proposals.
(2) Extension: Picklist Proposal Generator - Generates Picklist Proposals Grouped by Customer-Address
If multiple sales orders are selected for the same customer/address, they are grouped into one proposal.
Add empty rows for items with insufficient stock? (Y/N)
If set, the system will add rows with quantity = 0 to the proposal when there is not enough stock available. This can be used to quickly see if all stock is available.
Add empty rows for items with quantity to reserve zero? (Y/N)
If set, the system will add rows with quantity = 0 to the proposal when there is nothing to reserve. This can be used to quickly see if all stock is available.
Allow broken-up (incomplete) sales-item BOM's? (Y/N)
If set, the system will not add components from a BOM when there is one or more component missing.
Base document - order by
When proposals are made, it is possible to do this for several orders in one time.
This option is to sort those orders.
Options:
- Order by doc due date,
- Order by line delivery date, doc entry,
- Order by doc entry
Calculate stock status for expired stock (=slower creation)? (Y/N)
For a new database, the default value is set to No.
For existing databases where Produmex WMS is already installed, the default is set to Yes. It means that the system calculates the stock status for expired stock and will display the data in the columns Full stock and Stock compliant shelf life on the Pick List Proposal screen.
If it is set to No, the stock status is not calculated. As a result, no data will be displayed in columns Full stock and Stock compliant shelf life on the Pick List Proposal screen.
Force the proposed batch? (Y/N)
When this option is set to true, the batch the system proposes will be forced. This is used on ad hoc picking, in combination with the option ‘Allow multiple batches’ on a document line. When both are true, ad hoc picking can only pick from that batch, instead of any batch.
Prioritize pick locations over bulk locations? (Y/N)
If the setting is enabled and the Stock order by setting is set to Order by FEFO (FEFO_PickLocation), Produmex WMS chooses items with batch number first in the pick locations even if the item with batch number in bulk locations expire first. Produmex WMS selects items with batch numbers from bulk locations only if there is no item with batch number in the pick locations.
Note: If the Stock order by setting is set to an option different from Order by FEFO (FEFO_PickLocation), the Prioritize pick locations over bulk locations? setting is not applicable.
Serial numbers stock order by
This option handles what stock should be taken first to put on the proposal, for serial numbered items with track location.
Options:
- Use default order by
The sorting of stock to allocate for serial numbered items with track location is the one defined in the “Stock order by” option. - Order by serial numbers (alphanumerical)
The sorting of stock to allocate for serial numbered items with track location is: Oldest serial number found on LUID (serial numbers are sorted alphanumerically). The allocation is done on item-batch-LUID level.
Show pick list proposal info screen on incomplete proposal? (Y/N)
When this option is set to true, an additional screen will be shown after creating a proposal, and not all stock is on the pick list proposal.
The screen will show the information why not all stock was on a proposal.
Show proposals with pick lists on open doc. report? (Y/N)
When this option is set to false, the open documents report for pick list proposals will not show proposals that have already a pick list.
Stock order by
This option handles what stock should be first put on the proposal. The process makes use of bin locations from the entire warehouse, even if they are not marked as pick locations. For example, FEFO chooses the first expiring batch from the entire warehouse even if the batch is on a bulk location.
Options:
- Order by FEFO (FEFO_PickLocation)
The sorting of stock to allocate is: Expiry date, Batch number, batchnumber2.
The allocation is done on item-batch level. - Order by FEFO ITRI (FEFO_ITRI_PickLocation)
The sorting of stock to allocate is: Expiry date, Batch ID. The allocation is done on item-batch level. - Order by LUID The sorting of stock to allocate is: Has LUID, LUID, Expiry date, Batch number, batchnumber2.
The allocation is done on item-batch-LUID level. - Order by Bulk, Full LUID, LUID, BBD, Itri
The sorting of stock to allocate is: Non Pick location, Is full pallet, Has LUID, LUID, Expiry date, Itri.
The allocation is done on item-batch-LUID level. - Order by Bulk, Full LUID, BBD, Itri, LUID
The sorting of stock to allocate is: Non Pick location, Is full pallet, Expiry date, Itri, Has LUID, LUID.
The allocation is done on item-batch-LUID level.
Try to group items on 1 proposal
When this is checked the system will try to group the items on 1 proposal. This means that each time a proposal is being made, it will try to close the existing one (If no pick list has been created yet), and create a new one for all remaining items.
When this is not checked, the system will always try to create a new proposal.
For more information about the topic please visit the following site: Group Picklist Proposals.