SCM related Question and Answers on Dynamics AX
12 January 10 02:34 PM | axscmblg | 0 Comments   

The Microsoft Dynamics AX Technical Newsgroups are excellent sources for technical and application related information about Dynamics AX.

We encourage you to use the newsgroups when looking for advice or answers for question on Dynamics AX.

During the last year, we received a number of question thought this blog, usually as follow-up questions to the information that we provided. The following Q&A list is an extract with answers to some SCM related questions that might be of general interest to our readers.

BOM setup

Question: I would like to know how we can set up a BOM that uses raw materials to produce end products.

Example:

Sunflower seeds (raw material) are crushed to produce sunflower oil (finished product) and cake (finished product)

The ratio for the finished product is 64% cake and 36% oil for every 50MT of seed.

Can we use the BOM Report as finished journal to process the end products? The crushing is done by a third party and only service fee is paid for the crushing.

Answer: Customers have used the Report as finished journal for disassembly in the past. Your scenario is not disassembly, but it does have multiple outputs.

BOM item = Cake (with a positive quantity)

BOM line = Seed (with a positive quantity)

BOM line = Oil (with a negative quantity)

However, we must inform you that this is very basic functionality and as such it has its limitations.

For example, you mention that crushing is done by a 3rd party. You will have to customize to, for example, check the stock of cake, seed and oil at the crusher's site and generate documents for invoicing/excise payments etc. while moving goods to and from warehouses.

The Report as finished journal is designed for companies with a limited need for production functionality and which, typically, do not buy the Production licenses.

If this scenario corresponds to your customer scenario, we recommend caution if you apply a setup as described above.

However, if you expect a large amount of these transactions, consider using the Process Industries functionality which is available through the PMF and PDS licenses on top of Microsoft Dynamics AX 2009.

Click here to download the add-on features.

Possible use of pallet IDs

Question: We would like to implement pallet IDs in Dynamics AX 3, service pack 6. The reason why we want to use pallet IDs is that we want to represent a "box" in AX as a pallet. We would like to know the following:

1. All boxes are stored in a packaging warehouse. Do we need to create a transfer journal to move the pallet from the packaging warehouse to the receiving warehouse? The receiving warehouse is where the goods will be entered into a pallet.

Answer: No, a pallet movement can also be used for this purpose.

2. Can the pallet be initialized at receipt using the Registration form? Or must we create an arrival journal?

Answer: The Registration form, available from Accounts payable > Inventory > Registration, can be used. A new pallet can be created in the Pallet setup form.

3. Can items be transferred from one pallet to another pallet? That is, how do we handle the scenario where an item is registered for a sales order and a new pallet/box needs to be specified?

Answer: We assume that the scenario has to do with a picking task. Any pallet with an available on-hand quantity can be selected. If the scenario has to do with a packing/staging function of picked inventory being moved to another pallet/box, the AX 2009 version is required.

4. Will the pallet still be available in the system when the item is sold? Or does the pallet disappear from the system when the item is picked?

Answer: A pallet can be reused in Dynamics AX. It can be specified on the warehouse that an empty pallet should be moved to an empty pallet location when the last item is picked from the pallet.

5. Can we skip using picking routes?

Answer: Yes a picking registration can be used and so can the picking journal in Dynamics AX3.

Automatic picking location assignment for receiving goods in WMS

Question: Can you describe how, in AX 2009 WMS, to receive goods on pallets and have a picking location assigned automatically if a picking location does not exist for the item?

Answer: Thank you for the feature request. We are sorry to say that this is not possible.

Automatic change and assignment of picking locations is not possible in existing versions of Dynamics AX.

If you select the Check picking location check box on an Item arrival journal line and no picking location exists, you get a message upon validation about the lack of a picking location setup for the warehouse item.

Picking list sorting by location

Question: I have problems getting the pick list to sort by location. Please share some information on how to accomplish this task in Dynamics AX 2009.

Answer: The picking list lines (wmsOrderTrans) are sorted using this method call: WMSOrderTrans::queryAddSortDefault(qbdsWMSOrderTrans); in the init() method on the form data sources.

The method has the following sort order:

_qbS.orderMode(_orderMode);

    _qbS.addSortField(fieldnum(WMSOrderTrans, RouteId));

    _qbS.addSortField(fieldnum(WMSOrderTrans, IsReserved), SortOrder::Descending);//un-reserved should end up in the bottom

    _qbS.addSortField(fieldnum(WMSOrderTrans, ItemSortCode));

    _qbS.addSortField(fieldnum(WMSOrderTrans, SortCode));

    _qbS.addSortField(fieldnum(WMSOrderTrans, ItemId));

    _qbS.addSortField(fieldnum(WMSOrderTrans, ItemTagging));

    _qbS.addSortField(fieldnum(WMSOrderTrans, CaseTagging));

The wmsOrderTrans.sortCode is set based on the sortcode on the wmsLocation.sortCode.

Hope this helps,

Dynamics Ax SCM Team

Setup for Processing Inbound Pallet Transports
14 December 09 03:57 PM | axscmblg | 3 Comments   

Introduction

This post provides details on how to set up AX 2009 to enable inbound pallet transports. The description includes an overview of:

  • The inventory breakdown setup
  • The item setup for Warehouse management
  • Item receipts and processing of pallet transports using the Item arrival journal

Inventory Breakdown Setup

The inventory breakdown setup includes setup of a warehouse, a store area, store zone, aisles, and locations.

Follow the guidelines below to create this inventory breakdown structure:

clip_image002

Create a store area

Create a store area called Bulk-13 and associate it with a store zone called SZ-13.

1. Click Inventory management > Setup > Inventory breakdown > Store areas, and create a new store area called Bulk-13.

2. Click Inventory management > Setup > Inventory breakdown > Store zones, and create a new store zone called SZ-13.

3. On the Store areas tab, select Bulk-13 under Available and click <.

clip_image004

