Quantcast
Channel: Dynamics 365 Blog
Viewing all 439 articles
Browse latest View live

Set up work audit templates to automate the updating of warehouse process records

$
0
0

 In this blog post you can read about how to use the Work audit template functionality to automatically process an Outbound shipment confirmation for a Load as soon as all the related work has been processed.

The screenshots in this blog post are taken from the new version of Dynamics AX, but all the content applies to AX2012 R3 as well.

The scenario described below is used to illustrate the process and setup for using a work audit template.

Process

A load has been created containing two load lines that are going to be delivered.

clip_image001

The load will be outbound processed within the warehouse via two work headers.

clip_image002

After a mobile device has been used to complete the first work item, the status of the load is updated to In process. And as soon as the second work item is completed, the status of the load is changed to Loaded. And with the use of the Work audit template, the system will immediately update the load to the status of Shipped.

clip_image003

 

Setup

To enable the scenario above, a Work audit template record has to be created to trigger the event of running the Shipping confirmed update as soon as the status for a load is updated to Loaded. This can be achieved with the setup seen below.

clip_image004

The mobile device menu item that’s used as part of the outbound warehouse work processing has been enabled to use the defined Audit template ID.

clip_image005

 

Conclusion

The work audit template is used in this case to trigger a ship confirmation update when the status of a load is updated to Loaded. It’s possible to define other triggers, and to define triggers for other events too. We think that work audit templates are a great tool for extending custom logic and triggering automatic events and custom code with specific set of rules, and would love to hear about your experiences with it.


Over picking in Dynamics AX 2012 R3 CU10 for sales orders and transfer orders

$
0
0

In the recently released CU10 update we are introducing a new over picking feature. It is also available with KB 3107010 on LCS. This blog post will take you through the details of feature and for which scenarios it is aimed for.

Background.

In the warehouse operations we are handling goods in different ways and in different unit of measures.

Inventory can be stored in barrels, pallets, boxes, pieces and many other units. Same item can be stored in different handling units and can be picked from those handling units as requested in the quantities specified in source documents like sales orders and transfer orders.

What is important in warehousing processes is to be as fast and as lean as possible in order to save time and effort, when picking and shipping items.

So in a normal picking scenarios we can easily end in a situation where e.g. the sales order line tells us to pick 50 L of water due that customer requires that, but our packaging is maybe in 60 L barrels. In order to pick the 50 L, picker will need to open 60 L barrel and basically use time and effort to move 50 L in another barrel in order to be able to ship correct quantities.  That requires extra time and effort.

Same experience could be with pallets, as for example, where customer ordered 98 and the pallet contains 100, saving time will be to ship 100 instead of opening the pallet to restructure to 98 pieces.

The other example could be if the picker cannot define how much is picked until later in the process.

Let’s assume that we need to pick corn, customer ordered 30 Tons of corn, machinery will be used to fill the truck with the corn or bags might be loaded instead. Normal process is that when truck is loaded, it will go to the weight scale and employees might experience that measurements shown more than 30 T, let’s say 30 T and 500 Kg. if the customer needs to pay for delivered goods and not what is on order, there is a need to record over picked quantity. Going back with truck or unloading those extra 500 Kg is for many organizations not possible due to extra time and effort needed. You will just want to send that truck to customer as soon as possible with correct information but with no extra effort and time needed.

In many organizations this kind of situations can be avoided if the system supports possibility in the Warehouse for controlled over picking scenarios.

Functionality can be used, as for example, for following business scenarios in the warehouse:

  • Compensation for shrinkage during picking or shipment
  • Ability to avoid to unpack certain packaging material in picking process
  • Compensate for the item damages during transportation
  • Be able to ship quantity or unit of measure variance
  • Minimize breaking of quantities on License plates
  • Avoid material waste, scarcity of the expensive materials.
  • Post pick measurement of the picked quantity (example with a lorry weighting).

What was our goal?

In the new Microsoft Dynamics 2012 R3 CU10 update, we have introduced possibility to process controlled over picking on the mobile scanner during the picking work.

We have decided to do that for both Sales order and Transfer order picking and processing.

Our goal was to enable the possibility to choose if a customer should be invoiced for picked quantity or for the quantity specified on the source document line “The ordered quantity”.

Our goal was as well to be able to control who of the picking workers can do the over picking and if that is for both transfer and sales order to make system as flexible as possible.

At the same time, we wanted to enable visibility of the over picking feature on the bar code scanner to be configured separately for mobile device menus, regardless if the worker has permission to over pick or not.

Minimizing maintenance and keeping flexibility of the setup was the goal.

How did we do it?

We have used already existing functionality for over delivery on Sales order and Transfer order source documents, where we can define how much in percentage do we allow to be over delivered.

In order to enable over picking on the mobile device, we have added a check box on the menu item itself, to enable over picking for that particular menu item. However even if the worker has the barcode scanner menu that includes the menu item for sales order picking where we have enabled over picking, worker setup for over picking must be enabled same time on worker form as well.  Only if both enabled, over picking can be processed using the mobile device.

Please note that flexibility is kept in the sense that if we have many mobile device menus and we do not know exactly where we have enabled over picking, and we want to disable possibility for a certain worker to over pick, we can simply switch it off on the worker setup without changing the menus and menu items.

However, if we want to disable over picking for all, we can go to menu item for example sale order picking and disabling it there all of the workers who have that menu item in their menu setups for barcode scanners will not be able to over pick anymore.

Setup on the worker form:

Go to Warehouse management > Setup > Work users > Worker > Users.

Please note above that you can setup sales order and transfer order over picking separately on each worker setup.

Setup on the menu item:

Go to Warehouse management > Setup > Mobile Device > Mobile device menu items.

Please note: When over picking is enabled it will fully respect limits set for over delivery on the line level of the transfer orders and sales orders. If the limit is exceeded, employee will be notified on the mobile device that they are exceeding the limit.

Step by Step use:

When work has been generated, and above setup is enabled we are ready for over picking.

Here we will give an example of how we can over pick quantity on the sales order line respecting the limits for over delivery that are given.

We will create a sales order for item A0001 with a quantity of 10, and enable over delivery of 10 percent on the delivery tab on the sales order line itself.

We will then reserve and release quantity as we usually do and work to pick 10 will be generated.

After that we can start the sale order picking menu item on the RF gun (make sure that user that is logging on the mobile device is the one with enabled over picking configuration).

We enter work ID and we can see that we have a new button for over picking.

If we decide to over pick we will select “Over Pick” and following screen will show. Please note that we have entered 14 which exceeds over delivery limits set of 10%. Our limits allow us to over pick 1, so 11 in total.

If we try to do with 14, the system will generate a message on the RF gun that limits are exceeded:

Entering the right quantity of 11 we can proceed with over pick and later put.

If we look what was updated behind the scenes, we look first at the work line that is not closed. We can see that work has been updated to 11 pcs as that was the total quantity picked during over picking.

Looking at the shipment and load, we have updated line of 11 pcs as well.

However, if we are looking at the source document line itself, in this case sales order line, we can see that we still keep original quantity of 10. We do not update that on purpose in order to be able to invoice the customer on either ordered or picked quantity.

Please note, that if you invoice the ordered amount the “non-invoiced” quantity remains in a Deducted status (physical update, no financial update).

Please see below from another sample where we have ordered 3 ea, picked 5, and invoiced 3.

Thanks for reading, and if you have any comments or feedback about this feature, please leave a comment below.

Please note: Similar functionality for raw material picking called “Round up work for raw material picking” will be released with KB number 3120530. This feature will round to  the UOM, and thereby enable over picking for raw material picking through the rounding concept.

Change license plate, split quantity, skip and override location during inbound put away

$
0
0

Posted on behalf of Karina Normann Jakobsen.

Introduction

In Dynamics AX 2012 R3 CU10 we have introduced additional capabilities to change license plate, split quantity, skip or override location on the mobile device while doing inbound put away. These features can also be downloaded from LCS with KB 3103960.

Issues

The workflow used when performing inbound work had some limitations when it came to the ability to:

Split put quantity: When the warehouse worker walks down to a location and can visually see, that the item does not fit into this location, the warehouse worker cannot split the item onto multiple locations. This is especially an issue if the location directive does not resolve a specific location and the location of the put instruction on the work order is blank.

Consolidate items on license plate already on a location: When the warehouse worker walks down to a location with ½ a pallet of items and the location already contains ½ pallet, the warehouse worker cannot register the item on the pallet originally on the location.

Cancel button missing in flow: When executing inbound work, there were many places, where the user couldn’t cancel out of the flow. If the user wanted to cancel out, the only option was to end the flow from the rich client.

Skip: When executing inbound work for multiple items at different put locations, the user is forced to execute the put lines if a fixed order.

Mobile device menu item with Group put = true: When performing work using a mobile device menu item, where Group put = true, the warehouse worker could be lead into strange flows on the mobile device. The mobile device menu item parameter Group put was not available for work creation flow …and put away.

Use unique check digits: Scanning a check digit in the location field on the mobile device menu item would resolve the first location with that check digit independently if Use unique check digits on warehouse was Yes or No.

Disposition code: The mobile device disposition code was not used when suggesting a new location as part of executing a put. The reason was that the disposition code was not saved in the system.

Solution

The solutions described in this blog post about the above issues are implemented for the work order type Purchase order, Finished goods put away, Co-product and by product put away, Transfer receipt, Inventory movement, Return orders and Kanban put away using a mobile device menu item with the settings in the below table.

An exception is Work order of type Replenishment which has uptake only of the ability to consolidate items on an existing license plate and the missing cancel button.

The below table describes the supported flows on the mobile device where these solutions have been enabled.

Mode

Use existing work

 

Work

Yes

Directed by:

System directed.

User directed.

User grouping.

System grouping.

Validated user directed.

Work

No

Work creation method:

License plate receiving and put away.

Purchase order line receiving and put away.

Report as finished and put away.

Movement by template.

Purchase order item receiving and put away.

Transfer order line receiving and put away.

Kanban put away.

The next section of this blog post will present each issue and how the solution work.

 

Cancel button missing in flow

On the mobile device a Cancel button will be available in all steps of the flow. Click Cancel will interrupt the processing of the work order for the work order line in focus, when the Cancel button was clicked.

 

Split put quantity and override location

An open work order of work type Purchase order exists.

clip_image002

Mobile device flow

On the mobile device the user starts processing this work order.

clip_image004

When the user reaches the put instruction of the work order a new button named Split Put is presented.

Let’s say, the user cannot fit the content to the location proposed. So the user decides to split the put. The user does so by clicking the button Split Put.

clip_image006

When the user presses the Split Put button a new flow is presented to the user. The user is asked to enter the quantity to be split of the original quantity as well as the Target LP. This will put the entered quantity on the specified location, in this case FL-001.

The user can create a new License plate or add the quantity to a License plate already on this location in this warehouse.

clip_image008

User scan quantity and Target LP.

Then click OK.

clip_image010

The user is brought back to the put instruction. To change the location, the user needs to click Override Loc. button.

clip_image012

The user can choose to provide a work exception code or just click OK and Continue.

clip_image014

The user can manually scan a location or ask for the system to Suggest a location.

clip_image016

Then the user clicks OK.

clip_image018

The put validation screen is presented to the user with the new location.

User click OK.

clip_image020

Work completed is presented to the user.

clip_image022

As a result of changing the location, the work put transaction was split.

clip_image024

Pay attention to the fact that Split Put is NOT supported in combination with grouping of work lines of type put.

 

Consolidate items on license plate already on a location

When performing the work with a mobile device a new parameter on the mobile device menu item has to be configured. The name of the parameter is Override license plate during put.

clip_image025

An open work exists for item M9200. The put location in this example is Bulk-001.

clip_image027

Bulk-001 is a license plate controlled location. There is already ¾ pallet on Bulk-001 on license plate LP920001.

clip_image029

Mobile device flow

User execute put-away flow.

Validate the item is picked up.

clip_image031

Put instruction is presented to the user.

clip_image033

User wants to consolidate the quantity on the license plate already on the location. The user clicks Override LP. A new flow is presented to the user.

clip_image035

User scans Target LP.

And clicks OK.

clip_image037

Put away flow is completed.

The items have now been put on the existing license plate in the location.

clip_image039

 

Skip

Using the Skip button will mark the work order line as skipped and the next put operation will be presented to the user.

It works as following. A work order exists with multiple put lines.

clip_image041

Mobile device flow

User has performed the pick instruction and is brought to the first put instruction.

A new button Skip is presented in the flow.

This allows the user to skip this line and will bring the user to the next line.

The user does not want to perform this put as the first and clicks the Skip button.

clip_image043

Put instruction for the next open work order line is presented to the user.

User completes this line and clicks OK.

clip_image045

Put instruction for the skipped line is presented to the user again. Skip button is not shown, as there are no more applicable lines.

clip_image047

 

Mobile device menu item with Group put = true

Some unintended flows were observed when performing work using Mobile device menu items, where Group put was set to Yes.

Group put will function if the put location is resolved for all work order lines of type put and if the put location is the same for all work order lines grouped.

Here are a few examples to illustrate the above.

Example 1 – Multiple work orders are grouped – all work order lines of type put have blank Location

The previous behavior was inconsistent depending on the work flow and the work order.

The rule is now consistent. If the location is blank, work order lines of type Put will not be grouped.

If we have two work orders where location field on the last work order line for each work is blank.

Work order where location is blank:

clip_image049

You have a mobile device menu item that is configured to perform existing work.

Directed by = User grouping.

Group put away = Yes

clip_image051

Mobile device flow

User has performed the pick instruction and grouped the 2 work orders.

User will receive work put instruction for each line.

Blank locations will not be grouped.

clip_image053

Example 2 – Multiple work orders are grouped – some work order lines of type put has same location, some has not

The previous behavior was inconsistent depending on the work flow and the work order.

