Displaying a list of open work for warehouse workers
We have recently released Cumulative Update 9 (CU9) for Microsoft Dynamics AX 2012 R3. This update packs a ton of great updates and fixes we have released since CU8, and there is one notable new feature that I want to call out and discuss here. The warehousing team has received feedback from customers that the advanced warehousing functionality needs a way for some users to see a list of available work in the warehouse and to give them the ability to select and operate on this work through a mobile device interface. We are pleased to announce that we have released this functionality as part of CU9 and through KB3062537. This blog post will attempt to describe this functionality and show some of the ways we envision it being useful in your workflows.
We have implemented this functionality as a new menu item. Like all advanced warehouse menu item configuration, this can be configured by navigating to Warehouse management -> Setup -> Mobile device -> Mobile device menu items. From here create a new menu item, set the Mode to Indirect and select the (new) activity code “Display open work list.”
As you can see, this will display several options available to configure.
- Records per page: Setting this to non-zero will ensure only a set number of work items are displayed in the grid at one time. This will enable forward/back buttons and paging logic within the work list page itself. Setting this to zero will disable the paging logic and show all work lines within the grid.
- Allows users to filter by work transaction type: If this is set to true, it will display a filter option on the work list page, allowing users to quickly select the subset of work items matching a specific transaction type.
- Work classes: This grid allows you to limit the work items displayed to a specific subset of work classes. This will be discussed in more detail later as part of filtering.
In addition to these options, there are two buttons enabled at the top of the window when this activity code is selected: “Edit query” and “Field list.” These allow you to tailor the work selected and the data displayed.
By default, the work list will display all Work items in the current warehouse that are available to execute on (WorkStatus = Open or In process, and Frozen = No). By using the query functionality, a more specific list of work items can be selected and displayed in the list. For example, the following query will select the work items that are assigned to the Webshop Work pool and have a specific mode of delivery. This could, for example, be used to give a certain segment of users a specific list of work assigned to them for the day. Note that any sorting applied to this query will also carry over and apply to the generated work list.
Once you have determined the work query used to select the data, you will need to decide exactly what to display on the work list. This is done through the Field List button; when selected it opens a new window allowing you to configure up to seven columns of data for the work list screen.
We always display the WorkId in the first column (as you will see soon, this is how work is selected to operate upon). Each of the other columns can be configured by selecting one of the available fields in the dropdown. We have exposed all of the fields from the Work table, the Load table, and two display methods we thought would be highly useful. Note that you don’t have to fill in all seven columns – you should test the configuration and final display with the devices you plan to deploy to the warehouse to ensure the functionality works as expected.
The two display methods exposed on the third tab are the “displayFinalPutLocation” and “displayStartLocation.” These are used to provide some overall context to a work line – as sometimes it can be important to understand where the work will start and end before selecting it.
- displayFinalPutLocation: This will iterate over all the remaining work lines after the specific work line row (which could include multiple pick/put pairs depending on the work template configuration) and display the final put location. This can be helpful to understand when different orders are directed to different loading bays and the user needs to quickly identify all work items belonging in this bundle.
- displayStartLocation: This will show where this work will direct the user immediately upon selecting it. This can be very useful for a user to see available work that is located physically close to them in the warehouse.
In the screenshot below I have configured the work list based on a typical setup. I selected the Order Number, Work Status, Work Priority, Start/End locations, Created date/time, and the Work Template Code – all from the Work table. I could have added information from the load table as well – you will have to decide if this provides value to your warehouse employees.
Since we are showing a list of work to the user, it is very important that the right set of work is displayed for that specific user. As such, we have two filtering options in place that you will need to be aware of in case you are not seeing the expected set of work for your users.
Work Class filtering
Like any work mode menu item, it is possible to associate a set of work classes to this menu item through the grid on the menu item setup form. If no work class is specified, then no filtering is performed – however, if one or more work classes are configured here, the final work list will be filtered to only include matching work classes. Note that this is in addition to any query filtering capabilities added as part of the work query process discussed above. The screenshot below shows how we could limit the work list to only show work associated with Sales orders.
Note that it would also be possible to further refine this list, and separate out the Sales picking work from the Sales loading work. In a large warehouse you might not want to show the combined list and instead show the targeted list of work applicable to the separate teams responsible.
Menu Item Filtering
We have another area where we trim results from the final work list displayed to the end user, and I anticipate this could be an area of confusion for some. Since we are displaying a list of work, we need to ensure that the user has access to a valid menu item that can process that work if they click on it to execute. As such, for each work row we do a check to ensure the current user has access to a User-Directed menu item that can process that row. This is very important to remember – if there is no User-Directed menu item for that specific work class then the work will not be displayed to the user. For example, in the base demo data set you will not see any PO Putaway work because the standard menu item is classified as User Grouping, not User Directed. Changing this (or adding a new Menu item) to User Directed will allow this work to be displayed.
Also – the user must have access to the menu item, meaning it must be accessible from their top level menu, as defined in the warehouse user setup. In does not need to be at the top level – we will iterate through the menu structure looking for a match, but it does need to be available for this user somewhere in their menu structure.
These choices were implemented to ensure we don’t show work to users that they are not allowed to process. The choice of only using the User Directed menu items stems from the fact that we are now allowing the user to select the work to execute – so it seemed the best match. Depending on feedback we will likely expand these options and offer more choices in a future release.
Work List Runtime View
Now that we have all the configuration options out of the way, let us take a look at what this screen will look like at runtime. Unlike the previous mobile device screens, this interface is targeting tablet devices and will require more screen space than we typically see in the embedded barcode scanning devices. As such we anticipate this interface being a power user view of the system, or something deployed for forklift drivers who often have a larger mounted display in their cabs.
Based on the configuration defined above, this would be the view we would see running locally in a browser:
Note that we have enabled the Filter work – which allows us to automatically restrict the list of a specific transaction type. This can be enabled/disabled at the menu item configuration screen. We have also set the paging size to 10 – which means we can only see ten records at a time and have access to the Previous/Next buttons.
All of the top level columns are sortable by clicking on them, except the Start Location and Final put location columns.
Finally – clicking one of the Work ID buttons will cause the system to load that work line and start executing it using an available user-directed menu item. In the case of multiple menu items available for processing this work class, we will first show a list of menu items and ask the user to select the specific menu item to use. We will then directly navigate to the screens responsible for processing the work and the user can continue as they typically would.
We did also receive questions whether this work list could be shown on a mobile phone or RF device with a smaller screen. As this is still outputting the same basic HTML structure as discussed in previous blogs the answer is yes, but you will obviously run into screen real-estate issues. Limiting the selected columns to only show 1 or 2 columns would be our recommended way to enable this in these scenarios.
I hope this overview of this exciting new feature was useful. The work list feature was driven directly from our interaction with customers and partners and we look forward to hearing more from the AX community.