Create a warehouse

Create a warehouse called 13.

1. Click Inventory management > Setup > Inventory breakdown > Warehouses.

2. Create a new warehouse called 13 and, in the Site field, select S1.

3. On the Location names tab, select the following check boxes:

  • Include aisle
  • Include rack (Format = "-##")

clip_image006

Create aisles

Create two aisles called 01 and Special. Aisle 01 is for the normal bulk and picking locations and Special is for the inbound and outbound locations.

1. In the Warehouses form, click Inquiries > Inventory aisles.

-or-

1. Click Inventory management > Setup > Inventory breakdown > Inventory aisles.

2. Create the aisles 01 and Special.

clip_image008

Create locations

Create two types of locations for each of the aisles that you have created and associate the locations with the corresponding aisles.

1. In the Inventory aisle form, select aisle 01, and click Locations.

2. In the Locations form, create a location with the following setup:

a. Warehouse = 13

b. Location type = Picking location

c. Max pallets = 10

d. Aisle = 01

e. Rack = 1

f. Input area = Bulk-13

3. Create another location with the following setup:

a. Warehouse = 13

b. Location type = Bulk location

c. Max pallets = 10

d. Aisle = 01

e. Rack = 2

f. Input area = Bulk-13

4. Close the Locations form, and in the Inventory aisles form, select the aisle Special, and click Locations.

5. In the Locations form, create a location with the following setup:

a. Warehouse = 13

a. Location type = Inbound Dock

b. Max pallets = 10

c. Aisle = Special

d. Rack = 0

e. Set manual update = Yes, in order to set location identifier manually

f. Location = Inbound

6. Create another location with the following setup:

a. Warehouse = 13

b. Location type = Outbound dock

c. Max pallets = 10

d. Aisle = Special

e. Rack = 0

f. Set manual update = Yes, in order to set location identifier manually

g. Location = Outbound

clip_image010

Item Setup for Warehouse Management

Use the standard AX 2009 environment with the Contoso demo data and create a location and pallet controlled item.

Standard setup based on the Contoso demo data
  • Inventory model group = FIFO
  • Inventory dimension group = N-WLP (the dimensions Warehouse, Location, and Pallet ID are active)
  • Default Site = 1
Create an item

Create an item called _Pallet_Transport, and set up warehouse item details.

1. Click Inventory management > Item details and create a new item called _Pallet_Transport.

2. Click the Setup tab to apply the following Warehouse management settings:

  • Pallet type = 42"x42"
  • Pallet quantity = 10.00
  • Min. output pallet quantity = 10.00

3. Click Setup > Warehouse items, create a new record using the following values:

  • Warehouse = 13
  • Store zone = SZ-13
  • Default receipt location = Inbound
  • Default issue location = Outbound
  • Picking location = "01-01"

clip_image012

Item receipts and processing of pallet transports

The item receipts scenario described in the following includes the creation of a purchase order and the use of the Item arrival journal to register the item.

Create a purchase order

1. Click Accounts payable > Purchase Order Details to create a new purchase order for 10.00 of the item _Pallet_Transport.

2. Apply the following settings for the purchase order line.

  • Site = 1
  • Warehouse = 13
  • Location = Inbound ***

3. Click Inventory management > Periodic > Arrival overview and select the purchase order that you created.

4. Select the Select for arrival check box, and click Start arrival. Note the journal reference that is created.

clip_image014

5. Double-click the message in the Infolog dialog box, or click Inventory management > Journals > Item arrival > Item arrival and select the journal that was created.

6. Select the journal line, and click Functions > Pallet ID to assign a pallet to the item and post the item arrival journal.

clip_image016

Run a pallet transport and deliver goods to the picking location

1. Click Inventory management > Pallet transports, and select the pallet transport that was created for the item _Pallet_Transport.

2. Verify or change the value in the Destination location field, and click Start transport to start the transport.

3. Click Complete transport to finish the process, and receive the item in the destination location.

clip_image018

Review pallets on location, trace transactions etc.

You can now check the item transactions to verify that the items are in the desired location in warehouse 13.

1. Click Inventory management > Setup > Inventory breakdown > Locations and filter by warehouse 13 using the advanced grid filter.

2. Click Inquires > On-hand to review goods available on this location. You may notice that the value in the Number of pallets field is now one.

clip_image020

3. Click Inquiries > Transaction > Inventory > Trace to get the overview of inventory transactions.

clip_image022

Hopefully, this post clarifies the setup and transactions required to complete a basic inbound pallet transport flow within AX 2009. You can manually move a pallet further down from the point described to another location or you can start a new pallet transport within the same site. However, you cannot delete the pallet from the location unless the pallet is empty or no open transactions exist.

Ievgenii Korovin and Bibi Christensen,  Inventory Management, Microsoft Dynamics AX.

Arrival overview
29 November 09 04:24 PM | axscmblg | 3 Comments   

Introduction

In Microsoft Dynamics AX 2009, the Arrival overview form is introduced to improve the overview of items expected to arrive as incoming goods. The new feature provides an overview of all expected incoming items and arrivals can be initialized based on the overview. The focus of this blog post is the functionality of the Arrival overview form and the receiving process. For more detailed descriptions, please refer to the Trade and Logistics I in Microsoft Dynamics AX 2009 and the online Help.

Business scenario

Consider the following scenario to learn how the feature can support the tasks of the inbound processes.

image

Assume that Sammy, a receiving clerk, wants to know what is expected to be received on the same day.

In the Arrival overview form, Sammy can get an overview of the current tasks and a rough estimate of quantities, volume, weight, different order types, and so on.

Subsequently, assume that a delivery arrives at one of the inbound docks and Sammy receives a list of the delivery.

In the Arrival overview form, Sammy can do the following:

  • Identify the matching receipt order and register the receipt as In progress. The lines required for a registration are generated automatically, and the receipt can be monitored even though the transactions have not yet been posted as Arrived.
  • Access the appropriate arrival journal reference, that is, the Item arrival journal or the Production input journal, and identify journals that are ready for a packing slip update.