The rule is now consistent. The location on work order line of type put has to be the same for all work orders grouped.

First work order has 2 work order line of type put with 2 different locations.

Second work has 2 work order lines of type put with 2 different locations. It is the same 2 locations as on the first work order.

clip_image055

clip_image057

Mobile device menu item is configured to perform existing work.

Directed by = User grouping.

Group put away = Yes

clip_image058

Mobile device flow

User has performed the pick instruction and grouped the 2 work orders.

User will receive work put instruction for each line.

clip_image060

Example 3 – Multiple work orders are grouped – all work order lines of type Put have the same location

Two work orders exist.

First work order has 2 work order line of type put with location FL-001.

clip_image062

Second work order has 2 work order lines of type put with location FL-001.

clip_image064

Mobile device menu item is configured to perform existing work.

Directed by = User grouping.

Group put away = Yes

clip_image065

Mobile device flow

User has performed the pick instruction and grouped the 2 work orders.

User will receive one put instruction.

clip_image067

Pay attention to the fact that Split Put is NOT supported in combination with grouping of work lines of type put.

Example 4 – Group put away is now available on work creation flows …and put away

You can set Group put on all work creation processes that ends with … and put away.

For example:

clip_image069

 

Use unique check digits

The parameter Use unique check digits is found on the warehouse setup.

clip_image071

When Use unique check digit is No, this means that check digits on many locations can share the same check digits. When many locations shared the same check digit, scanning of check digits in scenarios where location was blank or the user was overriding a location was not supported. This didn’t function in all work flows. All inbound flows have been changed, so that scanning of a location check digit will not be accepted if Use Unique check digit is No.

Example 1 – Use unique check digit is No, user scans location check digit on mobile device

Use unique check digit = no on warehouse 24.

clip_image073

Warehouse 24 bulk locations has check digits.

clip_image075

Mobile device flow

User scans location check digit in field Loc.

clip_image076

User click OK

Scanning of location check digits is not accepted unless unique check digits is configured.

clip_image077

Example 2 – Use unique check digit is Yes, user scans check digit on mobile device

Use unique check digit = yes on warehouse 24.

clip_image079

Warehouse 24 bulk locations has check digits.

clip_image081

Mobile device flow

User scans location check digit in field Loc.

clip_image082

User click OK

Location is found via the unique check digit.

clip_image084

Disposition code

Mobile device disposition code is now saved on the work order header. The mobile device disposition code is used to find the correct location directive if user clicks Override Loc on the mobile device.

Additions to WMS Replenishment functionality in Microsoft Dynamics AX 2012 R3 CU10 update

$
0
0

In the recently released CU10 update we are introducing a few new replenishment features that will increase warehouse productivity and save effort and time. This blog post will take you through the details of the features and for which scenarios they are aimed for.

In this blog we will cover following:

  • Relation between replenishment work, demand, and cancelation of the demand.
  • Directive code capabilities on work template for replenishment

How did it work previously, and what was the challenge?

In Microsoft Dynamics AX 2012 R3, min/max replenishment and demand replenishment did not recognize one another, and both types of replenishment did not recognize existing replenishment work that was in progress or not started yet. Sales demand and existing replenishment work generated for the demand, did not know each other’s status.

That resulted in the following 3 problems and possible obsolete replenishment work transactions and waste of time in the warehouse facility:

  1. If we had let’s say sales demand work of 10 each, and demand replenishment setup has generated replenishment work of e.g. 1 Pallet (100 each) due to setup and that replenishment work is not yet processed. If new sales demand of 10 each comes, what will happen is that demand replenishment setup will again generate the new replenishment work of 1 Pallet (100 each) due that there is no increase in quantity. In this case we will end with 2 work with 1 pallet on each that in total is 200 each and in total sales demand is only 20. This tells us that second sales demand could have been covered with the first replenishment work due to that there was 90 each not yet reserve.
  2. Many customers will run min/max replenishment in the morning as a batch job, and generate a series of replenishment work to fill up their locations. Before CU10, what was happening is that if min/max replenishment work was not processed before demand is sent to the warehouse, demand replenishment as the exception management will create new replenishment work for the demand. Result will possibly be, that we will have two replenishment work generated using two different strategies, min/max and demand replenishment. However, if the demand replenishment was aware that there was the existing min/max replenishment not started with free unreserved quantities of item with same dimensions there would be no problem.
  3. The other problem was that if e.g. sales demand triggers generation of replenishment work, and replenishment work has not been processed, but sales demand work is cancelled and sales order line deleted, replenishment work will still stay open. This challenge potentially resulted in replenishment work being open that are not needed or even will not fit at the locations due to that demand being cancelled.
The first two challenges above resulted in that you needed to cancel unnecessary replenishment work manually and that was very time consuming and difficult. Or the result would be that if the extra replenishment work was not cancelled and the warehouse workers pick and bring items using both replenishment which then would over load the locations and the goods would need to be moved back manually. Problems with space on the target replenishment location could be experienced as well.

All of the above was potentially creating noise and unnecessary open work transactions, overload of the items on the target replenishment locations, or a huge manual workload to synchronize demand and open replenishment work. For any warehouse facility with large number of locations that are either being replenished with min/max or/and demand replenishment, the above challenges are not acceptable. 

What was our goal?

  • Create awareness and link between different types of open replenishment work.
  • Cancel the existing demand replenishment work that has not been started if the demand has been cancelled and there is no other demand work related to replenishment work.
  • Deduct new demands from existing min/max or demand replenishment work in order to minimize amount of work transactions, if there are unreserved quantities on the existing replenishment work. First after all available quantities is deducted new replenishment should be created.
  • Make setup flexible

How did we solve above challenges?

In the new CU10 update, the replenishment setup for both demand and min/max replenishment, we have added the ability to define if the replenishment template, from generated work, will allow unreserved quantities to be used and deducted from by new demand quantity.

In the same setup we have added the ability, to define if the replenishment work should be cancelled if the demand has been cancelled (please note that if there is any existing work that is related to that replenishment work it will not be cancelled).

 

In the above setup all of the replenishment work generated and not processed will include new demands if the unreserved quantity allows. After all is used and deducted, new replenishment work will be created if needed. 

In same way, if there is a min/max replenishment template that is configured to allow demand to use unreserved quantities, and has generated work, even if demand replenishment method is enabled it will first see if any of the quantity from existing work can be used.

This minimizes amount of the work lines created, where quantities can be deducted from existing replenishment work.

Please note that setup is template centric, which means that we can allow deduction and cancellation on one, but not the other template. 

Directive code enabled on work templates for replenishment work order type!

In CU10, we have also enabled configuration of the directive code for replenishment work order type.

Continue to second replenishment template sequence capability if put location is not resolved in previous sequence line!

Before the CU10 update, having several sequence lines in the Replenishment template lines where first one could not solve the demand, system was not continuing to another line sequence. This only counts if PUT location could not be resolved due to a location failure or stocking limits.

Now if the first sequence line fails to resolve put location and fulfil replenishment, next line in sequence will be processed.

Please note: In order to proceed to another replenishment template line, you need to setup Location directive failures to stop work on Replenishment failures,  as shown below. If not set, it will end with an empty put location, and will not proceed to next sequence line in Replenishment template.

 

This feature is useful if we e.g. have stocking limits on a locations or locations fail for some reason due to other restrictions or setup. In that case system will proceed to another template and use put from location directives connected, that could be as for example an overflow location.

New eLearning course: Working with AX 2012 R3 Warehouse Management for Retail Warehouses

$
0
0

The eLearning course 80739: Working with AX 2012 R3 Warehouse Management for Retail Warehouses is now available for partners on Dynamics learning portal. This L300 course is for Dynamics AX Warehouse Management (AX WM) solution architects and presales people who need to understand how to position AX WM to a retailer, and learn how to set up AX WM for retail.

This course also includes unique footage of a real life retail warehouse in action through various WM processes.

What are the goals for this course?

  • Understand the terminology and basic needs of retail warehousing.
  • Understand how AX Warehouse Management complies with the basic needs of retail warehouses.
  • Learn, at a high level, how to configure AX to meet the needs of a retail warehouse.
  • Understand how AX Warehouse Management can improve retail warehouse operations.
  • Help improve the sales efforts and implementations of AX Warehouse Management in retail industries.

This course is instructed by industry expert and logistics consultant Steve Mulaik from The Progress Group who has successfully run several workshops this past year on the same topic. We are very happy that those of you who have not had the opportunity to attend one of those workshops now can enjoy Steve’s experience in this area through this online content. If you have any feedback, just drop a comment below, or even better, evaluate the course on DLP.

Enable picking of sales serial number items with R3 warehouse management processes

$
0
0

As part of the planned enhancements around serial number functionalities, the capability of picking sales serial number items is now possible when using the AX 2012 R3 CU10 warehouse management processes. You can also find it on LCS with KB 3072929.

This functionality enables the process of capturing serial numbers during the mobile device sales order picking or packing process, without making unique inventory transaction records holding this information.

The benefit of this logic is that AX can handle many serial number records without needing to create the time consuming logic around the “inventory transaction framework”.

 

Conceptual data model for serial number registration

As it can be seen from this conceptual model, the sales serial number tracking will be linked to the inventory transaction origin and it is important to understand that the actual validation of unique sales serial numbers is done against this entity.

 

Picture1

 

Existing information regarding sales serial numbers in AX

The following blog post describes the overall concept of Sales serial number tracking:

Serial Number Tracking for Service and Warranty in Microsoft Dynamics AX R3

TechNet information about registration of serial numbers in AX2012 can be found here:

Register serial numbers for a sales order [AX 2012]

 

 

Enable the sales serial number tracking

Because the sales serial number tracking is not done at the inventory transaction level the released product will not use a reservation hierarchy with serial number tracking. For this blog post example, a new product is created using an Inventory reservation hierarchy as shown below:

image

The released product has been associated with a Tracking dimension group using the Active in sales process parameter for the Serial number dimension, and as it can be seen the Capture serial is now possible to specify. For the first example the Capture serial is set to “Picking”, which means that the actual registration of the sales serial number will be done during the mobile device picking process.

image

In case enabling the Capture serial to “Packing” the sales serial number recording will be requested done during the manual packing station process.

 

Recording of sales serial numbers during the picking process

The concept of using the sales serial number capability is that the recording of serial numbers only happens for the outbound sales process. So the inbound receive process and all internal transfers of inventory on-hand will be done as other released products without serial number tracking.

For this blog post example, a license plate of the quantity of 100 of the product has been received and put-away into the warehouse and the serial number dimension is not part of the inventory on-hand:

image

A sales order line has been created for the quantity of 3 and released to the warehouse and work has been created.

image

When processing the work, the mobile device will prompt for identification of each of the sales serial numbers because of the Capture serial set to “Picking” on the Tracking dimension group.

clip_image012

It is possible to access the sales serial recording done against the sales order line through the Load details form.

image

During the sales serial number recording, validation is done to ensure unique capturing of sales serial numbers against the sales line.

clip_image016

In case of a not readable serial number the function of using Not readable can be used which will register the serial number as not readable.

image

When all serial numbers have been registered and the inventory has been put on a final shipping location, the related inventory transactions for the sales line will get the status picked and the sales order packing slip can be processed.

 

Recording of sales serial numbers during the packing process

In case the released product is associated with a Tracking dimension group enabled for Capture serial at “Packing”, the mobile device picking process will behave as for products without serial numbers. Instead, the serial number will be registered when using the pack station.

image

Validation is run ensuring the correct quantity of unique sales serial numbers gets registered during the packing operation and it is possible to view and maintain the recorded serial numbers from the Containers form.

image

 

Recording of sales serial numbers during the sales order return process

Besides the outbound sales order serial number tracking, it is now supported to capture the serial numbers being part of a sales order return process through the mobile device.

clip_image024

The flow will request registration of the serial numbers being returned.

clip_image026

 

Recording of sales serial numbers via Picking list registration form

For simpler/small warehouses, it is also possible to record sales serial numbers during the warehouse picking process from the Picking list registration form, making it easier to record the serial numbers during the actual picking process.

image

Using WMS processes with project management activities in CU10

$
0
0

This blog post describes how to process warehouse management activities related to project management when having warehouses and products enabled to Use warehouse management processes in Microsoft Dynamics AX 2012 R3 CU10. This functionality is also available from LCS with KB 3096930.

 

Processing of item requirement sales orders

When using the item requirements form it is now possible to directly Release to warehouse and access the Load planning workbench form.

Item requirements sales order processing in the warehouse management area will be done the same way as for regular sales orders. Even the capability of mixing item requirement sales orders with regular sales orders on the same load is possible. The only differences seen will be as part of the physical cost updates done through the packing slip update process. Here the packing slips will be split and the updates related to the project transactions will be directly updated to Sold.

Let’s try looking into a quick example based on the demo data for the company USMF.

A new item requirements sales order has been created and via the new menu it is possible to Release to warehouse directly from the Item requirements form.

clip_image002[4]

After processing the outbound warehouse work, which will result in getting the inventory transactions updated to status Picked, and having done the confirmation of the Outbound shipment, it is time to process the sales order packing slip update.

clip_image003[4]

clip_image004[4]

During the actual posting, the related item requirements inventory transactions will be updated to Sold.

clip_image005[4]

 

Processing of purchase order related to project

When processing a purchase order registration for lines referencing a project, the project inventory transactions will become physically reserved with the same dimension values as registered for the purchase order line transactions. During the purchase order product receipt posting the project issue transactions will become updated to Sold.

Let’s look at an example based on the demo data for the company USMF.

A new purchase order line gets created with reference to a project.

clip_image006[4]

clip_image007[4]

Before processing the inbound registration, the related project issue transactions will be Reserved ordered.

clip_image008[4]

As soon as the inbound purchase order transactions gets Registered, the related issue transactions for the project will be updated with the same inventory dimension values and updated to physically reserved on all inventory dimension levels.

