Thursday, April 17, 2014

AX2012 R2 CU7 - Pallet transports -[Part V - Relocation]

Hi Friends,
In this last part of my pallet transport series in continuation to my previous posts here . I will show how we can create relocation pallet transport in Microsoft Dynamics AX 2012 R2 CU7. These are created to move pallets inside a warehouse from one bulk location to another bulk/picking location. This could be for any reason like any maintenance activity to be carried inside a warehouse or to make some space in warehouse and move goods to another location.

So for illustration let's see on hand on my test item in the system, notice goods are at bulk location for pallet 00000638_114.
Now in order to create a relocation transport, we can right click on the pallet ID and go to Pallet form

 Now go to Functions --> Move Pallet

This will open the move pallet dialog where user needs to select the toLocation where this pallet needs to be moved to.

The list of locations shown in To-Location are based on the logic which can be found in the method findFreeLocations() in table TmpWMSLocation table. It Is based on the location where the pallet is currently available:

Click OK system creates a relocation transport which can be viewed from the pallet transport handling button

 We can now go to pallet transport handling form and follow the normal process of starting the pallet transport and complete it.

Once we complete it, see the on hand of the item and we can see that goods have been moved to another bulk location.

The class used in the above process is WmsPalletMove and the code to create the relocation pallet transport can be found in method createRelocationTransportOnServer().

This was the last blog post in the pallet transports blog series. I hope this will be of help the readers to to understand the basics of pallet transports in Microsoft Dynamics AX 2012 R2 CU7 and it's previous versions.With the upcoming AX2012 R3 release the community is excited to see the new functionalities in the AX WMS portfolio and probably some features are getting changed in this area too.
Till my next blog,....take care and keep sharing :).

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.