In this post I want to highlight how Microsoft Dynamics AX determines the picking method for an order line by taking the example of sales line. This setup is important for companies having major focus on supply chain.
When posting picking list of a sales order, you can view the type of picking determined by the system for a sales line on the lines details tab on the post picking list form as shown below:
If the check box is not checked then system processes the line as an order picking.
User can change the value by checking/unchecking the check box before posting which is a great example of flexibility provided by Microsoft Dynamics AX.
So now let us see how system determines the picking method for a line. The setup can be done on three places, the sequence in which system checks is as following:
1. First place where system checks the picking method is the \”Use consolidated picking method\” field on the warehouse item setup defined for the item:
If the value defined here is \”Yes\” then system considers the line for consolidated picking. If the value is \”No\” then system considers the line for order picking. If the value defined is \”According to warehouse setup\” then system continues to check the second level of setup.
2. If the setup on warehouse items is \”According to warehouse setup\” then system checks the picking method defined on warehouse used in sales line:
If the value defined here is \”Yes\” then system considers the line for consolidated picking. If the value is \”No\” then system considers the line for order picking.If the value defined is \”According to model group\” then system continues to check the third level of setup.
3. If the picking method defined on warehouse of \”According to model group\” then system checks the value of field \”Consolidated picking method\” on the model group defined on item:
The code to read the above setup can be found at useWMSOrder() method written on salesLine table. See below the sequence of methods called to determine the picking method.
The code really simple to read and a good example where reading code is easier then jumping on different forms to understand the setup 🙂
An example of this method call is on initFromSalesLine method when creating the salesParmLine as shown below:
Thanks for reading the blog. Keep sharing and take care.