clip_image009[4]

It is important to note that inbound ‘put-away’ work will not be created when using the mobile device purchase order receive processes. The reason for this is that during the following purchase order product receipt update, the issue transactions will become Deducted and thereby immediately removed from the inventory and therefore internal transfers between locations within the warehouse cannot be done.

clip_image010[4]

 

Processing of production order related to project

When processing a production order linked to a project, conceptually the same will happen as in the previous scenario with the purchase order process. One key difference is with the mobile device inbound processing. When doing the Report As Finished process the receipt inventory transactions becomes updated to the status of Received and thereby the related project issue transactions will become Deducted. As for the purchase order inbound processing no ‘Put-away’ warehouse work will be created when using the RAF mobile device functionality for production orders referencing to projects.

clip_image011[5]

Using route schedules in TMS with CU10

$
0
0

Posted on behalf of Simon Juul.

Many companies have agreements with customers to deliver their orders on a regular basis, for example weekly deliveries. In order for TMS in AX to be able to support transportation routes executed regularly, a new feature for “scheduled routes” have been introduced with CU10 or separately from LCS with KB 3107317.

A scheduled route is a predefined route with predefined hubs (that being vendors, customers or warehouses) you execute regularly on a given schedule.

The new functionality for scheduled routes consists of:

  1. You can set up route plans on a defined schedule and build scheduled routes based on it.
  2. Use Load building workbench to propose loads based on the orders, using customer address and delivery date and the corresponding scheduled route.
  3. Use the Rate route workbench to manually assign loads to an existing scheduled route.

This blog post will take you through the necessary setup and how to create, process and use these route schedules.

Set up scheduled routes

First of all, we need to create a route plan starting from the warehouse where we ship from and with hubs that have the same zip code as the customers we are going to visit on the route:

Transportation management > Setup > Routing > Route plan

image

The route plan for scheduled routes is a bit different than normal route plans as you need to specify “Origin hub” and “Destination hub” on each segment, as this is a fixed route and the customers are found by the zip code match. The route plan starts from our warehouse 61 and stops at a customer in the first sequence. A hub master has been setup with the same zip code as the customer in question. In the next sequence it goes to the next customer hub and so on until all customer hubs have been visited.

For this route plan we then need to setup the schedule for when it’s going to take effect. You do this by clicking Create route schedule. A new form is opened where you can specify on which dates and time the route is visited and with what mean of transportation (load template):

Transportation management > Setup > Routing > Route plan > Create route schedule

image

On the Route schedule form, you have to specify the “actual start date and time” and “actual end date and time” as the period you want to have the scheduled routes generated for. You can specify the “Load template” which is being used as default on the Load building workbench and when you push the “Generate Routes” button a batch job will start generating routes based on the setup.

To be able to use scheduled routes a route guide has to be set up. For scheduled route plans you should use one Route guide and specify only the route plan, because the route plan used for scheduled routes is not open for any other criteria such as “Origin hub” and “Destination hub” as they are specified on all segments.

Transportation management > Setup > Routing > Route guide

image

 

Use Load building workbench with scheduled routes

In the Load building workbench you are now able to select a scheduled route and build a load with all sales orders matching the zip code in any of the destination hubs in the route plan.

Transportation management > Inquiries > Load building workbench

image

The Load building workbench has a new dropdown named Scheduled Route. You can only select scheduled routes that does not yet have any loads associated.

Selecting a scheduled route will disable the other criteria for Origin and Destination except the shipping from date, so you are able to find sales orders with an earlier ship date. You still have to select a load building strategy and have the possibility to use filter codes. The Load template will be defaulted to the one you selected on the route plan schedule or else you will have to specify one.

When proposing the load, the zip codes of each hub on the route will be matched to the zip codes of the Sales orders and the range of the “shipping date from” and “shipping date to” dates will be matched to the shipping date of the sales orders. There has been no change as to how selected load building strategy and load template will be used, it will work as in previous versions.

When pushing “Propose loads” you will see only one load with the sales orders matching the above criteria and the allowed quantity prescribed by the load building strategy and the assigned load template.

image

If you select to create the load it will be assigned to the already created scheduled route and the transport is planned.

If you have sales lines in the “Not included” you have to either choose a bigger truck (Load template) or arrange another transport (maybe use load planning workbench for the remaining lines).

image

 

Use Rate route workbench to manually assign loads to a scheduled route

If you want to manually assign a sales order to a scheduled route in the Load planning workbench, you can either create a new load if you want the first (date wise) Scheduled Route that does not have a load or you can “add to existing load” that already have a Scheduled Route assigned. When creating a new load and put it on a scheduled route:

Transportation management > Inquiries > Load planning workbench > Rating and routing > Rate route workbench

image

There is a new menu saying “Scheduled Route”, which will show the first Scheduled Route without a load and with the shipping date closest to the sales order ship date. You can use the “assign” button to pick the actual Scheduled Route with the rates calculated. But you can also select “Add to existing route” to choose a scheduled route further out in future.


Improve performance by running the Warehouse management on-hand entries cleanup job – for New AX and for AX2012 R3 CU10

$
0
0

 

Introduction

Calculation of the on-hand are used from many forms but also during many business processes, the latter being less obvious to end-users. Therefore, it is always of interest to us to improve the performance of these operations since the overall impact on many processes can be quite significant.

The nature of the queries used to calculate the on-hand involves joins and aggregation and the performance is affected by the number of records in the tables involved. One way to improve the performance of such operations is to reduce the number of records that SQL server has to consider.

In this posting we will cover the Warehouse management on-hand entries cleanup job which deletes records in the InventSum and WHSInventReserve tables. These tables are used to store on-hand information for items enabled for warehouse management processing (WHS items). Cleaning up these records can lead to significant improvements of the on-hand calculations.

The cleanup job is available for the new Dynamics AX and also for the in-market version of AX 2012 R3 with KB article 3063513 – Performance improvement of On-hand queries by running new clean up job for on-hand entries for WHS enabled items.

Running the clean up

The cleanup job is available under Inventory Management>Periodic tasks>Clean up>Warehouse management on-hand entries cleanup.

The cleanup job can be ran during normal business hours but it is recommended to run it outside of working hours to avoid collisions where a user is updating a record that is also being cleaned up. By setting the Delete if not updated for this many days parameter in the dialog to an appropriate value, the risk of deleting used on-hand entries can be reduced.

If the job ends up trying to delete a record for an item while it is used by another user, a deadlock error will be experienced by either the cleanup job or the user impacting the on-hand of the item.

The job is running with a commit size of 100 meaning it will try to commit for every 100 deletes. However, since some deletes are set-based, there might be scenarios where more than 100 records can be deleted in the same transaction, hence there is no guarantee that lock escalations will not occur.

 

What is the clean up job actually doing ?

That is a fair question that we were asked by our colleges in the field so we wanted to share the answer with you.

The overall idea is that the cleanup job is deleting records in the WHSInventReserve and InventSum tables where all the field values are 0, since these should not contribute to the on-hand. The job only deletes records below the Location level.

If negative physical inventory is allowed then we might not be able to delete all entries with all zeros, since we need to account for a special scenario where a license plate has multiple serial numbers and one serial number has gone negative.

For this special case we will do a breadth-first delete, trying to delete from lower levels first.

If we don’t allow negative physical inventory we will delete upwards the hierarchy. This approach means that for a scenario were we had serial number 1 and 2 on the same license plate and the job is stopped, we might still have a record in WHSInventReserve on the lowest level, e.g. for serial number 2 but not one on the level above that. This is ok, since no record, is semantically the same as “nothing available or reserved”.

If we should get on-hand again after records have been deleted, the records will just be re-created as part of the normal business logic.

 

Possible user impact

A possible user impact is that if we have deleted all records for e.g. the license plate level, then the functionality where we can see that we at some point had on-hand at a license plate does not work as expected, simply because we have no on-hand entries to represent that.

This is the functionality where Quantity <> 0 is checked in the Dimension Display settings when viewing on-hand.

We decided that this was an acceptable loss of functionality compared to the performance improvement that customers should experience from cleaning up the records.

Inventory on-hand movements/transfers using the mobile device menus

$
0
0

In this blog post you will be able to read about how to use mobile device menus to record physical movements of inventory on-hand, both within a warehouse as well as between warehouses.

The screen shots in this blog post are taken from the new Dynamics AX, but all the content applies to AX2012 R3 as well.

 

Mobile devices menu items

Conceptually three different mobile device menu item processes exist:

- Movement

- Movement by template

- Warehouse transfer

Below you can read about the difference between the three mobile device menu items.

Movement

When using the work creation process Movement (Use existing work = No), the warehouse worker will need to define what is going to be moved and from where, as well as specify where to put the inventory on-hand.

clip_image001

This process is designed for a manual movement of inventory on-hand between locations and/or license plates within a warehouse, and the movements must be processed immediately by the same warehouse worker.

Because the inventory on-hand gets updated via work, it will be possible to transfer the inventory on-hand between locations, even though the on-hand might be reserved on a higher level (e.g. by a sales order line on the warehouse level, or reserved inventory because of a blocked inventory status).

In this process the inventory status value can also be updated during the physical movement of the inventory. If movement functionality is used to update the inventory status within the same location the setup must allow for mixed inventory statuses as part of the Location profiles settings. If this is not the case the Inventory status change work creation process must be used.

In the example below a new inventory status value named QMS is used.

clip_image002

clip_image003

 

Movement by template

When using the work creation process Movement by template (Use existing work = No), more options exists than for Movement. The biggest difference is that both work templates and location directives will be used to find a put location when using this mobile device menu item.

The parameter Create movement can be enabled if the mobile device menu item only should create the movement work, but not process the actual movement. Another mobile device menu item that has the Use existing work option selected can then be used to process the actual movement work at a later point in time.

Because the inventory on-hand gets updated via work, it will be possible to transfer the inventory on-hand between locations, even though the on-hand might be reserved on a higher level (e.g. by a sales order line on the warehouse level, or reserved inventory because of a blocked inventory status).

In this process the inventory status value can also be updated during the physical movement of the inventory.

clip_image004

clip_image005

clip_image006

Please be aware, that with the current functionality the inventory status value will be updated at the point in time of the creation of the planned inventory movement work.

clip_image007

In order for the system to be able to create work, a work template must be defined for the work order type Inventory movement.

clip_image008

And before the system can find a valid put location during the work creation process, Location directives must also be defined for the work order type Inventory movement.

clip_image009

 

 

Warehouse transfer

The mobile device menu item for Warehouse transfer is designed for a manual movement of inventory on-hand between locations and/or license plates between two warehouses. As for the manual Movement option, this operation must be processed immediately by the same warehouse worker and the worker will need to define what is going to be moved and from where, as well as specify where to put the inventory on-hand.clip_image010

In order to be able to process this kind of transfer, the warehouse user must have access to both the from-warehouse and the to-warehouse.

clip_image011

Because the inventory on-hand does not get updated via work, but via the inventory transfer journal, it will not be possible to transfer on-hand which is reserved on a higher level (e.g. by a sales order line on the site level, or reserved inventory because of a blocked inventory status). The transfer journal issue transactions will be reserved on all inventory dimension levels.

When using the Warehouse transfer process, it will not be possible to change the inventory status value either – as it can be done when using the Movement and Movement by template functionality.

Set up work audit templates to automate the updating of warehouse process records

$
0
0

 In this blog post you can read about how to use the Work audit template functionality to automatically process an Outbound shipment confirmation for a Load as soon as all the related work has been processed.

The screenshots in this blog post are taken from the new version of Dynamics AX, but all the content applies to AX2012 R3 as well.

The scenario described below is used to illustrate the process and setup for using a work audit template.

Process

A load has been created containing two load lines that are going to be delivered.

clip_image001

The load will be outbound processed within the warehouse via two work headers.

clip_image002

After a mobile device has been used to complete the first work item, the status of the load is updated to In process. And as soon as the second work item is completed, the status of the load is changed to Loaded. And with the use of the Work audit template, the system will immediately update the load to the status of Shipped.

clip_image003

 

Setup

To enable the scenario above, a Work audit template record has to be created to trigger the event of running the Shipping confirmed update as soon as the status for a load is updated to Loaded. This can be achieved with the setup seen below.

clip_image004

The mobile device menu item that’s used as part of the outbound warehouse work processing has been enabled to use the defined Audit template ID.

clip_image005

 

Conclusion

The work audit template is used in this case to trigger a ship confirmation update when the status of a load is updated to Loaded. It’s possible to define other triggers, and to define triggers for other events too. We think that work audit templates are a great tool for extending custom logic and triggering automatic events and custom code with specific set of rules, and would love to hear about your experiences with it.

Receive and register a pallet with mixed source document lines using 1 license plate – purchase order matching

$
0
0

Introduction

01

In our scenario, a pallet of mixed items arrives at warehouse A. The receiving clerk is asked to identify and register the items on the pallet, before the pallet is moved from receiving location to next location.
The vendor didn’t issue an inbound ASN, but the vendor attached a pallet manifest to the pallet. The pallet could consist of items from different purchase orders.

This scenario with receiving and registering the full pallet has not been supported using the mobile device so far.

With KB 3152837, the ability to receive multiple times against a license plate is now supported for purchase orders.

Setup

Go to Warehouse management > Setup > Mobile device > Mobile device menu items.

Two new work creation methods have been introduced:

  • Mixed license plate receiving
  • Mixed license plate receiving and put-away

02

When either of these work creation methods is selected, a new field, Source document line identification method, becomes available.

03

The Source document line identification method determines the flow that will be presented to the user on the mobile device until a source document line is uniquely identified.

The three methods supported correspond to the flow that will be presented to the user on the mobile device for the Work creation methods Purchase order item receiving, Purchase order line receiving and Load item receiving.

The difference being that the user can continue to register on 1 license plate until all items on the license plate are received.

