Sunday, April 6, 2014

AX2012 R2 CU7 - Pallet transports -[Part IV - Outbound]

Hi Friends,
In continuation to my blog post series on pallet transports, this is the fourth post ,the previous posts can be found at these links (Part IPart II and Part III ).
In this post I'll be talking about the setup required to create outbound pallet transport in Microsoft Dynamics AX2012 R2 CU7.
An outbound pallet transport is created during shipment reservation and is controlled by the shipment reservation combination for the method Output transport - all bulk locations.
As the name suggest, when goods are lying in bulk locations and shipment reservation combination is running the rule - "output transport - all bulk location", outbound pallet transports are created. The rule means that if goods are lying in bulk locations then create the outbound pallet transport to move them to outbound dock. If there are no goods lying in bulk locations then system will try to reserve based on the rule with next priority and if there is no rule then reservation will fail.

So let;s walk-through this in a standard AX2012 R2 CU7 environment, I have on hand of the item no  "000139_202" in the bulk locations as shown below:

My shipment template is using shipment reservation sequence which uses a shipment reservation combination having Output transport - all bulk locations at highest priority configured in it;s line as shown below:

So now I create a sales order and then an output order which in turn create the shipment of the sales line.Notice the inventory transaction at this point

Now let's run the shipment reservation, at this point system checks the availability of goods at bulk location and as they are available system creates a output transport from bulk location to the outbound dock. Also interesting to see the inventory transactions at this point

We can look at the pallet transport from shipment inquiry >> Pallet transport option.

Now we can activate the  transport and then we can view it on the pallet transports form

Let's complete the pallet transport and then see the inventory transactions of the shipment lines. You will notice that the status is updated to "Picked"

Also interesting to note that system did not created any picking list or picking route in this case as this task has been accomplished by the pallet transport itself.
Technically the magic happens in WMSReservationEngine class which initialize the object of WmsReservation class based on the Reservation method, see below in this case the class created is WMSRreserve_Output

There is lot more to explore and find the hidden jewels of AX in these classes.The method to trigger the creation of output pallet transport is called in reserve()  as shown below:

So we saw in this post how we can configure shipment reservation combination to create outbound pallet transports.

Thanks for reading the blog, keep sharing.


  1. Idea is really nice. you should patent this.

  2. Hi! Thanks for sharing this!!
    I'm now trying to understand how the reservation works when selecting pallets to generate the transport. I can see now that with the current setup*, AX does not take into consideration the sorting order for the locations. Instead it reserves through FIFO into each location. Is this the way it works? Do you know any setup I can try, so that the reservation takes into account the sorting order?
    Thanks a lot!!
    * Item Model Group is not set for FIFO reservation. // Ails and Locations got their sorting orders.

  3. (Following...) Let's say there are two workers putting away the pallets they've just brought from Production WH. They are working at one rack each (store locations). So we have the following transactions (chronologically registered):
    Pallet A (Qty 10) - Stored at Location 1 - Worker X
    Pallet C (Qty 10) - Stored at Location 3 - Worker Y
    Pallet B (Qty 10) - Stored at Location 2 - Worker X
    Pallet D (Qty 10) - Stored at Location 4 - Worker Y

    Shipment is for Qty 20 and the reservation sequence should only find pallets at store locations, in order to create pallet transports.
    The way it's working now, AX reserve Pallet A and Pallet C (FIFO).
    I need to make it reserve Pallet A and Pallet B (Sorting order for Locations)

    Thank you again!! Regards

    1. Hi Julieta,
      Thanks for reading the blog and sharing your scenario. Reservation engine in AX is based on many parameters, it is not based on FIFO always. AX do sort on the basis of inventory dimensions. Can you tell me about the shipment reservation combination setup in your setup template. Also refer to this good blog on reservation sequence in AX.

      Rachit Garg

    2. Hi Rachit! Thank you for your prompt reply!
      I actually tested different scenarios in order to understand it is reserving using FIFO. Reservation combination is setup for "Output Transport - All Bulk Locations" only, because the shipments are always completed with full pallets. This is why I need to accomplish the reservation for Locations Sorting Order (or at least alphanumeric).
      I took a look at the link you sent. Thanks! It would be great if I could accomplish what Kurt says at my environment, because that's what my Client wants.
      My Client has AX 2012 Feature Pack, maybe we are not at the same RollUp :| even though I checked the code and it's the same.
      Thanks again!