Facts on the Arrival overview form

The Arrival overview form is located under Inventory management > Periodic > Arrival overview.

In the form you can view a list of expected orders to be received. The overview is divided into header and lines. The header information is grouped by the order type, expected receipt date, and delivery destination.

When a header line is selected for arrival, all the detail lines that are related to this specific receipt reference are selected for arrival in the line details part of the form. When all lines have been posted as item arrivals or are in a later state, this information is not displayed.

clip_image004

Arrival overview – Setup

The Arrival overview form provides an overview of items that are expected to arrive and the date they are expected to arrive. The settings in this form can be saved for individual users and for individual computers so that users can have their personal settings on computers in the inbound area. One user can maintain multiple sets of personal settings.

clip_image006

Setup scenario

Sammy wants to set up a new computer at a location which is going to be used to receive finished goods coming from production at Site “1” . On the Setup tab, Sammy selects the following settings:

  • Under Site, a site in the Restrict to site field to limit the view in the overview area.
  • In the Transaction types shown group, the Production orders check box.
  • In the Journal group, a receiving warehouse, a location, and a journal name (item arrival/production input).
  • In the Miscellaneous group, the Update on startup check box to have the view updated automatically on startup and the Update on range change check box to have the view updated automatically when changing range values.
  • In the overview area under Range, information about a day interval and the warehouses to include in the overview.

Sammy saves the setup under the name “Prod. Input” by clicking Modify > Save as on the Setup tab.

Prerequisites for arrival journals

On the Setup tab, specify the appropriate information under Journal:

clip_image008

  • A journal name must be specified to create a journal.
  • If Site, Warehouse, and Location are specified, these values are applied on the journal lines. If no values are entered here, the values from the dimension specified on the inventory transactions are used.

clip_image010

Arrival overview – Start arrival

Receive items from one or more expected receipt orders.

Items received from one expected receipt order

Sammy selects a line under Receipts and clicks Start arrival. All related lines within the specified range and with a quantity to register are automatically selected. An item arrival journal is generated with a match between the expected receipt order and the journal. All lines are created with an automatic initialization of quantity.

Items received from more than one expected receipt order

Sammy multi-selects lines under Receipts and clicks Start arrival. An item arrival journal is generated with a match between all the expected receipt orders and the journal. All lines are created on one item arrival journal header with an automatic initialization of quantity.

Arrival overview – View information

Get an overview of expected receipts within a date interval.

Sammy opens the Arrival overview form, enters the following information under Range, and clicks Update to update the view:

- Days back: (Blank)

- Days forward: 0

- Warehouses: GW, MW

- Show lines: All

Sammy can view the following information

  • All related receipt orders for an infinite number of days back from the system date including the system date (the InventTrans.StatusDate interval) and receipts to warehouses GW and MW regardless of status.
  • Detailed line information for more than one order. Sammy can multi-select header lines in the overview to view the corresponding line detail information for all selected header lines.
  • Information about a specific purchase order. Sammy can enter a reference Number in the Vendor reference field, to only display information related to the specific reference number in the overview.
  • An overview of the registration tasks that are due for all the order lines where an item arrival journal has been created but not yet posted. To view this information, Sammy can select In progress in the Show lines field.

Arrival overview – Update journals

To register one or more order lines due to be processed, Sammy can select the lines in the overview grid or in the line grid and click Journals -> Show arrivals from receipts. The item arrival headers that match the lines are shown.

To packing slip update registered items, Sammy can access the item arrival journal headers that are ready for update from Journals -> Packing slip ready journals. All the header lines that are ready for packing slip update within the specified Warehouse range (not day-interval related) are shown.

Start an arrival registration

By multi-selecting lines in the Arrival overview form Sammy can start an arrival of more than one receipt reference. When he selects a line from the receipts overview, the corresponding line details are selected. If a quantity for registration exists, the Start arrival button is available. Sammy can use two different methods to start the arrival registration:

1) Activate the Vendor reference field in the Arrival overview form and scan a reference number from a vendor such as a packing slip barcode. Then click Update to update the overview and the details part of the form to only show the corresponding search criteria records.

2) Manually select or deselect records for arrival registration in the overview or the details part of the Arrival overview form.

When Sammy clicks the Start arrival button, the selected records are automatically created in an item arrival journal, including line information with all possible unique field information assigned.

Update arrival information, and post a packing slip

When all goods have been registered, the warehouse manager or the purchasing manager can update the received items with a packing slip to add the physical cost. To update arrival information and post a packing slip, follow these steps:

1. Click Inventory management > Periodic > Arrival overview to open the Arrival overview form.

2. Click Journals > Packing slip ready journals to display a list of the journals that are ready for packing slip update.

3. Select the journals that must be updated, and then click Functions > Packing slip to open the Posting form.

4. Enter the packing slip number, if it is not already available on the journal, and then click OK to post the packing slip.

Summary

The Arrival overview form can help the warehouse manager and warehouse workers achieve an overview of expected work to be done as part of an inbound process. The form can also be used to start the item arrival process to make sure that items are tracked at the first entry into the warehouse.

By Ievgenii Korovin, Per Lykke Lynnerup & Bibi Christensen, Inventory Management, Microsoft Dynamics AX.

Refill of Picking Locations in Dynamics AX 2009
20 August 09 09:38 AM | axscmblg | 0 Comments   

In AX 2009, the task of refilling picking locations was automated and improved. The main idea behind the new functionality is that, if required, processes that impact quantities at picking locations should activate a refill.

This blog post describes how to set up parameters for the new functionality and how to use it. It also includes references to the code where some of the main functionality is implemented.

Parameter Setup

To enable automatic creation and activation of refill transports, you need to set up the following parameters.

·         Select Automatic activation for the picking store area in the Store area form under Inventory management > Setup > Inventory breakdown > Store areas.