Auto-generation of license plate is NOT supported for this work creation method.

License plate grouping is NOT supported for this work creation method.

Receive multiple times on 1 license plate on mobile device

Two purchase orders exist for one or more items.

04

The supplier decides to ship all 4 purchase order lines in 1 shipment on 1 pallet. Now the receiving clerk needs to register this on 1 pallet.

05

Mobile device flow

Open mobile device menu item. In this example the source document line identification method is Purchase order item receiving.  06
Enter license plate.

Click OK.
 07
Enter Purchase order number.

Click OK.
 08
Enter item number.

Click OK.
Note: Now the purchase order line number is uniquely identified.
 09
Enter quantity.

Click OK.
 10
Click OK.
Note: This new work creation method expects the user to continue to receive items for the same license plate and purchase order number.

The flow will continue like this until the user clicks the button LP Complete. This is the signal to create the work.
 11
Leave the mobile device menu as is and open the rich client.

Go to Warehouse management > Inquiries > Mixed license plate receiving.

Note: This is a new form. It captures detailed information about all the license plates, where receiving has started using one of the 2 new work creation methods.

For license plate BLOGPOST1 we can see, that user 51 is currently working with this license plate. Therefore, we cannot change anything for license plate BLOGPOST1 as the license plate is locked by user 51.

Close the form.
 12
Find the purchase order line, just registered. Look at the inventory transaction behind.

Note: The Receipt status of the inventory transaction is still ordered.The state of the inventory transaction will be lifted when the work is created.
 13
Pick up on the mobile device, where you left before.  14
Enter item number.

Click OK.

Note: Now the purchase order line number is uniquely identified.
 15
Enter quantity.

Click OK.
 16
Click OK.  17
Now we want to receive items referencing a purchase order line on another purchase order.

Click Change PONum.

Note: Based on the feed-back received it is a common user mistake to clear the value of a field by pure mistake. Therefore the purchase order field is not editable unless the user specifically declares that the purchase order number should be changed.
 18
Enter Purchase order number.

Click OK.
 19
Enter item number.

Click OK.

Note: Now the purchase order line number is uniquely identified.
 15
Enter quantity.

Click OK.
 20
Click OK.  21
Enter item number.

Click OK.
Note: Now the purchase order line number is uniquely identified.
 22
Enter quantity.

Click OK.
 23
Click OK.  24
The receiving of the 2 purchase order lines is now completed.

Click LP Complete.

Note: A list is presented to the user with the details of the items received for this license plate.If the user sees a mistake, this mistake can be corrected by clicking the button Modify.
 25
The user does not wish to modify the receiving.

Click OK.

Note: If Display disposition code is set on the mobile device, the user will be asked to provide a Disposition code.
 26
Click OK.

The flow is now completed.
 27
Go to Warehouse management > Inquiries > Mixed license plate receiving.

Note: License plate BLOGPOST1 is completed. Therefore, we do not see this when the form is open.
 28
The receiving supervisor wants to see the history captured for the receiving of this license plate.

Set Show completed license plates to Yes.

Note: Completed license plates can be deleted, when the information is no longer relevant.

Close the form.
 29
Find the purchase order line just registered. Look at the inventory transaction behind.Note: The status of the inventory transaction was lifted to registered, when the work was created.

Close the form.
 30
Open work from the purchase order line.

Note: 1 work order with target license plate BLOGPOT1 is created for all lines.

Close the form.
31

 

Variations and exceptions

This new feature supports a number of variations over the main flow and support handling of exceptions. The following variations and exceptions will be explained in this section:

  • User mistakenly cancels out of flow and want to start the flow again.
  • A second user tries to receive items on a license plate the first user is working on.
  • A second user tries to receive items for a purchase order line, where there is nothing left to receive.
  • User receives items on a faulty license plate ID.
  • User mistakenly cancels out of flow and forget to complete license plate. Supervisor wants to complete the license plate from the rich client.

User mistakenly cancels out of flow and want to start the flow again.

If the user mistakenly cancels out of the flow, before completing the receiving of all the items on the license plate. Any user with access to a mobile device menu item with this work creation method can start the flow again.

Example:

One purchase order exists

32

Mobile device flow

Open mobile device menu item. In this example the source document line identification method is Purchase order item receiving.  33
Enter license plate.

Click OK.
 44
Enter Purchase order number.

Click OK.
 45
Enter item number.
Click OK.

Note: Now the purchase order line number is uniquely identified.
 37
Enter quantity.

Click OK
 36
Click OK  38
Click Cancel.  39
Open mobile device menu item again.  40
Enter license plate.

Click OK.
Note: The flow is restarted.
 41

 

A second user tries to receive items on a license plate the first user is working on.

Example:

One purchase order exists

42

Mobile device flow

User 51 has logged into the mobile device.Open mobile device menu item. In this example the source document line identification method is Purchase order item receiving.  43
Enter license plate.

Click OK.
 44
Enter Purchase order number.

Click OK.
 45
Enter item number.

Click OK.
Note: Now the purchase order line number is uniquely identified.
 46
Enter quantity.

Click OK.
 47
Click OK  48
User 52 logon to the mobile device and tries to start the receiving of items on license plate Blogpost1.  49
Scan license plate.

Click OK.

Note: User 52 will receive an error message, because license plate BLOGPOST1 is locked by user 51.
 50

 

 A second user tries to receive items for a purchase order line, where there is nothing left to receive.

User 1 has started the receiving of a purchase order line and there is no quantity left to receive.

User 2 tries to start the receiving of the exact same purchase order line using a different license plate.

Example:

One purchase order exists

51

Mobile device flow

User 51 has logged into the mobile device.Open mobile device menu item. In this example the source document line identification method is Purchase order item receiving.  52
Enter license plate.

Click OK
 53
Enter Purchase order number.

Click OK
 54
Enter item number.

Click OK.
Note: Now the purchase order line number is uniquely identified.
 55
Enter quantity.

Click OK
 56
Click OK  57
User 52 logon to the mobile device and tries to start the receiving of items on license plate Blogpost2.  58
Enter license plate.

Click OK.

Note: This is accepted, because license plate Blogpost2 does not contain on-hand inventory on any locations and no other user has started the receiving of this license plate.
 59
Enter Purchase order number.

Click OK.
 60
Enter item number.

Click OK.

Note: The user receives a message that there is no quantity left to receive.
 61

 

User receives items on a faulty license plate ID.

If a user for example by mistake scans the item number in the license plate field and discovers this after the first item is received, the supervisor can delete the entry and the user can start again.

Example:

One purchase order exists

62

Mobile device flow

User 51 has logged into the mobile device.Open mobile device menu item. In this example the source document line identification method is Purchase order item receiving.  63
Enter license plate.

Click OK
 64
Enter Purchase order number.

Click OK
 65
Enter item number

Click OK.

Note: Now the purchase order line number is uniquely identified.
 66
Enter quantity.

Click OK
 67
Click OK.

Now the user realizes that the license plate should not be blog post number 1.
 68
Super user will open form Mixed license plate receiving.

Select the correct record.

Click Delete.
 69
Confirm deletion by clicking Yes.  70
The entry is deleted and the user can start again.  71

 

User mistakenly cancels out of the flow and forgets to complete the license plate. Supervisor wants to complete the license plate from the rich client.

The user receives all items for a license plate, but forgets to complete the license plate before going home. Supervisor wants to complete the license plate from the rich client.

Example:

1 purchase orders exist for 2 items.

72

Mobile device flow

Open mobile device menu item. In this example the source document line identification method is Purchase order item receiving.  73
Enter license plate.

Click OK.
 74
Enter Purchase order number.

Click OK.
 75
Enter item number.

Click OK.

Note: Now the purchase order line number is uniquely identified.
 76
Enter quantity.

Click OK.
 77
Click OK  78
Enter item number.

Click OK.
 79
Enter quantity.

Click OK.
 80
Click OK  81
Click Cancel  82

Supervisor opens the form Mixed license plate receiving.

83

Position cursor on the correct license plate.

Click the button Complete license plate.

The policies set for the mobile device menu item used by the last user will be applied. In this example, the mobile device menu item used for the last receiving has Display disposition code = Yes.

84

Supervisor can apply a disposition code or ignore this.

Click OK

License plate receiving is now completed and work is created.

85

User ID stamped on the header in this case is the user ID from the warehouse parameters Default work user ID.

86

Circulating license plates

Circulating license plates are supported using these 2 new work creation methods.

Capturing of tracking dimensions

Tracking dimensions’ batch and serial numbers are captured for each individual receiving on the license plate. The pattern applied is the same pattern applied for the work creation method Purchase order item receiving.

Vendor catalogs in Dynamics AX

$
0
0

Vendor catalogs import

In Microsoft Dynamics AX, purchasing professionals can create and maintain catalogs for company employees to use when they order items and services for internal use. When you create a procurement catalog you can add the items and services that you make available to employees, either by importing the vendor catalog data or by adding the vendor catalog data to the product master manually. If you use the catalog import process the vendor can send you the product catalog data and you can upload it by using the Microsoft Dynamics AX client.

The product data that the vendor submits to you, in the form of a catalog maintenance request (CMR) file, must be in XML file format. The CMR file should contain all of the details for the products that the vendor supplies to your company.

Importing vendor catalog data

To import vendor catalog data, you must complete the following tasks:

  1. Set up a project in data management workspace. Here you have to define your data mapping rules.
  2. Set up a procurement category hierarchy, and assign your vendors to procurement categories. If you use commodity codes, add the commodity codes to the procurement categories.
  3. Configure the vendor for catalog import.
  4. Configure workflow for catalog import.
  5. Create a CMR file template and share this with your vendor.
  6. Create a vendor catalog. The catalog maintenance request (CMR) files that you receive from your vendor are grouped in this catalog.
  7. Upload the CMR file.
  8. Review, approve, or reject the products in the vendor catalog. Details that can be reviewed include the product name, description, pricing, or order quantity requirements. Approved products are added to the product master and are released to the selected legal entities. Only approved products can be added to the procurement catalog. The products are now automatically mapped to the procurement categories in AX.

Overview

For the current version of Microsoft Dynamics AX, we are using the Data Import/Export Framework and a predefined composite entity (you can read more on data entities here).

clip_image001[13]

The product data that the vendor submits to you, should still be in the form of a catalog maintenance request (CMR) file, must be in XML file format.

Set up the system to import vendor catalog data

You will need to set up the system to support the vendor catalog import scenario, by creating an import job for vendor catalogs.

  1. On the main dashboard, click the Data management tile to open the data management workspace.
  2. Click the Import tile to create a new data project.
    clip_image003
  3. Enter a valid job name, source data format, and entity name.
    Do note for data source we support only XML-element or XML-attribute. Entity name should be “Vendor catalogs”.
    clip_image005
    Upload an XML mapping data file for vendor catalogs data entity.
    The XML mapping data file defines which fields you expect to import from your vendor CMR files. These fields will appear as your source and you will need to map these fields to Dynamics AX internal schema reflected by the staging schema.
    clip_image007

In this way you have the possibility to map the XML schema template that you provide to your vendors, to the internal schema defined in Dynamics AX. There can be only one mapping defined at a time.

The internal schema we currently support you can also see it below and it reflects a catalog maintenance request entity which includes product details entities with the associated product pricing, order quantity requirements and detailed product descriptions entities.

This is how the initial XML file should like:

<?xml version="1.0" encoding="utf-8"?><Document>
			<CatVendorCatalogMaintenanceRequestEntity>
				<UploadDateTime></UploadDateTime>
				<CatVendorProductCandidateEntity>
					<ProductCategoryHierarchyName></ProductCategoryHierarchyName>
					<ProductCategoryName></ProductCategoryName>
					<ActionType></ActionType>
					<ProductNumber></ProductNumber>
					<ProductSubtype></ProductSubtype>
					<SearchName></SearchName>
					<BarCode></BarCode>
					<ProductColorId></ProductColorId>
					<ProductConfigurationId></ProductConfigurationId>
					<ProductSizeId></ProductSizeId>
					<ProductStyleId></ProductStyleId>
					<CatVendorProductCandidatePurchasePriceEntity>
						<CurrencyCode></CurrencyCode>
						<UnitSymbol></UnitSymbol>
						<Price></Price>
					</CatVendorProductCandidatePurchasePriceEntity>
					<CatVendorProductCandidateSalesPriceEntity>
						<CurrencyCode></CurrencyCode>
						<UnitSymbol></UnitSymbol>
						<Price></Price>
						<SuggestedPrice></SuggestedPrice>
					</CatVendorProductCandidateSalesPriceEntity>
					<CatVendorProductCandidateDefaultOrderSettingsEntity>
						<UnitSymbol></UnitSymbol>
						<LeadTime></LeadTime>
						<OrderQuantityMultiples></OrderQuantityMultiples>
						<MaximumOrderQuantity></MaximumOrderQuantity>
						<MinimumOrderQuantity></MinimumOrderQuantity>
						<StandardOrderQuantity></StandardOrderQuantity>
					</CatVendorProductCandidateDefaultOrderSettingsEntity>
					<CatVendorProductCandidateTranslationEntity>
						<ProductName></ProductName>
						<Description></Description>
						<LanguageId></LanguageId></CatVendorProductCandidateTranslationEntity>
					</CatVendorProductCandidateEntity>
</CatVendorCatalogMaintenanceRequestEntity></Document>

In the mapping file you have to include UploadDateTime field at the level of CatVendorCatalogMaintenanceRequestEntity (see example above) . This field is used internally to track the upload time for the catalog maintenance request and it should not be included in the actual CMR files.

You can also include the field ActionType at the level of CatVendorProductCandidateEntity. This field can be used to explicitly specify the type of action you want to take for the product: add, update or delete. The values supported for these fields in the CRM file are: Add, Update and Delete.

If you will decide to use your own schema, you should get warnings when you upload the mapping file:
clip_image009[4]

