Creating Material Queries with custom UD fields
This guide explains how to add a custom field to the My Material Queue screen and order the list by it's value.
Bin sequencing is used as an example. Using sequencing ensures materials are picked in the bin sequence order, reducing handling time and improving workflow efficiency. This is especially useful when multiple bins hold the same material or when prioritising specific locations or pick lanes.
The difficulty is that out of the box, the bin sequence value is not provided on MtlQueue records by Kinetic. This would require Kinetic to implement a field on the MtlQueue table for the bin sequence.

Prerequisite
Knowledge of how to create UD Columns and BPM Data Directives - this guide will not explain the specifics of those processes
Bin sequence values will need to be defined on
Warehouse Bin Maintenancefor warehouse bin records which you want to sort by:

Steps
Create a UD Column BinSeq on the
MtlQueuetable with Data Type of IntegerIf you would like the Bin Sequence to show on the Material Queue list, also create the 4x required UD Fields on the
MtlQueuetable called for a custom field. For full details on how to do this: Custom Fields ConfigurationEmw_col1_column_c: String type with initial value of "BinSeq_c"
Emw_col1_label_c: String type with initial value of "Bin Sequence"
Emw_col1_type_c: String type with initial value of "List" so it can appear on the Material Queue
Emw_col1_disabled_c: Boolean type with initial value of "false"

Note: A data model regen and app pool recycle will be required for this field to be usable in the next steps.
Create an "In Transaction" Data Directive for the table MtlQueue. This will be used to map the bin sequence to the custom MtlQueue BinSeq_C

Create a condition and custom code block. Configure the condition to limit execution of the custom code block to when the MtlQueue record is first added:

In the custom code block place the necessary logic to map the warehouse bin sequence value to the MtlQueue record. The below example code block is intended to map BinSeq from the matching Warehouse Bin definition, but your requirements may be different, so ensure you review the code before using it.
As always, review the code below, conduct your own testing and never make any changes in a production environment before testing in a Pilot/Test environment first. Never run code that you do not fully understand.
Remember to save the code block and enable the Data Directive when you are done
In EKW on My Material Queue define a Material Query to sort by the custom BinSeq_c column. The name needs to match the UD Column you created exactly. Be mindful of the sort order you choose:

Return to My Material Queue and select the Mtl Query you just made
Outcome
Using the selected Material Query the records are now ordered in descending order by the bin sequence:

Last updated
Was this helpful?