image 

With the new check box for automatic activation the periodic Create refill batch job becomes obsolete.

·         Enter a value for the warehouse item in the Required minimum field in the Warehouse items form under Inventory management > Item details > Setup > Warehouse items. You can also define a maximum quantity to control the quantity that can be transferred to the location.

image

Creation of Refill Transports

Once the required setup has been completed, refill transports are created when the following events occur:

·         A pick reduces the quantity at a picking location to a quantity that is below the required minimum (WMSOrderTransType_OutputDontPostTransfer.activateRefill() is responsible).

·         A picking route is activated or started (wmsPickingRoute.activateRefill() is responsible).

·         A pallet transport is finished (wmsTransport.activateRefill() is responsible).

To determine whether a refill transport should be created, the following rules are applied:

1.       If (physical inventory on the location >= Max. storage capacity) -> no refill is created.

2.       If (physical inventory >= Required minimum) -> no refill is created.

3.       For picking route activation and start, the quantity that is already on activated and started routes are taken into consideration and the formula is:

a.       If (physical inventory – quantity on activated/started routes >= Required minimum) -> no refill is created.

These rules are implemented in the method WMSPickingLocationRefillCheck::checkAndRefill().

Note: Refill transports that are created manually ignore the maximum storage capacity that is specified in the Warehouse items form, so for manually created refill transports the maximum storage capacity can be exceeded.

If none of the above rules evaluate to true, an attempt is made to create a refill with a requested quantity equal to the maximum storage capacity minus the physical inventory on the location.

The refill transport functionality now supports partial deduction of items from a pallet so reservations on a pallet are made even if the requested quantity is smaller than the quantity of a full pallet.

If a partial pallet is moved using a refill transport, the check box To pallet required is selected:

image 

If the item being transported uses serial numbers or similar dimensions, it is possible to change the dimensions on the transport lines and thereby change the reservation. For example, an operator can now move items reserved at the bottom of a pallet to the top of the pallet.

When the transport is started, you are asked to specify the pallet that the items are going to be moved to:

image 

In this example, only part of what is on the pallet is going to be moved so you must specify a pallet or create a new pallet at the To location.

If a pallet has not been specified at the To location, you are asked to specify the pallet when the transport is finished.

Note: The To pallet dimension is automatically selected in the dialog box if:

-          Only one pallet exists on the picking location.

-          The Use empty pallet location setting on the warehouse item specifies that an empty pallet should not automatically be moved to the empty pallet location.

By Bibi Christensen, Per Lykke Lynnerup & Lennart Conrad, Inventory Management, Microsoft Dynamics Ax.

Picking update via .Net Business Connector
14 July 09 01:27 PM | axscmblg | 0 Comments   

We have received extensive feedback on previous blog postings about the outbound processes within Inventory management in Microsoft Dynamics AX. Many readers have requested information on how to interact with Microsoft Dynamics AX via .NET Business Connector to create picking operations.

With this technical posting we will try to demonstrate how easy it is to code a terminal solution in C# .NET and call simple picking update methods in Microsoft Dynamics AX.

The solution is coded by using Microsoft.Dynamics.BusinessConnectorNet;

You will need a reference in the project to run the example code.

HINT: Get more information about the .NET Business Connector at MSDN (Microsoft Dynamics AX Developer Center) http://msdn.microsoft.com/en-us/library/aa659581.aspx

This small Microsoft Visual Studio project includes information about:

How to log on to an AX installation

// company name, language, object server, configuration            
// this uses Windows Authentication            
 ax.Logon(CompanyId, null, null, null);

How to read data from AX and insert the data in a grid on a Windows form

clip_image002[9]

View picking routes in the upper pane and picking lines in the lower pane.

How to prepare data and call picking update functions from the .NET C# code

Picking in AX: In AX you can pick multiple lines by calling the WMSOrderTrans::finishPickingLinesMulti method. This method takes a packed AX Map where the key is the recId of the wmsOrdertrans to be picked and the value is an AX container with the OrderId and recVersion.

The example shows how to prepare the map and call the method to do the pick.

        
private AxaptaObject BuildAxaptaMapForWMSPickingLines()
{
//build a map of the following structure
//key is <c>WMSOrderTrans.recId</c> and whose value 
//is [WMSOrderTrans.OrderId,WMSOrderTrans.recVersion].
AxaptaObject axMap = ax.CreateAxaptaObject("Map", (int)Types.Int64,(int)Types.Container);

foreach (DataGridViewRow dgvRow in wmsOrderTransGrid.SelectedRows)
{
    AxaptaContainer axContainerWMSPair = ax.CreateAxaptaContainer();
    DataRow row = null;
    DataRowView drv = (DataRowView)dgvRow.DataBoundItem;
    row = drv.Row;

    axContainerWMSPair.Add(row.Field<string>(1)); //orderid
    axContainerWMSPair.Add(row.Field<Int32>(7)); //recversion 

    //add to axapta map
    axMap.Call("Insert", 
       row.Field<Int64>(6), axContainerWMSPair);
}
    return axMap;
}
        
private void PickSelectedLinesFromMap(AxaptaObject axaptaObjectMap)
{
    // call below takes a packed map whose key is 
    // <c>WMSOrderTrans.recId</c> and whose value is
    // <c>WMSOrderTrans.OrderId,WMSOrderTrans.recVersion</c>.

    ax.CallStaticClassMethod("WMSOrderTransType", 
        "finishPickingLinesMulti", 
        axaptaObjectMap.Call("pack"));
}

Apart from the method to multi-update picking lines the project also includes a method to pick-update multiple picking routes by calling WMSPickingRoute::finishMulti.

private void PickSelectedRoutesFromList(AxaptaObject axList)
{
    ax.CallStaticRecordMethod("WMSPickingRoute",
        "finishMulti",
        axList.Call("pack"));
}

Have fun trying this yourself!

