Thursday, March 13, 2014

AX2012 : Removal of suspension of recId allocation for table VendInvoiceInfoTable has failed.

Hi Friends,
Recently working on one environment on AX2012 FP CU4 I got the below error on posting purchase order invoice and the following steps helped to fix the error:
  1. Generate Full CIL
  2. Stop AOS
  3. Delete *.auc files
  4. Start AOS
Before running full CIL, I also tried with generating incremental IL, but that did not helped.

This might not be a sure shot solution but it worked for me.

Keep sharing!!!

Saturday, March 1, 2014

AX2012 R2 CU7 - Pallet transports -[Part III - Refill]

Hi Friends,
My previous two posts on pallet transports were about Setup and Inbound pallet transports, in this post let's have a look on refill pallet transports.
Refill's are required in warehouse to refill goods at picking locations. Normally the picking locations are refilled from buffer location.

Let's see setup required in system to generate automatic refill pallet transport:
1. Shipment reservation combination: Shipment reservation combination are defined on shipment template. This sequence is used to reserve goods for the shipment. Refill can be turned on only for item picking location sequence as shown below

2. Automatic creation and activation of refill transports can be defined in store areas.

Refills can also be created manually for a picking location from inventory locations form and then functions > Create refill as shown below, this option is only available for picking locations.

So let us walk through the first automatic scenario to create refill pallet transport using shipment reservation sequence.
First let's look at the setup and the current system situation. The current warehouse item setup for the item I will be using is as shown below

Note the item picking location is 01-01-01-1

The default issue location is 01-01-02-1 which is a bulk location

Now let us see the on hand of the item

Notice that all the goods are placed in the bulk location of my warehouse, see below all the locations where goods are currently stored are bulk locations

To keep it simple, I have defined the shipment reservation sequence to look only for item picking locations and have turned on the refill parameter as shown below:
So now we are all set to run the show, let's create a new sales order for this item

Notice the default location in SO line is coming from the warehouse items, let's take a look at inventory transaction at this point

Let's manually reserve the goods against the stock lying in bulk location, I am doing this to also show the reservation changes when we reserve the shipment

Let's move ahead and create an output order, this will create the shipment for the sales line, see below when the shipment is created it maintained the reservation done on sales line but the shipment status is still registered and it is not reserved

Now let's run the shipment reservation , the magic happens at this time, system will try to reserve the goods at the item picking location but as we know there is no on hand at item picking location and we have turned on the Refill parameter, so system will still reserve the goods at the item picking location and will also create a refill pallet transport from the bulk location to the item picking location, see below when we run the shipment reservation

Notice that the shipment status is registered but the reserved check box is turned on.
The reservation has changed to the item picking location and the status is Reserved ordered

At this point if you open the pallet transport screen you will see that system has created a refill pallet transport from the bulk location to picking location

Before proceeding further with the pallet transport,  let's activate the shipment and look at the picking list

Look at the picking route, it shows that goods needs to be picked from the item picking location

At this point if user tried to complete picking list he will get error because the refill is not yet  complete and the goods are still at the bulk location. So let's go to the refill pallet transport and complete it.

Look at the inventory transactions of the pallet transport

 Now let's look at the on hand of the item after completing the refill pallet transport, this shows that the goods have now been moved to the picking location:

Notice that on hand is now available at the picking location, so we are good now the picking location has been refilled form the buffer location and now we can complete the picking list created for the shipment

The shipment status changed to Picked

The inventory transaction is updated to picked from the item picking location

On the sales line the line quantity is shown as picked

The output order is shown as picked

So we walked through the scenario where system automatically created a refill pallet transport using shipment reservation sequence setup.

The other automatic scenario is the automatic creation of refill pallet transports from the store area setup.

When we pick item from a picking location (manually, from picking list or from any other pallet transport) then system automatically creates a refill pallet transport to the picking location if the remaining on hand qty falls below the setup defined in item warehouse location and if the store area of that location is having the automatic activation turned on and there is no other refill pallet transport already en-route to that picking location.

User can also create refills manually, directly from the location form, but this button is enabled only for the locations of type picking. The system uses same algorithm to check and create a refill pallet transport when it creates automatically or manually. Interested readers who want to read the code can check out the \Classes\WMSPickingLocationRefillCheck\checkAndRefill() function to understand more on the logic behind it.

So to summarize, refill pallet transports are created in the following situations:

  • Automatic -> Shipment reservations
  • Automatic -> Completing the picking route 
  • Automatic -> Completing pallet transport
  • Manually -> Refill function from locations form for picking locations.
Have a nice day and stay tuned...