Code highlighting

Wednesday, July 22, 2015

Tutorial: Short pick goods on the mobile device in Warehouse management module of Microsoft Dynamics AX 2012 R3

Introduction

In a typical warehouse things go out of sync from time to time. So the inventory on-hand information registered in the system becomes different from reality, or what is actually there physically. But warehouse operations need to keep being executed, and such discrepancies should not block orders from being picked. That's why in Warehouse management in AX 2012 R3 we provide a flexible way to set up work exceptions of type "Short Pick". The warehouse workers will select short pick exceptions on their mobile devices in these exceptional situations. 

Business Case

HDMI cables 000147_202 and 000148_202 are very popular products and a lot of our customers buy them. On a particular day we have 3 orders for these items, and the sales department has confirmed and released 2 of them to warehouse, while for the third one they are still nailing down some details, so only reservation has been done to ensure we can promise the goods to the customer. 

John the warehouse worker is going to location LP-002 to pick the first item, but finds that the cables are not there, even though that is what it says on his mobile device. He will need to do a short pick, and because there is nothing (0) items available, he is instructed by his warehouse manager to select Reason = "Items not there - Adjust out". 

He then proceeds to the second location in the work order, LP-001, but the required pick quantity is also insufficient there. Only 2 cables are available in the location, instead of 10 that he needs to pick. He will need to do a short pick again. This time, he will select Reason = "Items not there - Count", as this seems to be right, the items were there, maybe they just got misplaced to a nearby location.

John then proceed with completing the picking route and delivering the picked items to the bay door.

Walkthrough

A complete walk-through of the scenario described above is available on my Youtube channel.


Brief summary

Here's a quick recap of what happens in the video for those who prefer reading. Screenshots of all the important steps are available on my OneDrive.

  1. 3 sales orders exist
    1. A sales order for customer 1101
      1. Sales line for 5 pcs of 000147_202, reserved physically
      2. Sales line for 10 pcs of 000148_202, reserved physically
      3. Order is released to warehouse, with work created as follows
        1. Pick 5 pcs of 000147_202 from LP-002
        2. Pick 10 pcs of 000148_202 from LP-001
        3. Put all to BAYDOOR
    2. A sales order for customer 1102
      1. Sales line for 10 pcs of 000147_202, reserved physically
      2. Sales line for 15 pcs of 000148_202, reserved physically
      3. Order is released to warehouse, with work created as follows
        1. Pick 10 pcs of 000147_202 from LP-002
        2. Pick 15 pcs of 000148_202 from LP-001
        3. Put all to BAYDOOR
    3. A sales order for customer 1103
      1. Sales line for 5 pcs of 000147_202, reserved physically (at level above location)
  2. John logs in to the warehouse mobile devices portal and executes work for first order
    1. As actual inventory in LP-002 is insufficient for 000147_202, he executes a Short pick
      1. Enters Pick qty = 0, Reason = "Items not there - Adjust out", does not enter License plate, and confirms the short pick.
      2. The pick line is now closed, work quantity on it adjusted to 0, along with subsequent impacted lines (in this case, the Put line)
      3. As a result of work exception setup "Adjust inventory", a new work order of type Inventory movement was created and is automatically executed and closed. It adjusted out 10 pcs of 000147_202 from LP-002.
        1. 5 pcs were adjusted as part of the current pick line
        2. 5 pcs were adjusted because of work exception setup ("Remove reservations" flag on Adjustment type used). This removed the reservation for sales order #3, as there is no on-hand available for this item anywhere else in the warehouse with the specified inventory status. If there was inventory available, the reservation would not get removed, as it does not matter which location the items are in on the sales line level.
        3. 10 pcs did not get adjusted, as they are physically reserved for an open work pick line, and we never touch open work. This work would now need to either be cancelled, or same as current one, short picked.
      4. Sales order is still in Released status. When inventory is available again, we will need to manually add the corresponding shipment to a new or existing wave and process it to create remaining picking work.
    2. John walks over to location LP-001 to pick item 000148_202, but inventory is insufficient there as well, so he executes another Short pick
      1. Enters Pick qty = 2, Reason = "Items not there - Count", enters the LP to pick from, and confirms the short pick.
      2. John will now enter the Target license plate, and then deliver the 2 items picked to the bay door.
      3. The entire work order is now Closed, as all operations have been completed for it.
      4. A new Open work order of type Cycle counting was created for counting location LP-001. This is based on the work exception setup "Automatically create cycle counting".
      5. The corresponding load line quantity was reduced from 10 to 2, as a result of work exception setup "Automatically decrement shipment or load". This means this particular load line is now ready for shipping to the customer
      6. Sales order is now in Partially released status. When the inventory is available, the sales order will need to be released again to create work for the missing pieces.