Bibi Christensen, Alexander Malafeev, Per Lykke Lynnerup & Lennart Conrad

Changes in Sales and Transfer Order Picking from Microsoft Dynamics AX 4.0 to Dynamics AX 2009
17 May 09 04:48 PM | axscmblg | 3 Comments   

Overview

The purpose of this post is to present the major changes and new functionality that was introduced for sales and transfer order picking in AX 2009.

The aim and the idea behind these changes is to move towards a single system for picking that can be shared in order to simplify and unify future extensions.

The post contains information about:

  • User Interface changes
  • Changes to tables and classes
  • Upgrade scripts
  • New functionality for order picking
  • New enhancements for advanced WMS outbound processes
Differences in terminology

Picking registration, as known in AX 4.0, is referred to as order picking. Picking with output orders and advanced WMS, as applied in AX 2009, is referred to as consolidated picking.

Differences from a UI perspective

The parameter Set inventory transactions to picked in AX 4.0 is now obsolete, and it has been replaced by the Picking route status parameter.

image

The following conversion rules apply:

Dynamics AX 4.0 Dynamics AX 2009
Set inventory transactions to picked = selected Picking route status = Complete
Set inventory transactions to picked = not selected Picking route status = Active

When you post a picking list, and the picking route status is Active, the reference for inventory transactions is set to Output order instead of Invent-picking list registration:

image

When you click Posting/Picking list registration from a sales order or a transfer order, a new registration form opens:

image

The Picking list registration form is used to register what was picked and it is quite similar to the picking registration form in AX 4.0. You can either update the entire picking route or update individual lines, and you can view and pick both consolidated lines and order picking lines in this form.

Additional functionality available from this form:

  • Barcode identification
  • Split of picking lines
  • Unpick of picking lines with the option to put items on another location
  • Cancellation of picking lines

A new inventory parameter, End output inventory order, is introduced:

clip_image008

The End output inventory order parameter controls whether or not the reference between an output order and inventory transactions is removed when you delete or decrease the quantity of a picking registration line.

If the End output inventory order parameter is selected, the behavior is similar to the behavior in AX 4.0, and that is to say that after posting, the inventory transactions do not reference an output order.

It the End output inventory order parameter is not selected, the reference between the output order and inventory transactions is not removed and a new picking route can be created from the Open output orders form.

When the picking list is posted, the status of the picking lines and the inventory transactions changes.

In AX 2009, there are no separate tables to store picking list journal and picking list registration data.

Differences from a code perspective

In AX 2009, picking is handled using the WMS module and several classes and tables prefixed with WMS are used. This means that several tables are controlled by the LogisticsAdvanced configuration key rather than by the WMSAdvanced configuration key as in AX 4.0.

The figure below shows how the tables in AX 4.0 map to the tables used in AX 2009:

image

Changes to classes

In AX 4.0, several classes were used when posting a picking list for transfer orders or sales orders. These classes are not directly replaced by new classes.

The picking route is updated by calling the updateRoute method on the WMSPickingRoute table.

The WMSOrderTransType class hierarchy is used for the actual pick of the line. A new class, WMSOrderTransType_Output_OrderPick, has been added, and this class is dedicated to order picking.

Upgrade scripts

The upgrade of the picking list data is handled by the createWMSPickingData script in the ReleaseUpdateDB41_Invent class.

Only active picking lists for registration that are not yet picked are updated into the new tables.

New functionality in the advanced WMS module in AX 2009

This post covers the changes to the order picking functionality.

However, several enhancements were made to the Advanced WMS functionality in AX 2009 enabling you to, for example:

  • Use shipment template priority for automatic addition of output orders
  • Add shipment lines in an active shipment process
  • Include service items and items without locations to a shipment
  • Partially activate a shipment picking process for inventory on hand
  • Rerun shipment reservation
  • Run shipment reservation and physical shipment updates in batch
  • Control shipment reservation rules
  • Use outbound rules to control the process
  • Use new picking forms to unpick operations
  • Cancel picking routes and individual lines
  • Use minimum quantity on bulk pallet before creating a pallet transport
  • Refill with less than a full pallet from bulk locations
  • Use new refill pallet triggers and automatically activate refill of pallet transports
  • Use a paper based picking list enhanced with barcode identification and sorting based on optimal route
  • Deliver picked items to staging/production
  • Pack items for loading and subsequently load items

Hopefully we would cover more on this exiting functionality in our next posts. Keep watching.

Per Lykke Lynnerup & Lennart Conrad, Inventory Management, Microsoft Dynamics Ax. 

WMS in Microsoft Dynamics AX 2009. Outbound Process Setup
26 April 09 11:23 PM | axscmblg | 4 Comments   

Introduction

This article describes the setup process of the outbound flow for external shipment in Microsoft Dynamics AX 2009. The process itself has already been described here, so the focus of this article is the settings and adjustments that can be made to the system to enable a typical business scenario within world class warehouses.

With this setup the following can be accomplished:

1) Use of locations within warehouses.

2) Inventory items are set up to use warehouse management including the consolidated picking method.

3) Output orders are automatically added to a shipment that is not yet activated or a new shipment is automatically created.

4) The shipment reservation runs automatically when the delivery date is [Today – 1 day].

5) The reservation sequence use multiple warehouses within a site and both batch picking routes and output pallet transports are used.

6) After having been picked, items are delivered to the shipment staging area and the staging can be completed. A shipment cannot be sent until all the shipment lines have been loaded.

7) When the goods have been shipped, the physical update is automatically carried through based on the shipment lines.

Why should I continue reading this post?

From this post you can get a clear picture of the main steps that need to be accomplished to set up basic outbound flows in Microsoft Dynamics AX 2009.

Set up warehouses

Start by creating a site [Inventory management > Setup > Inventory breakdown > Sites].

In this example, two warehouses are created and associated with the site [Inventory management > Setup > Inventory breakdown > Warehouses].

image