Go to the View map and here you will see the vendor catalog composite entity and also the individual entities defined in the composite entity: CatVendorCatalogMaintenanceRequestEntity, CatVendorProductCandidateEntity, CatVendorProductCandidatePurchasePriceEntity, CatVendorProductCandidateSalesPriceEntity, CatVendorProductCandidateDefaultOrderSettingsEntity, CatVendorProductCandidateTranslationEntity

Make sure that each entity is added, and that all errors are fixed.
clip_image011

You can click each entity data card to set up, review, or modify field maps, and to set up XSLT-based transforms that must be applied to inbound data.
o Source – These are inbound CMR files Typically data format includes – CSV, xml, tab delimited ; This will be the xml schema you will use for you CMR files.
o Staging – These are auto generated tables which map very closely with data entity. When “data management enabled” is true staging tables are generated to provide intermediary storage. This enables the framework to do high volume file parsing, transformation and some validations.
clip_image013

Note: important, mandatory fields marked with red star should be always mapped to a field.

To map your own field to an existing field in the fixed schema, you can do this by drag a drop from source field to destination field and pressing save.

For example in here, we use VendorProductCode instead of ProductNumber.
clip_image014

You can proceed when the import job mapping icon shows no error.
clip_image016

Note: The mapped fields are case sensitive, which means the CMR files should use exact field names.

Also if fields were defined in the mapping even they are not mandatory they are expected to be present in the input. That means if for example BarCode was presented in the initial mapping file, we expect to see it in xml file even though it doesn’t contain any value.
clip_image018

  • Click Save. At this point your system is configured to support importing of vendor catalog files.Currently the product related data we support is: product name, description, translations. pricing or order quantity requirements.

 

NOTE: You should not import data directly from data management workspace. The vendor catalog maintenance request files should be imported in the context of a vendor catalog which also enforces a process of review and approval.

 

Set up a procurement category hierarchy

You won’t be able to import products from categories where the vendor is not approved for procurement. To approve the vendor:

  1. Go to Procurement and sourcing > Procurement categories.
  2. Select the category. Add the vendor to the list of approved vendors in the Vendors fast tab.

Configure the vendor for catalog import

In order to be able to import catalogs for a particular vendor it has to be enabled for catalog import. There are two ways to achieve that

  • For a specific vendor go to Procurement > Set up > Configure vendor for catalog import
  • If you don’t do this you will be prompted if you want to enable the vendor for catalog import when creating a new catalog for the vendor

Set up workflow

After a catalog maintenance request (CMR) file has been successfully uploaded, the purchasing professional can review the product details in the file. The vendor indicates whether the product is new, modified, or must be deleted. Information about the product pricing, product descriptions, product attributes, and order quantity requirements are also included in the CMR file. As an approver, you can indicate whether products are made available to selected legal entities and approve or reject the products in the file. Approved products are added to the product master and are released to the selected legal entities.

To support the approval process we are leveraging another powerful feature of AX: workflow processing.

You are allowed to set up rules for automated approval of vendor catalogs and specify one or more reviewers if manual approval is required. To enable the vendor catalog import functionality it is required to set up two types of workflows: Catalog import product approval (line-level), Catalog import approval (catalog-level). We should always define both workflows since the Catalog import approval will always require Catalog import product approval to approve products, either manually or automatically.

Catalog import product approval

This type of workflow processes all the products that are included in the CMR file. Completion of all of the individual line-level workflow completes the overall catalog import workflow. In order to create a product approval workflow:

  1. Click Procurement and sourcing > Setup > Procurement and sourcing workflows.
  2. On the Action Pane, click New.
  3. Select Catalog import product approval and then click Create workflow.

General setup

The common catalog import product approval workflow should look like this:

clip_image020

Set up approvers

  1. Double click the Catalog import product approval element.
  2. Click the Step 1 element.
  3. Click Assignment in the action pane.
  4. The simplest assignment would be User->Admin.

Set up automatic actions

Automatic actions allow the workflow framework to automatically approve or reject the products in the imported vendor catalog which meet certain conditions. In order to set up an automatic action you need to:

  1. Select the Catalog import product approval element.
  2. Click Automatic actions in the action pane.
  3. Click the Enable automatic actions check box
  4. Setup the conditions for auto approval/rejectionThere is one type of condition which I would like to focus on. You can specify Product candidate.Price delta as a parameter of the automatic action. The price delta is calculated as a ratio: (new price – old price) / old price. So if you want to make sure that the price delta is within 20% you need to set the condition to Product candidate.Price delta <= 0.2
  5. Select the type of automatic action (approve/reject)

You can also setup auto approval for condition that IsAutomatedApproval enabled,.

clip_image022

IsAutomatedApproval setting is controled directly on the vendor catalog page. On the Action Pane, on the Catalogs tab, in the Maintain group, click Enable automated approval. This sets the Automated approval field to Enabled.

Catalog import approval

This type of workflow is used for setting up the rules for approving the whole catalog. When you configure this workflow, you can reference the Catalog import product approval workflow that you configured earlier. The common setup would be to automatically approve the whole catalog import after all the products have been approved:

clip_image024

In the properties of the Vendor catalog lines (products) element you need to reference the catalog import product approval that you created earlier.

Import a catalog from a vendor

First you have to set up a catalog for your vendor. The catalog maintenance request (CMR) files that you receive from your vendor are grouped in this catalog. After you set up the catalog, you can upload CMR files for the vendor. You can also view the details and the event log for new or existing CMR files that have been added to the vendor catalog

Use this procedure to create a new vendor catalog. This is the catalog to which you upload a catalog maintenance request (CMR) file for a vendor. If you delete the vendor catalog, you can no longer import CMR files to it. If you still want to import catalog data from the vendor, you must create a new catalog for the vendor

  1. Go to Procurement and sourcingCatalogs > Vendor catalogs and create new catalog.
  2. In the New catalog form, in the Vendor field, select the vendor that you are creating the catalog for.
  3. Enter a name and description for the catalog, and then click Save.

clip_image026

Upload a catalog maintenance request (CRM) file. Go to Catalog file history tab, click Upload file.

  1. In the Upload file dialog box, browse to the location of the CMR file that you created. The maximum file size allowed to upload is 10 MB per file.
  2. Enter an effective date and an expiration date. These dates define the date range in which the pricing for the products in the CMR file is valid. When trade agreement are created it will include these dates.
  3. Select one of the following update types for the CMR file:
    1. Add updates to the existing vendor catalog – Add product updates to an existing catalog.
    2. Replace the existing vendor catalog with a new catalog – Add a new catalog, or replace an existing catalog with a new catalog.
  4. If you are creating a new catalog to replace an existing catalog, all items and services that are in that catalog are overwritten by the matching items and services in the new CMR file. Any existing items and services that are not in the new CMR file are deleted. Any items and services that are included in the new CMR file, but that are not included in the existing catalog, are treated as new products
  5. Select category hiererachy type you want to associate the product data. You can also select either procurement category hierarchy or commodity code hierarchy.
  6. Click OK to start the upload process for the CMR file.

clip_image028

When you upload the CMR file, the file is validated against the category hierarchy type selected and the categories the vendor is allowed for procurement. If the validation fails and some of the data is invalid the catalog upload process will fail. You can view the details for the CMR file upload status in the event log. After the CMR file is uploaded successfully, you can review the details of the CMR file in the vendor catalog.

clip_image030

  • Start processing – The CMR file has been submitted for import.
  • Start catalog upload – The CMR file has been submitted and is in process.
  • Catalog upload failed – An error occurred after the file was submitted for processing, and the CMR file was not imported.
  • Catalog upload complete – The CMR file was successfully uploaded.
  • Invalid CMR – The CMR file does not comply with the current schema for catalog import. If the CMR file was created by using an outdated schema, the CMR file must be recreated by using the current schema. You can also use advanced troubleshooting to narrow done the cause of the failure.
  • Pending approval – The CMR file is in review and waiting for approval by the purchasing agent.
  • Product rejections – Products in the CMR file were rejected for import into the procurement catalog. Product rejections are indicated by a warning during the import process, and the file continues to be processed for products that are approved.
  • Approval complete – The purchasing professional has completed the review of the products and images that are contained in the CMR file.
  • Finish processing – Approved products have been added to the product master in Microsoft Dynamics AX and trade agreement journals have been created. The data in the CMR file has been passed to the archive folder for the vendor.

After the products in the CMR file are reviewed and approved, you can release the approved products to the legal entities in which the vendor is authorized to supply products, and appropriate trade agreements can be created.

 

Validate and approve imported catalogs

  1. Click Procurement and sourcing > Common > Catalogs > Vendor catalogs. On the Vendor catalogs list page, double-click a vendor catalog.
  2. In the Update catalog form, on the Catalog file history fast tab, select a CMR file, and then click Details.
  3. In the Catalog approval page form, review the product details for the products that are included in the CMR file. You can use the Item status field to view all items or only items that have a selected status. Select one of the following options:
    1. All items – View all products that are included in the CMR file. This is the default setting.
    2. Add – View only new products. After a new product is approved, it is added to the product master. When the product is released to the legal entity, the corresponding trade agreement is created and the product appears on the Released products list page.
    3. Update – View only existing products that are being modified. After a product is approved, the modifications are applied to the existing product in the product master. New trade agreements are created only if there are price changes for the product.
    4. Delete – View only products that are no longer offered by the vendor and should be deleted. After the product request is approved, the product is no longer available for purchase.
  4. To filter product changes by legal entity, select a legal entity in the Buying legal entity field. You can view the price, name and description and purchase quantity changes by legal entity.
    Note
    A legal entity appears in the list only if vendor products that have been imported are approved and released to the legal entity. If no products have been released to a legal entity for the vendor, the list is empty.
  5. In the lower pane, on the Price tab, review the pricing for a selected product. The current price and new price are displayed in the currency and unit of measure in which the product is offered.
  6. On the Name and description tab, review the name and description of a selected product in specified languages.
  7. On the Purchase quantity tab, review changes to the purchase order quantity requirements and purchase lead time for the selected product.
  8. In the upper pane, select the products that you want to approve, and in the workflow message bar, click Actions > Approve. Approved products are added to the product master.
  9. In the upper pane, select the products that you want to reject, and in the workflow message bar, click Actions > Reject. Products that are rejected are not added to the product master.
  10. Click Release products to legal entity, and then in the Release products to legal entity form, select the legal entities in which the vendor’s approved products will be available. Corresponding trade agreements will be created for the products in these legal entities. Products must be added to the product master and be available in the legal entities before they can appear in the procurement catalog.
    Note
    If you do not release the approved products to the legal entities by using the Catalog approval page form, you can release approved products to legal entities by using either the Vendor catalogs list page or the Update catalog form.

 

Advanced troubleshooting

We have a first level of logs to see if anything failed during the import of a file.

clip_image032

However we don’t expose yet all the detailed information here in regards with data management framework processing.

For this now we have an advanced ways of seeing more details when import fails, by looking at execution details of the import job by going to data management workspace:

clip_image034

For the failed job, I can drill through and see more details

clip_image036

By going further into view staging data and viewing data you can identity there is a problem in this case in product data:

clip_image038

We are hiring!

$
0
0
ExternalWholebuilding_HLA029_jpg
Do you want to work on a team where we focus on realizing the full potential for our business customers? Do you want to utilize your passion for technology to bring Dynamics AX to the next level? Do you want to work in our new modern office, built with Agile engineering in mind? Do you want to work with some of the best engineers in the world? Great, we are looking for new talents!

Microsoft is a company that values diversity and encourages openness of ideas and communication. MDCC was rated the Best Place to Work in Denmark by the Great Place to Work Institute.

Microsoft Development Center Copenhagen is one of Microsoft’s largest development centers outside the US. We offer an international work environment that is characterized by flexibility, an informal atmosphere and a fast pace. We provide an attractive compensation package that will match your responsibility. International visa sponsorship and relocation support is offered for this role.

All applications for vacant positions will be welcomed and will be considered on the relative merits of the applicant against the role profile for the position regardless of color, race, nationality, ethnic origin, gender, sexual orientation, marital status, disability, parental responsibilities, age, religion, or belief.

 

Use of license plates associated with a container type to drive warehouse management processes

$
0
0

When using Warehouse management II, you can use different types of pallets to control storage policies. Similarly, when using the Warehouse management module in Microsoft Dynamics AX 2012 R3, you can now associate a container type with a license plate. This is available with the following KB articles:

  • KB 3162642 – Need pallet type and groups support for inbound flow in WHS
  • KB 3164382 – Locate put-away locations based on license plates (for purchase order mixed LP and LP receiving processes)

License plates

Warehouse management > Setup > Warehouse setup > License plates

You can use the License plate form to assign a container type to a license plate entity.

062016_0727_Useoflicens1.png

Container types

TechNet: https://technet.microsoft.com/en-us/library/dn553190.aspx

Warehouse management > Setup > Containers > Container types

The container types are used to define the physical characteristics of a tangible carrying unit, such as a cage, box, pallet, or a shipping container.

062016_0727_Useoflicens2.png

The following new fields have been introduced on the container type entity:

  • Container length – The length of the container
  • Container width – The width of the container
  • Container height – The height of the container
  • Container volume – The volume of the container
  • Flexible volume dimensions – When selected, the volume depends on both the container volume and the inventory put on the container (open pallet). When cleared, the volume is considered fixed and doesn’t depend on what inventory is put into the container (fixed cage). Existing containerization processes will not be affected by this new setting.
  • Unit – The unit of the container type is used as part of the stocking limit calculations where unit conversions between container types can be used as a ratio to calculate storage capacity within locations.

Units and Unit conversions

Organization administration > Setup > Units > Units

Organization administration > Setup > Units > Unit conversions

062016_0727_Useoflicens3.png

Unit conversions between container types describe a common unit when using stocking limits. For example, a location with the capacity to carry two full-pallets might be expressed as having capacity for four half-pallets.