Hotfixes

These are some of the hotfixes you should download. I believe all of them made it into CU9.

KB 3046556 - The short pick functionality ends in an unhandled state during cluster picking
KB 3031012 - "No conversion definition found from" when processing a short pick for a work
KB 3071198 - Quantity is updated incorrectly when doing short picking on transfer orders
KB 3069579 - Print line in work shows wrong quantity after a short pick

Wednesday, July 01, 2015

Tutorial: Custom work types and shipment notes on the mobile device in Warehouse management module in Dynamics AX 2012 R3

Business case

A customer requires that we upon request ship them HDMI cables packaged into special boxes that they have provided us with. The sales clerk taking the order over the phone puts in a Note whenever the goods need special packaging.
The expectation is then, that the warehouse worker executing the picking will get notified of the customer requirement, so he can also pick up the special boxes and pack the goods into them. Since our company carries many different HDMI cables, the number of boxes required is different each time. The worker is then also required to print the necessary number of labels, so that each box is accurately labeled. Once all of this is done, the special boxes can be loaded onto the transportation vehicle and shipped to the customer.

Walk-through

A complete walk-through of the scenario described above is available on my YouTube channel.


Brief summary

Here's a quick recap of what happens in the video for those who prefer reading. Screenshots of all the important steps are available on my OneDrive.
  1. A sales order for above customer, with Note (DocuRef) added on header level
    1. Sales line reserved physically, order released to warehouse
  2. On mobile device, execute the picking work
    1. An extra screen is shown before actual picks start, showing the shipment notes (telling the picker to use special boxes)
    2. After pick/put to stage, extra screens are shown
      1. How many boxes were used? This is a custom data input screen. This data is then saved on the work line for future use.
      2. Confirmation screen is shown with some information for work user. In this case, it's asking him to label all the boxes with the adhesive labels that were printed based on the above input of how many boxes he used, and press OK when he's finished.
    3. Now we can load the goods onto the truck.
  3. Review the completed work and related Custom data (No of boxes used).
  4. Review Warehouse management parameters
    1. Mobile device note type setting, which controls what type of DocuRef documents will be shown on the mobile device
  5. Review Work template setup. Two additional work template lines are added, both using Work type = Custom.
    1. A confirmation custom work type, that does not capture any data and only shows a message to the work user on the mobile device.
    2. A question (user interaction) custom work type, that captures data, asking for number of boxes used, as well as a custom method, which refers to a method on Classes\WHSWorkCustomData\ - in my example, this code would generate and print a specified number of labels.
  6. Review Document routing setup, where the label printer and layout are set up. Not of interest to this post. See my other post about label printing for more details.

Other possibilities

Here are a few other examples where it might make sense to rely on custom work types:

  • Capture the pallet type during picking. This data would be stored for later use.
    • Optionally, capture number of pallets of the corresponding pallet type. Based on that, update the load for further calculations of shipping costs.
  • Capture load seal number during loading (including update of the load with that info)
  • Capture temperature/weight/other characteristics of the items during picking/receiving
  • Print the Bill of Lading report as part of the picking flow. The picker would then be the one to pick up the printed report.

I'd be interested to hear of the way your company uses this feature!