When using warehouse management in Microsoft Dynamics AX 2009 you can set up the warehouse layout. In general, two main strategies can be applied for the warehouse layout.

- Picking locations below bulk locations on the same rack

- Picking locations and bulk locations on isolated racks

In Warehouse 22 in this example, the picking locations and the bulk locations are on the same rack and in Warehouse 23, the picking locations are in an isolated area.

image

image

In Microsoft Dynamics AX 2009, a location can be specified by: Warehouse, Aisle, Rack, Shelf and Bin.

image

When using the Location wizard [Inventory management > Setup > Inventory breakdown > Warehouses > Functions -> Location Wizard], you must specify the format of the locations for the warehouse at the Location tab.

image

The Location and the Update store areas wizards make it possible to automatically create and update the warehouse layout. You can, however, also create and update the layout manually by using the entry forms in the Inventory breakdown folder.

image

In general, both inbound and outbound layout must be set up. The store zones make it possible to group store areas in order to, for example, ensure that items that need to be stored in a cooling area are guided to a cooling area location.

image

The area on top will be filled first when using random storage and directed put-away with an input pallet transport.

In this example, the bulk locations hold full pallets and both warehouses use random storage. The layout for Warehouse 23 is best suited for inventory that can be controlled with picking locations that have a smaller capacity than the bulk locations. In Microsoft Dynamics AX 2009, the item picking location must be specified on the warehouse item.

Set up items for warehouse management

When using warehouse management in Microsoft Dynamics AX 2009, items must be set up to enable the warehouse management processes.

Min. output pallet quantity

In this example, output pallet transport from bulk locations is used. To control when a pallet transport is created, the Min. output pallet quantity field on the Setup tab in the Item Details form is set to 24. This means that a pallet transport can be created as long as the pallet quantity is equal to or higher than 24.

image

Inventory model group

In this example, all items that hold inventory are associated with an inventory model group that uses the consolidated picking method.

image

image

Inventory dimension group

Items are set up with an inventory dimension group with active inventory dimensions for site, warehouse, location and pallet. Site is specified as a primary stocking location to ensure that the optimal warehouse within the site is reserved through the shipment reservation. Only items with the Location dimension selected can use an optimized picking route where an operator is guided between the different locations in the warehouse. When a shipment reservation is run, items that do not have the Location dimension selected are added to a new, not-optimized, picking route.

image

Warehouse item

The warehouse item specify different setting for an item related to a warehouse and you enter information about the item picking location and the store zones related to directed put-away in the Warehouse items form [Inventory management > Common Forms > Item Details > Setup > Warehouse items].

If you specify a value in the Required minimum field, a refill transport is generated from a bulk location based on the quantity in the Max. storage capacity field. Use the Automatic activation check box for individual picking areas to control if the refill transport should be activated automatically. The Mode of handling parameter can be used if both online terminal and paper picking is used within the same warehouse in different picking areas.

image

image

Shipment template (automatically add output orders)

A shipment template [Inventory management > Setup > Distribution > Shipment templates] can be created to automatically assign output orders to a shipment.

The shipment type in this example can only contain sales orders related to site 2 and only sales order lines that are going to be shipped with UPS can be part of this shipment.

image

The default shipping location is from Warehouse 22, but inventory from Warehouse 23 can also be used. For both warehouses a full picking logic is used with picking routes and output pallet transports including refill from bulk to picking locations.

Clear the Reservation required check box to allow activation of the shipment even though not all inventory is physically on-hand.

image

The priority indicates that based on this shipment template the program starts searching for matching output orders to be added automatically to a shipment.

Shipment reservation in batch

Set up running of shipment reservation in batch under [Inventory management > Periodic > Shipment update > Shipment reservation].

In this case the shipment reservation must be run when a shipment line is going to be delivered tomorrow. To add this query statement, use the LessThanDate(2) method which will return [< “Today+2 days”].

image

Shipment reservation sequence

The shipment reservation sequence defines how and where the shipment reservation process reserves. You set up shipment reservation processes under [Inventory management > Setup > Distribution > Shipment reservation sequence].

The shipment reservation process contains different layers: Reservation sequence -> Reservation combinations -> Reservation methods.

In this example, the reservation sequence at first tries to reserve inventory from Warehouse 23 and if this warehouse does not have enough physical inventory, Warehouse 22 is the next.

image

The reservation combination must be enabled for pallet transports and picking route logic.

Outbound rules

To control the process after picking, an outbound rule must be used and associated with the shipment. In this case, the picked inventory must be delivered to the shipment staging area and it must be loaded before the shipment can be sent.

image

Physical update of the shipment in batch

Set up running of shipment reservation in batch under [Inventory management > Periodic > Shipment update > Physical shipment update]. In this example, the related sales order inventory transactions will be deducted when the shipment is sent.

image 

Per Lykke Lynnerup & Ievgenii Korovin, Inventory Management, Microsoft Dynamics Ax. 

WMS in Microsoft Dynamics® AX 2009. Shipping Process Overview
06 April 09 10:44 PM | axscmblg | 9 Comments   

Introduction

The WMS (Warehouse Managements System) encompasses the core components within average Microsoft Dynamics AX installations that are implemented to manage and run world class warehouses.

The WMS functionality is enabled by the configuration keys LogisticsAdvanced, WMSBasic, and WMSAdvanced. Formal training is available with the courses “Trade and Logistics I in Microsoft Dynamics® AX 2009” and “Trade and Logistics II in Microsoft Dynamics® AX 2009”. The training material covers main flows and processes, but there is still plenty of room for discussions on this exiting subject.

Please welcome the first post of a WMS series on this blog.

Why should I continue reading this post?

This post describes core Microsoft Dynamics AX 2009 outbound shipping process components, such as output order and shipment, and it provides an overview of the outbound process in general. We would definitely recommend that you continue reading this post to:

·         Get a clear overview of outbound shipping processes with WMS in AX2009