To further illustrate this example, two Units must be created and assigned with two Container types.

Then Unit conversions between the units must be defined:

1-PL = 2 * ½-PL

062016_0727_Useoflicens4.png

Location stocking limits

Warehouse management > Setup > Warehouse setup > Location stocking limits

You can use information about the container types on the Location stocking limits form to find available capacity based on the available number of license plates (container types). The Container types section (tab) is evaluated first as part of the stocking limits functionality. If no constraints are found, the settings in the Product section are used. If you don’t want to use this functionality, you can create a record with the Allow unlimited quantity field selected.

The Unit cannot be selected, but is entered by default based on the unit assigned on the Container type field.

062016_0727_Useoflicens5.png

With using internal unit conversions between different container types, the storage capacity depends on the container type. In this example all locations that are associated with the Location profile ID being set to PDP have space for two full-size pallets. The way that the Unit conversions are defined means that the following combinations can be used:

# of full-pallets # of ½-pallets Max location load
2 0 Yes
1 0 No
1 1 No
1 2 Yes
0 0 No
0 1 No
0 2 No
0 3 No
0 4 Yes

 

The definition of the container type location stocking limit requires the Location profile ID that used has the Allowed container type group field defined. The associated container types must have units and unit conversions defined, as well.

Allowed container type groups

Warehouse management > Setup > Containers > Allowed container type groups

In case locations should be restricted from holding all container types, the new Allowed container type groups can be used. The records that are defined in this form must be associated with a location profile in order to restrict locations to holding only specific container types. When Allow unspecified container types is selected, license plates that are not associated with any container type are allowed to be put on the locations.

062016_0727_Useoflicens6.png

Location profiles

Warehouse management > Setup > Warehouse setup > Location profiles

To store only the license plates for the container types that are allowed by your business, assign the allowed container type group to a location profile. To use this functionality, you must select the Use license plate tracking field.

062016_0727_Useoflicens7.png

Note that when using the volumetric calculation functionality, the physical dimensions will be calculated based on the defined setup as part of the container types. Making a physical update resulting in emptying a license plate (no inventory on-hand associated), will remove the volume of the license plate (container) volume on the location load.

 

Container type defaulting

The logic of getting a container type assigned to a license plate can be controlled by defaulting. When enabled, the user can overwrite the default value during the mobile device processing.

Conceptually the defaulting will start from:

Existing License plate container type -> Mobile device menu items -> Unit sequence groups -> Warehouse -> Warehouse management parameters -> [Blank]

Warehouse management parameters

Warehouse management > Setup > Warehouse management parameters

You can specify default entries for container types that are assigned to license plates using the fields in the License plates section.

062016_0727_Useoflicens8.png

Warehouses

Warehouse management > Setup > Warehouse setup > Warehouses

You can specify default entries for container types in the Warehouse management section.

062016_0727_Useoflicens9.png

Unit sequence groups

Warehouse management > Setup > Warehouse setup > Unit sequence groups

The Default container type column is added as part of the unit sequence so you can specify the container type as a default entry, depending on the unit used as part of the receiving process.

062016_0727_Useoflicens10.png

 

Mobile device menu items

Warehouse management > Setup > Mobile device > Mobile device menu items

The Default data setup form is used to make the Default container type file active on mobile devices, as well as specifying the default container type.

062016_0727_Useoflicens11.png

Mobile device forms

If you select the Display container type field in the Mobile device menu items form, the Container type lookup is shown either when the license plate is generated automatically or the mobile device process displays an acceptance form after the license plate value is defined.

With Generate license plates selected:

062016_0727_Useoflicens12.png

With Generate license plates cleared:

062016_0727_Useoflicens13.png

062016_0727_Useoflicens14.png

Location directives (Purchase orders)

To support a put-away business process where all the content on a license plate gets put on one location, for ASN – License plate receiving and Mixed license plate receiving, we recommend using the Locate by field on the Location directives for the work order type purchase order.

062016_0727_Useoflicens15.png

When set the Locate by field to ASN or Mixed license plate, the query, as well as the line and location directive actions, will behave differently. When using the grouping concepts for ASN and Mixed license plate, the lines restrictions will not be used.

062016_0727_Useoflicens16.png

Outbound processes

Even though this enhancement mainly addresses the inbound warehouse management processes, some outbound processes can benefit, as well. One benefit is the capability to guide the work allocation for specific container types via the query on the Location directives.

062016_0727_Useoflicens17.png

On-hand inventory

The same filtering capabilities can be used when viewing the inventory on-hand. It will be possible to include the container types as part of the query due to the fact that the container types get associated with the license plates tracked during the receiving processes.

062016_0727_Useoflicens18.png


What’s new in CU11 for WMS and TMS

$
0
0

Microsoft Dynamics AX 2012 R3 Cumulative Update 11 is now available for download on Lifecycle Services, CustomerSource and PartnerSource. This release includes several improvements for warehouse and transportation management. For detailed information on the release of Microsoft Dynamics AX 2012 R3 CU11, please refer to the Dynamics AX In-Market Engineering blog.

In this post we’ll take you through some of the enhancements in SCM and specifically for WMS and TMS. The following information is also available as part of the What’s new in Microsoft Dynamics AX 2012 document found here.

In short, within SCM and for WMS and TMS the following enhancements are made available:

  • Enable multi-threading on wave execution.
  • Inserting records into InventTransOriginTransfer from the write TransferRefId method has been improved.
  • Report actual consumption for production on a mobile device.
  • Ability to round up work for raw material picking in the unit that the material is picked in.
  • Ability to mark a production order as ended when you are reporting as finished on a mobile device.
  • Ability to report items that have an active serial number as finished by using a mobile device.
  • Receive a pallet that has mixed source document line, and register it by using one license plate (LP).
  • Locate put-away locations, based on LPs for mixed LP and LP receiving processes.
  • Associate LPs with a container type.
  • New functionality has removed the need for the message that states that the load line is not valid when you try to release a load that is a partial quantity.
  • All first expired, first out (FEFO)  batch reservation sales lines that are created have the same item.
  • You can now change the unit of measure during sales order picking
  • The Adjustment in and Adjustment out mobile device menu items now have the option to show or hide inventory status.
  • You don’t need to enter the return merchandise authorization (RMA) for every line that is being returned when you process a return through a mobile device.
  • The ability to allow negative physical and financial inventory for specific warehouses is now controlled by the LogisticsBasic configuration key.
  • Combine sales orders and transfer orders on the same outbound load.
  • Accrual posting of inbound freight charges at the time of product receipt
  • The printed master bill of lading (BOL) gives summarized information for all attached underlying BOLs.
  • You can go directly to the BOLs for a load from the Load planning workbench.
  • Until now, it has been mandatory to use different items for the parent and child product. Otherwise, the user receives a warning message from the BOM check that circular reference is not allowed. If this warning is ignored, MRP might fail. This warning was caused by the fact that the level check and the BOM level calculation were done per item.
  • Issues with multithreading, bill of materials (BOM) level calculation, and processing of items that have no demand cause high MRP run times.

The following shows an excerpt from the What’s new in Microsoft Dynamics AX 2012 document on a more detailed list of the enhancements for CU11 in SCM and for warehouse and transportation management.

Description of issue or change request  Description of enhancement
Enable multi-threading on wave execution. Multiple waves can now be processed in parallel for the same warehouse, which enables a single wave to process allocations in parallel to improve performance of wave allocation.
Inserting records into InventTransOriginTransfer from the write TransferRefId method has been improved. Inserting records into InventTransOriginTransfer from the write TransferRefId method is slow because the query plan that was implemented affect the performance of work creation during WHS wave release. The functionality has been improved to help guarantee that the select statement is split into two, so that SQL Server can use a better query plan.
Report actual consumption for production on a mobile device. There is a new mobile device menu item for registering material consumption.
Ability to round up work for raw material picking in the unit that the material is picked in. You can now round up work for raw material picking to the nearest unit that the material is picked in. The Lines section of the location directive has a new field that you can use to set the round-up
criteria. The field is enabled only if the line is restricted by a unit. For more information, see the Microsoft Dynamics AX Manufacturing blog.

For example, 510 pounds of a raw material are required in order to produce 4,475 pounds of finished goods. The raw material is stored in the warehouse in 50-pound bags. If the requested quantity of 510 pounds is picked for the order (order picking), the warehouse worker must pick ten 50-pound bags, plus an additional 10 pounds. In some scenarios, the warehouse worker will pick the ten bags and weigh the additional 10 pounds in the warehouse (for example, at a special location where bags are opened). In another typical approach, the material is not weighed at the warehouse location but on the shop floor, near the operation that consumes the material. In this scenario, the warehouse worker will over-pick to the nearest 50-pound bag. In other words, for this example, he or she will pick eleven 50-pound bags.

Ability to mark a production order as ended when you are reporting as finished on a mobile device. You can now report as finished by using End job on the hand-held device. When you report a production order as finished by using the End job option, the production order status is updated to Reported as finished. This status indicates that no more finished goods will be reported, and no more time and material will be consumed by the order. Therefore, any inventory transactions that have remaining quantities for both materials and finished goods will be cleaned up. For more information, see the Microsoft Dynamics AX Manufacturing blog.

In previous versions, this capability was available when you reported as finished from the Microsoft Dynamics AX client, but not from mobile devices. However, mobile device users can now mark End job from their device. This capability is available for reporting as finished on production orders, and also on batch orders that have co-products and byproducts. When you configure the menu item for reporting as finished, you can specify whether the End job option should be available to mobile device users.

Ability to report items that have an active serial number as finished by using a mobile device. There is a new mobile device menu item for reporting as finished by serial number.
Receive a pallet that has mixed source document line, and register it by using one license plate (LP). Two new work creation methods for the mobile device have been introduced, so that users can receive multiple times against a single LP. For more information, see the Microsoft Dynamics AX SCM blog.

You can now use a mobile device to identify and register items on a pallet before work is created and the pallet is moved from receiving to the next location. To support this functionality, two new work creation methods have been added: Mixed license plate receiving and Mixed license plate receiving and put-away. When a mobile device menu item is set up, and one of the new work creation methods is used, an additional new field becomes available: Source document line identification method.

The source document line identification methods determine the flow that is presented to the user on the mobile device until a source document line is uniquely identified. Each of the three supported methods corresponds to a flow that is presented to users who work with mobile devices for the work creation methods: Purchase order item receiving, Purchase order line receiving, and Load item receiving.

The difference is that users can continue to register on a single LP until all items on that LP are received.

To support the new functionality, a new form has been added: Mixed license plate receiving. This form contains information about the actual state of an LP, where receiving is done by using one of the work creation methods that are listed.

Locate put-away locations, based on LPs for mixed LP and LP receiving processes. You can now define whether the search for free locations in the location directives must include all the content on an LP and group the put into one location.

When you receive inventory via an advance shipping notice ASN/packing structure that has a mix of item numbers, you cannot control the put-away policy that always makes sure that a complete
LP is stored, unless all locations allow for unlimited capacity. In the location directives for purchase orders, you can specify whether the search for free locations must include all the content on an LP and therefore group the put-away into one location for the mixed LP receiving and LP receiving processes.

Associate LPs with a container type. New dimensions and logic for container types have been introduced, so that you can associate container types with LPs and create location stocking limits that are based on container types. For more information, see the Microsoft Dynamics AX SCM blog.

Support for pallet types and groups for inbound flow in WHS is now included.

New functionality has removed the need for the message that states that the load line is not valid when you try to release a load that is a partial quantity. You can now add less than the full quantity of an order to a load and release it to the warehouse, without receiving an error message. In previous versions, when you try to release a load that is a partial quantity, you receive the following error message: “The load line is not valid. It cannot be updated.”
All first expired, first out (FEFO)  batch reservation sales lines that are created have the same item. In previous versions, if a sales order consists of multiple sales lines for the same item, the automatic reservation during release to the warehouse batch does not consistently apply FEFO logic for batch reservations. The first sales line takes the FEFO batch correctly. However, the next sales line takes the next FEFO batch, even though first FEFO batch still has an available quantity. Every sales line is now put into a single transaction when a sales order that has multiple sales lines is automatically released to the warehouse. These changes will help guarantee that reservation that is based on FEFO logic have no differences between multiple sales lines.
You can now change the unit of measure during sales order picking You can now change the unit of measure during sales order picking, even if quantity confirmation is set up. All units in an item’s unit of measure sequence group can be used. It is difficult for a mobile device user to convert between the work quantity and the quantity at a location if the units of measure differ.

For example, if there is a work order for one pallet, and there are three cases on the pallet in the work location, it might be impossible for the user to know whether three cases are the equivalent of one pallet. You can now display all units of measure in an item’s unit of measure sequence group when quantity confirmation is set up for the pick on a mobile device menu item.

The Adjustment in and Adjustment out mobile device menu items now have the option to show or hide inventory status. A new parameter for displaying inventory status has been added to the Adjustment in and Adjustment out work creation methods.

When you process an inventory adjustment, quality departments might not want warehouse personnel to be able to adjust the inventory status. In this case, the Display inventory status check box must be added to the Adjustment In and Adjustment Out work creation menu items.

You can now use a new option on the Adjustment In and Adjustment Out warehouse menu items to restrict the user’s ability to change the inventory status.

You don’t need to enter the return merchandise authorization (RMA) for every line that is being returned when you process a return through a mobile device. In previous version, when you process a return through a mobile device, you must unexpectedly enter the RMA for every line of registration.

The changes in the hotfix use the same code logic from purchase line receiving. When work is completed, the RMA number is inserted into the pass map. When the step is 0, the initialization status is also inserted into the pass map. These changes help guarantee that the display form keeps the RMA number, so that you don’t have to scan it again.

The ability to allow negative physical and financial inventory for specific warehouses is now controlled by the LogisticsBasic configuration key. In previous versions, the ability to control whether a specific  warehouse allowed negative physical inventory is tied to the Retail  functionality, and the control was located on the Store tab.