·         Learn more about new features in the shipping process, such as consolidated picking

Let’s get started.

Outbound process

In Microsoft Dynamics AX 2009 outbound shipping via warehouse management is processesed through a shipment [Inventory management > Common Forms > Shipments].

A shipment is a collection of items that are packed in the same container for transport by, for example, ship, rail, truck, or plane. A shipment includes an entire order, a part of an order, or a consolidation of multiple orders.

Based on the contents of the shipment, one or more picking routes, one or more pallet transports, or both are created.

An output order is a request for a picking requirements and it forms the basis of a shipment. From the shipment you can activate a pallet transport, a picking route, or both. The shipment status is based on the lowest denominator of the shipment lines’ status.

When, for example, a sales order line is created in Microsoft Dynamics AX 2009 an inventory transaction is created with a negative quantity to control an expected issue of inventory. To control the process of issuing the physical inventory, an output order is used in the warehouse management area. The output order [Inventory management > Inquiries > Output orders] is created when the reference order is released (Posting of the picking list).

The output orders are associated with a shipment, and in that process Microsoft Dynamics AX 2009 creates shipment lines. When shipment reservation is run, the program creates picking routes and/or output pallet transports based on predefined settings. The following activation of the picking process makes it possible to pick and deliver picked inventory to the shipment staging areas where the shipment is staged and loaded before it is sent.

 

As shown below, the outbound process can be set up to include only part of the existing stages.

Output orders

In Microsoft Dynamics AX 2009, the warehouse management outbound processes use output orders [Inventory Management > Inquiries > Output orders].

 

The output order [Inventory management > Inquiries > Output orders] is created when the reference order is released (Posting of the picking list), or when a manual output is requested from the issue reference line.

The output order holds information about the status of the outbound process and it is linked to the detailed information of the issue reference line.

 

 

Relation to inventory transactions

When the output order is created, it takes “ownership” of corresponding issue inventory transactions. This relationship is maintained by two dedicated fields on the InventTrans table (TransChildType and TransChildTypeRef). All related inventory transactions are marked consistently against an output order. Consider the following code example of output order creation.

AOT/Classes/WMSOrderCreate/updateCreateWmsOrder()

inventTrans.TransChildType  = InventTransChildType::WMSOrder;

inventTrans.TransChildRefId = wmsOrder.OrderId;

Shipment

A shipment consists of a shipment header and lines, and the information relates to output orders which, again, relate to the different reference order lines. Note, that when using advanced warehouse management in AX, a shipment can contain references to multiple issue orders, and these orders can even be of different order types.

The shipment status is based on the lowest denominator of the shipment lines’ status. A shipment can be in one of the following statuses:

Status

Description

Registered

The shipment has been created but not yet reserved or, if just one shipment line exists, without being part of a route.

Reserved

The shipment has been reserved and picking routes and/or pallet transports have been generated, but they have not yet been released for picking.

Activated

Both picking routes and pallet transports have been released, but not all of them have been completed.

Note that picking can start even when all items for the shipment cannot be reserved.

Picked

At least one line of the shipment line is still at the picked stage.

Staged

At least one line of the shipment line is still at the staged stage.

Loaded

At least one line of the shipment line is still at the loaded stage.

Sent

The shipment has been sent and the shipment has been fully expedited.

Canceled

The shipment has been canceled.

Shipment template

A Shipment template available from Inventory management > Setup > Distribution > Shipment templates, is used as the basis of a shipment.

A shipment template is required only if features such as automatic shipment creation, automatic creation of output orders, or creation of shipments via a wizard are applied, otherwise a shipment can be created manually. When a shipment template is applied, output orders can automatically be assigned to a shipment – and then a shipment need not be created manually.

Picking

Microsoft Dynamics AX 2009 supports three outbound picking processes:

·         Consolidated picking

·         Order picking

·         Inventory transaction picking (for example, Accounts receivable > Common Forms > Sales Order Details (Lines) > Inventory > Pick)

The order picking and consolidated picking processes use the same framework, called output orders, but the consolidated picking method has much more functionality and it requires a license to Advanced Warehouse Management.

If consolidated picking is not applied, Microsoft Dynamics AX 2009 automatically creates a shipment and a picking route when, for example, a picking list is posted from the Sales orders form.

We do not recommend using inventory transaction picking in combination with one of the other picking methods since inventory transaction picking does not update output order related information.

The following example illustrates the possibilities of controlling the outbound warehouse management processes utilizing output orders in Microsoft Dynamics AX.

Consolidated picking implies that multiple orders can be combined into one picking list. The orders can potentially be of different types, for example sales orders or transfer orders.

Consolidated picking uses advanced shipment functionality such as reservation via shipment, activate picking, activate pallet transport, and guided picking routes.

For flexibility of use, the consolidated picking method can be set up in a hierarchy of levels:

-          Inventory model group

-          Warehouses

-          Warehouse items

-          Picking list posting

Unpick and cancelation of pick

In Microsoft Dynamics AX 2009 inventory can be unpicked and returned to a different inventory dimension as, for example, a location and/or pallet. The inventory transactions are returned to the original status after an unpick operation has been performed. The reference to the output order still exists, and the picking line can be updated to Picked again right after unpicking. When a picking line is canceled, the output order reference is moved to the issue reference line and the output order, therefore, needs to be released again from the issue order. Alternatively, the reference line or the “deliver remainder” quantity on the issue reference line can be canceled.

The unpicking and cancelation methods can be found on the picking list registration [Inventory management > Periodic > Picking list registration], lines – Functions. All the picking lines can also be canceled in one operation via Functions on the picking route header.

 

 Note that after the unpick action it is still possible to pick the same inventory again and again. Since the historical information is not stored in the system, the final inventory transactions are marked against the latest selected picking route, and the original reference using inventory transactions (TransChildType, TransChildTypeRef) is not valid anymore which means that these fields are empty on related inventory transactions. This aspect should be considered by every partner, who is planning to customize functionality in this area.