Because of changes in the hotfix, the ability to control whether a  specific warehouse allows negative physical inventory is now tied to the LogisticsBasic configuration key. Therefore, this functionality is available for all warehouses, not just stores.

Combine sales orders and transfer orders on the same outbound load. From the Load planning workbench, you can now add transfer orders to an existing load that contains sales orders, or add sales orders to an existing load that contains transfer orders.
Accrual posting of inbound freight charges at the time of product receipt In the Miscellaneous charges form, you can now specify a charge category of Proportional for a module vendor. This functionality gives you the flexibility to set up different charge category for each miscellaneous charge in Transportation Management System (TMS).
The printed master bill of lading (BOL) gives summarized information for all attached underlying BOLs. Currently, when you print the master BOL, the summarized information of all attached underlying BOLs is listed arbitrarily.

A new option in the TMS parameters form lets you automatically create a master BOL when there is more than one shipment on a load.

A new button that lets you create a master BOL for a selected load from the BOL form has also been added.

You can go directly to the BOLs for a load from the Load planning workbench. A load can contain multiple shipments, and if changes to the BOLs are required, it can be cumbersome to go to a menu in another module to find the correct BOLs for a given load. Additionally, the Load planning workbench lets you enter the actual gross weight for individual load lines, which can cause the BOL to be inaccurate. A button that has been added to the Load planning workbench, Load details form, and Load list page opens the BOL form and filters that form by the shipments that are on the load. Therefore, you can update the BOL more efficiently and accurately.
Until now, it has been mandatory to use different items for the parent and child product. Otherwise, the user receives a warning message from the BOM check that circular reference is not allowed. If this warning is ignored, MRP might fail. This warning was caused by the fact that the level check and the BOM level calculation were done per item. With KB3089402, you can create one item, and use it as both parent and child in the BOM, as long as at least one product dimension differs.

Required setup

  • Inventory model: To ensure correct costing items with BOMs that include variants of the same item, you must use standard cost.
  • BOM check: The Circularity check strategy option must be set to Optimize for high complexity. The other option, Optimize for low complexity, has not been updated and will detect circularity for item variants that are produced from the same item.

Important implementation note

Make sure that the reqItemLevel table is empty before the first MRP run. Any change, such as creating or modifying an item, will generate entries to the table, and as a result, it will not be empty. The simplest way to do this is to truncate the reqItemLevel table and then run a full MRP (regenerative with no filters). Otherwise, MRP will not generate any planned orders.

Issues with multithreading, bill of materials (BOM) level calculation, and processing of items that have no demand cause high MRP run times. Multithreading during the MRP coverage phase and BOM level calculation have been optimized.
The ability to filter out items that have on-hand quantity but no demand has been added to Master planning parameters. This filtering reduces the number of planned items and is especially useful when spare parts are stocked.To enable this functionality, in the Master planning parameters form, use the Performance and Automatically filter by items with direct demand options for the pre-processing and post-processing steps of MRP.The Automatically filter by items with direct demand works as follows for the pre-processing and post-processing steps:
  • Pre-processing – MRP is a multi-step process. Before the actual planning step, which is called coverage, MRP completes a data update step. During this step, the MRP tables are populated with the data that will be operated on, in terms of both transactions (such as sales orders, purchase orders, forecasts, and safety stock) and planning parameters.
    The update step has several of substeps. One of these substeps preprocesses or preselects the items to update. Typically, not all the items that exist in inventory are sold or purchased at a specific time. Therefore, performance can be improved if the system can determine, at the start, whether there has been activity on each item. In this substep, the parameter filters items that have an on-hand quantity but do not have demand.
  • Post-processing – Before the coverage step can start, there is a pre-coverage step, where items for which BOM version requirement is set to true must be reprocessed to help guarantee that the items from the required BOM are planned. This step can lead to situations where items that were considered in preprocessing to have both on-hand quantity and demand now have just on-hand quantity, not demand, so that they can be excluded from planning.

 

Running the allocation step of Wave processing in parallel

$
0
0

This blog post applies to Microsoft Dynamics AX 2012 R3 CU11 and KB 3153040.

Wave processing is used to generate work for the warehouse. The processing can be time consuming and majority of the processing time is spent in the allocation step and in the work creation step.

It is now possible to run the wave allocation step in parallel, which can improve the performance of the wave processing, and allow for a larger throughput of waves in the same warehouse.

Previously it was only possible to allocate one wave at a warehouse at a time. This constraint was enforced by using a SQL application lock that basically locked on the warehouse ID. This constraint has now been removed. A new constraint has been introduced so the locking is done on the item and dimensions that are above location in the reservation hierarchy. Dimensions above the location always include product dimensions, so if an item is configured using Color, variants for Red, Blue, and Yellow could be processed in parallel.

This means that if the same item with the same dimensions above the location is being allocated by one wave, other waves will have to wait to acquire a lock on the same item and dimensions. If the lock cannot be acquired in a timely manner, an error will be thrown and the wave processing will fail.

In order to utilize parallel processing, the wave needs to run in batch.

Performance improvements – what can be expected

It is hard to predict how much the parallel processing can improve the performance.

The performance benefits fall in two categories:

  1. Improved throughput: The throughput of waves should be improved even if parallel processing is not configured, especially for scenarios where there is no overlap of items within the waves.
  2. Improvement of the allocation for a single wave: Testing on customer data on a 4 core environment using 8 tasks, resulted in almost a 50% improvement of the overall processing for larger waves with more than 700 different items and variants. The parallel processing is done per items and dimensions above the location, so the improvements depends on how many different items a wave contains, the infrastructure available, and the duration of the allocation vs the duration of the work creation.

Configuration

Warehouse management parameters

The following values on the Warehouse management parameters form are relevant. This form is found under Warehouse management > Setup > Warehouse management parameters.:

Field Description
Wave processing batch group This determines the batch group that the initial processing of the waves should use. The subsequence processing of allocation can be done using different batch groups.
Process waves in batch This determines if the waves are processed in batch. If this is not enabled, parallel processing will not be used.
Create pending allocation log This determines if logging should be done during the parallel processing of pending allocations. This should only be enabled if you need insight into the wave allocation, for example, to troubleshoot issues, since it adds an extra overhead.
Wait for lock (ms) This setting determines how long the wave processing should wait to acquire a lock on the item and dimensions above location (this is the logical unit that is locked during wave processing). We recommend that you allow waits of at least a few seconds, since it allows for allocation of one logical unit to finish. The setting is in milliseconds.

Wave process methods

The actual configuration of the parallel processing is done on the Wave process methods form found under Warehouse Management > Setup > Waves > Wave process methods.

A new button called Task configuration is enabled for the allocateWave method. This buttons opens the Wave post method task configuration form.

In this form you can configure how many batch tasks should be used for the allocation in a specific warehouse. If the number is set to 8, a maximum of 8 batch tasks will be used to process the allocation.

Note: The optimal number of batch tasks depends on the infrastructure available and what other batch jobs are being processed on the server. Tests done on a 4 core environment that was dedicated to wave processing showed that 8 tasks lead to good results.

Specific batch groups can be used for different warehouses in order to allow the allocation processing to scale out per warehouse.

If a configuration record does not exist for a warehouse, parallel processing will not be used.

Troubleshooting

Since the batch framework is used, errors that occur during wave processing will be captured as part of the batch jobs Infologs. The batch jobs related to a wave can be viewed using the Batch jobs button:

This is what a typical set of batch jobs would look like for a wave:

The first batch job is the one that was initially created when the wave processing began. If parallel execution is used, this job prepares data for the next job.

The second job is the one for the allocation. This job can have multiple tasks dependent on the number of batch tasks configured. The third job is for the rest of the wave processing and has information about the first step after the allocation. This is typically the createWork step or replenishment if that is enabled.

The wave processing is self-correcting so any error that’s detected during the processing should be handled gracefully and reported using the Infolog.

A typical error related to parallel processing could be that two waves try to allocate the same item at the same time and one does not complete so that the other wave is unable to acquire a lock within the specified time. If this situation occurs the batch jobs log will contain information stating that the lock for the item could not be acquired. If this occurs, the wave that failed needs to be processed again.

Since the processing is happening in parallel, data needs to be maintained in different tables to track the state of the processing. This means that the logs for the batch jobs might contain errors such as duplicate key errors. The screenshot below is an example of such errors where 8 tasks were created and all failed the allocation:

The errors from the batch tasks are also part of the batch jobs log. The most important information is typically at the bottom. In this example the log is telling us that the shipment was not fully allocated.

In rare cases, for example if the SQL connection is ended, it is possible for the wave processing to end up in an inconsistent state where the batch job appears to be running but the processing is stopped. The wave can’t handle errors like this, so an attempt to clean up failed waves is done when the next wave runs. Alternatively, you can use the Clean up wave data button to clean up the current wave if it is in an inconsistent state.

The pending allocation log

If the Pending allocation logging option is enabled data can be viewed in the Wave pending allocation log form by clicking the button. A log record is created every time allocation for an item and its dimensions begins and ends.

Logging should only be enabled if you need it, for example, during initial testing or for troubleshooting.

Controlling reservations for Warehouse Management enabled items (WHS) – Part 2

$
0
0

In this blog post we are going to go into details about how you can gain more control of your reservations by introducing a new reservation strategy.

If the reservation of warehouse management enabled items is not fresh in your memory, take a look at Controlling reservations for warehouse management enabled items (WHS) – Part 1.

The code snippets are written for Microsoft Dynamics AX 2012 R3 CU 11, but can be easily ported to the to the latest version of Dynamics 365 for Operations

The code in this blog is provided “as-is”. You bear the risk of using it.

The scenario

We are going to imagine that a company is selling an item in different qualities and is using the inventory status to reflect the quality.

Normally the company sells whatever qualities are available, but for a few special customers, the quality needs to be selected during order taking, which means the sales order taker needs to able to select the inventory status.

To have as much stock available for customers that request a specific quality the company wants to postpone the decision about which qualities are used for the orders were no special quality is requested.

The challenge is to postpone the reservation of specific qualities (inventory statuses) but still allow some orders to select specific qualities.

In order to create work all dimensions above the location must be specified on the load lines. Therefore the decision about what qualities to ship can only be postponed until the point in time where the load is released to the warehouse.

To achieve this, we are going to introduce a new reservation strategy. The purpose of this strategy is to ensure that we reserve all the dimensions above the Inventory status but not the inventory status itself.

The new reservation strategy

Our new strategy called AllAboveStatus will be added to the hierarchy by extending the WHSReservationHierarchyLevelStrategy class.