Data model

Please look at the following data model which represents the relationships between all entities in the scope of this blog post.

  

Per Lykke Lynnerup & Ievgenii Korovin, Inventory Management, Microsoft Dynamics AX. 

Quality Management in Dynamics AX 2009 - Upgrade essentials
15 December 08 05:31 PM | axscmblg | 0 Comments   

Quick abstract

As many of you may know, with the latest release of Dynamics Ax 2009, the new Quality Management System (QMS) module is available within the Inventory Management Area, formerly the Fullscope TQM (Total Quality Management) solution, which was acquired and evolves in the new module.

As some of you may know, the upgrade scripts from previous TQM solutions have been provided a couple of months after the official release. Considering the fact that the previous TQM solution was a part of the BUS layer, but not a SYS layer, the upgrade scripts weren’t included in the Dynamics Ax 2009 SP1 and they were only available as hot fix 955735 (since September 2008). You can request the hot fix from here

Why do I need to continue reading this post?

This post is about the TQM->QMS upgrade and there are at least three good reasons why we would recommend partners and Dynamics Ax professional to read it. The post will include information about:

·         the upgrade strategy from the BUS to the SYS layer between versions

·         pre-upgrade data requirements that any partner should be aware of in advance

·         how to adjust an upgrade process with a minimum of effort to support existing customizations

 Let’s get started.

Prepare your data before upgrade

TQM evolves in the QMS module and as a result of the transformation the data model has been adjusted to follow the latest Dynamics Ax data model and code best practices. For instance, the text fields to keep comments for particular orders have been converted to standard document handling functionality; a new transaction type (InventTransType::QualityOrder) to mark related transactions on InventTrans table has been introduced for quality orders; QMS inventory transactions are treated by the system in a consistent way (an example would be that now there is no need for special fields like QmmScrap on InventTrans to specify scrap).

The extended data type (EDT) size truncation issue affecting primary keys

The standard extended data types have been applied to the amount of fields and this transformation results in adjustment/truncation of some fields in the new tables. For instance, QmmTestGroup.QmmTestGroupCode EDT (string size 20) evolves in InventTestGroup.InventTestGroupId EDT(string size 10). It may result in an index duplication violation error during the upgrade process in case you have an existing number sequence which is not unique within a size of ten digits for the QmmTestGroup.QmmTestGroupCode field.

Possible workaround

Before you upgrade, we recommend that you change QmmTestGroup.QmmTestGroupCode values of more than 10 characters to a maximum length of 10. To do this:

1.      Right-click the field “Test group”

2.      Select Record info

3.      Click the Rename button

4.      Expand the field length to 10.

A screenshot of Rename field operation

 

You can find the full list of truncated fields in the corresponding KB article for hot fix 955735.

Upgrade strategy

In releases prior to Dynamics Ax 2009 the TQM code base took place in the BUS layer, but in the latest release it was “moved” to the SYS layer. The main problem is that “old” TQM application objects are on the BUS layer, but the “new” QMS application objects are on the SYS layer. This situation is not typical for the product. Usually the upgrade scripts upgrade the previous SYS layer to the current SYS layer. However, this is not the case with the QMS upgrade.

 

The strategy for upgrading the Dynamics Ax 4.* BUS layer to the Dynamics Ax2009 SYS layer uses an “ID based mapping” approach, which allows to:

·         Consume any “old” TQM application object (QMM* tables) in the database from the “new” Dynamics Ax2009 SYS layer.

·         Associate “new“ application objects (so called DEL_ placeholder tables) with “old” qmm* tables which contain “old” data, that must be upgraded.

·         Create the usual x++ upgrade scripts, which can be accessed from the Upgrade Cockpit (new upgrade jobs marked as “QMS”).

Let’s go thought each step of proposed upgrade process

·         First of all, we need to remove the old axBUS.aod file from the AOS directory.

o   At this point of time there is no access to “old” qmm* tables from the application, but data are still “physically” persistent in the database. Let’s consider table one of those TQM tables in the database – QmmMyTable, as the example.

·         The second step is to import all application placeholder objects (one of them will be called DEL_ QmmMyTable) that have the same IDs as the previous qmm* tables (same table and field IDs).

o   All placeholder application objects will be mapped by the system to the “old” database tables, so by using the DEL_ QmmMyTable table from the x++ code this object gets associated to the old QmmMyTable table. Now we can write the regular x++ upgrade scripts.

·         The third step is to import x++ upgrade scripts (ReleaseUpdateDB41_QMS class) and recompile the ReleaseUpdate* classes hierarchy, so that the framework becomes aware of any new upgrade script classes.

·         Finally we can follow the normal upgrade path by running the upgrade jobs from the Upgrade Cockpit!

What should I do if there are partner customizations in the TQM solution and if the ID values of the placeholder tables of the hotfix don’t match my implementation?

The answer is simple – make sure that the placeholder tables match your original qmm* tables. One way of doing  this is to export the project, which contains all qmm* tables in the order of any new proposed placeholder tables (placeHolders.xpo) and use any applicable merge tool (WinDiff) to apply the correct table/field IDs for the placeholder tables. For example, in the original TQM solution the table ID value for QmmMyTable is equal to 100, but say, that in a partner customization, the value is changed to 101. The DEL_ QmmMyTable placeholder table will then have a table ID value that equals 100, and the partner has to change the placeholder table ID value prior to the upgrade in order to make the  placeholder table map to the correct source table.

Conclusions

The TQM->QMS upgrade process is quite different from the usual upgrade process in Ax, but at the same time it is designed to require minimal customer interaction and enables transparent mechanisms to consider existing customization and to make the whole process as smooth as possible. We would love to hear about your experiences. Have a nice upgrade! 

 

 

Ievgenii Korovin, Inventory Management, Microsoft Dynamics AX.  

Search

This Blog

Syndication

Page view tracker