The instantiation of the class is done using the SysExtension framework (if you want to read more about SysExtension framework it is well covered here: The Microsoft Dynamics AX 2012 extension framework – Part 1.

 

All we need to do is to add a new value to the WHSReservationHierarchyLevelStrategyType enum and decorate our class with an attribute:

[WHSReserveHierarchyLvlStratAttribute(WHSReservationHierarchyLevelStrategyType::AllAboveStatus)]
class WhsReservationLevelStrategyAllAboveStatu extends WHSReservationHierarchyLevelStrategy

Important methods

There are a few methods we need to override. Here I am including the two complex ones.

public List getReservableHierarchyListTopDown()
{
    if (!reservationHierarchyListTopDown)
    {
        /* This should be on the cache but is kept here for illustration purposes */

        reservationHierarchyListTopDown = WHSReservationHierarchyListBuilder::construct().buildPartialHierarchyAbove(
                    inventTable.whsReservationHierarchy(),
                    WHSReservationHierarchySortOrder::TopDown,
                    fieldNum(InventDim, InventStatusId),
                    false);

    }

    return reservationHierarchyListTopDown;
}

 

The method must return a list that contains all the fields from the reservation hierarchy above the Inventory status.

public WHSReservationHierarchyLevel getReservationHierarchyLevel()
{
    return this.reservationHierarchyProvider().getDimLevel(inventTable, fieldNum(InventDim, InventStatusId)) - 1;
}

 

The method must return the level that we want to reserve against.

That takes care of introducing the new strategy.

Determining when to use the new strategy

Now we need a way to determine when the new strategy should be used.

We are going to keep it simple so this is done by adding a new No/Yes field to the SalesLine table. If the field is set, we will use the new strategy.

We just need to override the reservationHierarchyLevelStrategyList method on the InventMov_Sales class .

 

public List reservationHierarchyLevelStrategyList(InventDim _inventDimReservationCriteria)
{
    List ret;

    ret = super(_inventDimReservationCriteria);

    if (SalesOrderLine.WHSUseNonStatusSpecificReservation //new field
    &&  (this.canHaveReservedWork()))
    {
        // put our new strategy at the start of the list so it is picked first
        ret.addStart(WHSReservationHierarchyLevelStrategy::newFromStrategyType(WHSReservationHierarchyLevelStrategyType::AllAboveStatus, this.inventTable(),_inventDimReservationCriteria));
    }

    return ret;
}

 

Uptake the strategy in the Reservation page

To be able to use our new strategy in the Reservation page we need to make one more minor change to WHSReservationHierarchyLevelStrategy::newPrimaryStrategyFromMovement which controls what strategy is used for the Reservation page.

 

public static WHSReservationHierarchyLevelStrategy newPrimaryStrategyFromMovement(
    InventMovement  _movement,
    InventDim       _inventDimReservationCriteria,
    boolean         _isPhysicalReservation)
{
    WHSReservationHierarchyLevelStrategyType    whsReservationHierarchyLevelStrategyType;
    container                                   strategyTypes;
    WHSReservationHierarchyLevelStrategy       WHSReservationHierarchyLevelStrategy;

    ListEnumerator le = _movement.reservationHierarchyLevelStrategyList(_inventDimReservationCriteria).getEnumerator();

    // take the first one in the list since that should be the primary one
    if (Le.moveNext())
    {
        return le.current();
    }
    else // keep the old code in case some movements return an empty list
    {
        strategyTypes = WHSReservationHierarchyLevelStrategy::determineStrategyTypesFromMovement(_movement,_inventDimReservationCriteria, _isPhysicalReservation);

        whsReservationHierarchyLevelStrategyType = conPeek(strategyTypes,1);

        WHSReservationHierarchyLevelStrategy =  WHSReservationHierarchyLevelStrategy::newFromStrategyType(whsReservationHierarchyLevelStrategyType,_movement.inventTable(),_inventDimReservationCriteria, _movement.inventDimGroupSetup());


    }
    return WHSReservationHierarchyLevelStrategy;
}

 

Seeing it in action

Note: You should ensure that inventory status is not defaulted on your sales lines. This is controlled in the Warehouse management parameters: the Use default status for sales orders and transfer orders check box should be cleared:

DefaultInventoryStatus

 

When the new field is enabled on the sales line, the reservations looks like this:

ReservationForm

When the reservation is done, it does not include the inventory status:

Changing the reservation so we can create work

If we have used the new strategy the Inventory status is missing on our reservations. Since it is a requirement that all dimensions above location are specified before we create work, we have a challenge.

So before we can create work we need to ensure that the Inventory status and all other dimensions above location are included in the reservation so it can be synchronized to the load lines.

We can choose different approaches for updating the reservations.

  1. Re-reserve using a different reservation strategy so the reservation system determines the missing dimensions.
  2. Update the dimensions using the InventUpd_ChangeDimension class . This option could be used if we wanted to change the reservations to some specific dimensions that we know.

For simplicity, we are going to use option 1. The code below illustrates how to change reservations for a single sales order.

public static server void main(Args _args)
{
    SalesId                 salesId = 'SO-101284'; //order we want to re-reserve
    SalesLine               salesLine;
    InventUpd_Reservation   reservation;
    InventQty               reserveQty;
    List                    strategyList;
    InventMovement          movement;

    ttsBegin;
    // go through the lines that used the new strategy
    while select salesLine
        where SalesLine.salesId == salesId
        &&    SalesLine.WHSUseNonStatusSpecificReservation == NoYes::Yes
    {
        //whatever was reserved before will be re-reserved
        reserveQty = salesLine.reservedPhysical();

        //Un-Reserve the entire reserved quantity
        reservation = InventUpd_Reservation::newMovement(
                                                InventMovement::construct(salesLine),
                                                reserveQty,
                                                true);

        reservation.parmAllowAutoReserveDim(false);//don't give the un-reserved quantity to other ReservOrdered transactions
        reservation.updateNow();

        movement = InventMovement::construct(salesLine);
        reservation = InventUpd_Reservation::newMovement(
                                                movement,
                                                -reserveQty,
                                                false);

        // Illustrating how to inject a list of strategies to the reservation
        strategyList = new List(Types::Class);
        strategyList.addEnd(WHSReservationHierarchyLevelStrategy::newFromStrategyType(WHSReservationHierarchyLevelStrategyType::AboveLocation, movement.inventTable(), movement.inventdim()));
        reservation.setWHSReservationHierarchyStrategyList(strategyList);
        // we could also take control of the queries used to find on-hand, for example adding some ordering on Status using :
        //reservation.setWHSInventReserveQueryBuilder(...);

        //now we are reserving with all dimensions above location
        reservation.updateNow();
    }

    ttsCommit;
}

 

After running the code the reservations for the sales line now includes inventory status:

inventtransreservation_WithStatus

Wrapping up

In this blog I showed how you can introduce a new reservation strategy that allows you to postpone decisions about which dimensions to reserve against.

If you wanted to start with reservations on a site level and then later distribute them to different warehouses you could follow a similar approach.

You could also replace Inventory status with Batch ID to achieve similar behavior for items that are batch controlled and have batch above location.

This would allow you to reserve the actual batches just before release. (What I have described here won’t work for batch below location items – that is a subject for a different blog post).

I hope this has given you some insight into some of the flexibility that the reservation system gives you.

Processing work that is awaiting demand replenishment

$
0
0

Introduction

Previously it was not possible to start processing work header that were awaiting demand replenishment since the header and not the affected lines were blocked.

This is not optimal for all situations, e.g. if the work order contained many lines and only a few needed replenishments, the warehouse workers could not start picking but had to wait for replenishment of only a few lines completed.

In this posting we are going to cover the new functionality that allows you to start a work that has some lines awaiting demand replenishment and process the lines that can be picked.

This functionality is available in Dynamics 365 for Operations (1611).

Setup

A new policy for how to control the blocking of work that has lines awaiting replenishment has been introduced on the work templates. Blocking the entire order will result in the entire work being blocking, which is similar to the existing behavior.

If you choose to block individual lines, the work will no longer be blocked and non-blocked lines can be processed.

workwithreplen_setupworktemplates

For this posting we have chosen to set the policy to Block individual work lines.

Scenario

We are going to release a sales order for 50 ea. of item T0100 from warehouse 61. We have 10 ea. on hand at two picking locations, therefore, we need a replenishment of 30 ea.

The location directives are setup in way that allows splitting and locating what ever quantities are available at the pick locations.

After releasing the wave the work for the sales order looks like below:

workwithreplen_workoverview

UI changes

You can edit and view the policy, the number of lines that are blocked and which lines are blocked on the Work form. The policy can only be changed when the work is Open.

workwithreplen_workheaderandline

Note: You can use the personalization feature and add fields to the grid if you want the information to be visible there.

Work report

The work report now also includes information about how many lines are blocked.

workwithreplen_workreport

Work execution

To begin processing the work you can use one of the different work execution Mobile device menu items.

Here we will use the User directed to pick the first two lines.

After we have picked the first two lines we are presented with the below page; assuming that the replenishment has not yet taken place and therefore the worker needs to decide what should happen next.

Note that in the example the pick line with a “needs replenishment” is the last line – however, all these lines will just be skipped if there were additional lines on the header that could be picked.

5

Retry

This is to support a scenario where the worker can see the replenishment is just about to happen and just wants to wait until it is done and then continue picking after replenishment. Retry will just reread the lines and return the next pick line that is not awaiting replenishment if such line is found.

Cancel

Cancel allows the warehouse worker to exit the flow so he can do something else until the replenishment is finished. The work will be kept in its current state but it is no longer locked by the current user. Hence, another worker can process the work once the replenishment is completed.

Full

When clicking Full the lines that the worker has picked are added to a new work that the warehouse worker can then continue processing. The remaining lines that await replenishment remain on the original work header. This is consistent with the standard behavior of the Full button in other flows, which is also why we decided to keep the name of the button .

Wrapping up

In this posting we have shown how you can configure your work templates in a way that allows warehouse workers to start processing work that have one or more lines that await replenishment and some that are ready for picking.

We hope you will find the functionality useful and provide your feedback.

Automatic and manual item reallocation during short picking – Dynamics 365 for Operations (1611)

$
0
0

Introduction

In Microsoft Dynamics AX 2012 R3 you could short pick an item while executing the initial picking of an outbound work line using a mobile device. One of the challenges with that design is that after short picking, it was difficult to easily identify an alternative item location. This meant for the short-picked quantities to be part of the re-waving process, there needed to be additional processing time or goods were not always shipped in full, even if the alternative location had available items. With this new feature, we have designed both an automatic and manual feature for the warehouse user so that the user can select alternative locations (automatic) or select any location that has available inventory for that item (manual). This functionality is available in Dynamics 365 for Operations (1611).

You can set up the short picking work exception to do automatic, manual, or automatic and manual reallocation. These are the different options:

  • Automatic reallocation – The location directives for the related work order type and warehouse will be queried. If there is available on-hand quantity at another location, the work will be updated and the user will be directed to pick the remaining items from the new location.
  • Manual reallocation – A list with all the locations with unreserved quantity of that item will be displayed. The warehouse user can select one or more locations.
  • Automatic and manual reallocation – The system will first try to automatically reallocate the quantity and if this is not possible, the warehouse user will see a list of locations. The location directives will not be queried and any location with available on-hand quantity will be displayed in the list.

Setup

Work exceptions page

Item reallocation dropdown

You can select the Item reallocation option on the Work exceptions page. This allows you to define several work exceptions with different item reallocation policies, so that the warehouse worker can choose one policy based on the guidance or on the needs of the shipment that he is processing.

pic1

Adjust inventory and adjustment type

Note, if the Adjust Inventory option is selected, all quantity for that the location and the dimensions above the item that is being short picked will be adjusted. This does not apply to items with tracking dimensions that are below the location.

You can also specify if you want to remove reservations.

pic2

Let’s say that there are 10 chairs available in your warehouse, all in one location and on one license plate. You release a sales order to pick all the 10 items from this location, and then set the work exception to adjust the inventory. When the warehouse user does short picking and only picks 2 chairs, the process might fail. To avoid this, select Remove reservations, so that the sales line reservation has a reservation on the 8 pieces and this reservation needs to be removed. Otherwise it is not possible to proceed, because the system cannot keep this reservation.

However, there can be other license plates at the same location or other locations that have 8 or more pieces available. In that case, regardless if Remove reservations is selected, the short picking will be completed sucessfully and the sales order line reservation for all the 10 pieces will be kept.

Note, the Remove reservations option does not apply to work reservations. Existing work reservations from the same orders or from other orders will be kept.

 

Work user page
Automatic reallocation is available for all users, while manual reallocation requires explicit setup for the user. This is because the visibility given to each user may be different because the items may be in a quarantine area or in a bulk area in which only trusted employees have access.

pic3

If a reallocation process has been selected, but the user is not eligible to use this process, a message will be added in the work creation history log and the user can continue to process the work as usual. Every time that the warehouse user selects an exception, a message will be added in the history log. The user will not receive any further information on his mobile device.

 

Supported work order types

All work order types that currently support short picking have been enabled for automatic reallocation: sales issue, transfer issue, raw material picking, and replenishment.

Note, if a replenishment line gets partially reallocated, the demand sales work (if any) will be updated accordingly. Moreover, replenishment links will be created (records in the WHSReplenWorkLink table) to point to the reallocated work lines.

Replenishment has been disabled for the manual reallocation, but all the other work order types are available for this process. In the following matrix, you can see which reallocation process will be triggered (if any), based on the work exception and work user setup. For example, if manual reallocation is not set for the warehouse user, the order type of the work being processed is Replenishment (3rd row of the matrix). The selected work exception has Item reallocation set to be automatic (5th column of the matrix), then the automatic reallocation process will be triggered.

 

table

General

Automatic reallocation

If the user selects a work exception with automatic item reallocation enabled, when he short picks a work line, he will receive a short pick confirmation screen after he enters the quantity that he wants to pick. After he confirms the short picking, the system will run through the location directives that have been defined for the specific order type and warehouse, and try to find one or more locations to pick the remaining quantity from. If only part of the quantity remaining to be picked is available in another location, only that quantity will be reallocated. If the location directive line has been set up to allow a split, more than one location can be selected to reallocate the quantity from.

The work will be updated accordingly. The following is an example of the work lines before and after the reallocation has been executed. The work lines show before item A0001 was short picked from location BULK-001.

This is what it looks like when work lines after item A0001 are short picked and the system reallocates 8 pieces from location BULK-002.

pic4

As you can see, all the work lines that were open or skipped when a line was short picked (in this case lines 2 and 3) are canceled and recreated after the reallocated work lines. This is necessary in order to maintain the correct sequencing of the work lines.

Manual reallocation

If the user selects a work exception with the manual item reallocation, he will see a list with all the locations of the same warehouse that have available quantity to create work. The short pick confirmation will not be displayed. The short picking will be executed after the user either selects a location or clicks Proceed in the first manual reallocation list. The locations will be sorted by available quantity in ascending order.

pic5

If the user clicks Proceed, the short picking will be executed and no quantity will be reallocated. If the user selects a location ID, for example BULK-007, the short picking will be executed and a new work line will be created to pick 4 pieces from BULK-007. This will display the following list.

pic6

If the user clicks BULK-006, the work will be updated again and one more pick work line will be created with 4 pieces from BULK-006. If all the quantity has been reallocated or if there are no other locations with available on-hand quantity, the user will proceed with processing the work. All locations will be displayed, regardless of the location directives.

The maximum number of locations to be displayed in the list is 120. If you need to display more locations, you can update the SessionSchema.xsd file in the WMDP solution to have a higher number of the controls. The current number is set to 250 (“maxOccurs = 250”) and each location displayed in the list needs two controls.

Automatic and manual reallocation

For automatic and manual reallocation, after the user has entered the quantity that he is short picking, the system will check if all the remaining quantity can be automatically reallocated. If it can, the short picking will be confirmed and the automatic reallocation will be executed. If none or only part of the quantity can be automatically reallocated, this process will be skipped and manual reallocation will be triggered.

Work creation history log

In all the above scenarios, there might be a delay between the short picking and the automatic or manual reallocation, which can result in other orders reserving inventory that had been initially calculated to be available for the reallocation. If that occurs, the quantity that will be finally reallocated will be available. If it is less than what was shown to the user, a message will be added in the work creation history log. The quantity that was not reallocated will be short picked and will need to be waved again.

Conclusion

You can use item reallocation during short picking to pick the entire quantity for a work order. The on-hand quantity registered in the system can be out of sync or for some reason it might not be possible to pick some items that are registered in the initial location. The warehouse user now has additional capabilities to partially or fully fulfill the customer request. The customer request can be fulfilled faster and it will be no longer necessary to create a new wave and release new work to fulfill the demand.

Additional ideas for further enhancing this feature include:

  • Providing the warehouse manager with the ability to define a list of location profiles that should be excluded from the manual reallocation list.
  • Enabling manual reallocation for replenishment order types.

We would appreciate your feedback on the above suggestions.

Viewing all 439 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>