Warehouse pick fails if item is in an unregistered put-away

Tan_Eng_SiongTan_Eng_Siong Member Posts: 84
I am testing the standard feature warehouse shipment in Navision. I discovered that there is a very odd feature. Assume that the user needs warehouse shipment, receipt, put-away and pick. Assume that you have a warehouse shipment for 100 items. The system also has enough stocks for all the 100 items. On top of the current inventory, you have just received 1 of the 100 items. You post the warehouse receipt but you do not register the warehouse put-away.

When the warehouse pick is created, you will not discover that only 99 items are in the warehouse pick (You can count but that is a pretty poor solution.). If you check the warehouse shipment, you will find that one of the warehouse shipment line is not picked. (Pick Qty is zero) But if you are the user, even filtering and checking the warehouse shipment lines is a pain.

Does anyone have any idea how to solve this without customization or buying new modules like cross -docking?

I am quite familiar with Navision but I am a rookie with the warehouse module.
Tan Eng Siong

Comments

  • ara3nara3n Member Posts: 9,256
    There is a field on Sales Order called Shipping Advise, set that to complete, this will prevent warehouse shipment to be posted partially. So the user will know that one is missing and create the additional pick for the qty of 1 once they find the unregistered put away.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • Tan_Eng_SiongTan_Eng_Siong Member Posts: 84
    The problem is that the users are generating pick list from the Warehouse pick so unless they are aware of the warehouse pick being insufficient, there is no way for them to . It is also very tedious for them to find out that the warehouse pick is insufficient after the pick list is picked. (The users of course match the invoice with pick list but that is done by the manager before he lets the drivers get the goods.)

    The users who post the warehouse shipment is different from the users who post the warehouse pick so making the solution alerting on the warehouse ship is not effective. I am aware that there is a document status in the Warehouse ship but it only appears after the pick is registered.
    Tan Eng Siong
  • ErictPErictP Member Posts: 164
    I don't known if this this is an opion.

    On the location-card there is a field called "Always Create Pick Line " located on the tab "Bin Policies"

    From the help

    A check mark in this field indicates that the program will create a pick line even if it cannot find an appropriate zone and bin from which to pick the item. The zone code and bin number on the line will be empty, and you must fill in these fields manually before you can register the pick.


    Now if a pick is created also lines are created for the items which are not inventory.
  • Tan_Eng_SiongTan_Eng_Siong Member Posts: 84
    I just saw that line. I will need to test it. However, we found that the reason the Pick was not picking the correct data was due to this line in the codeunit 7302 (WMS Management).

    The function is CalcInvtAvailQty

    The line of code in question is at the bottom.


    EXIT(
    Inventory - QtyReceivedNotAvail - QtyAssgndtoPick -
    ABS("Reserved Qty. on Inventory") - "Qty. Picked" - QtyPicked
    + QtyShipped);


    We found that the variable QtyPicked is actually incorrect and it does not exist in 5 SP 1 or 4 SP 3.

    The correct code should be
    EXIT(
    Inventory - QtyReceivedNotAvail - QtyAssgndtoPick -
    ABS("Reserved Qty. on Inventory") - "Qty. Picked" + QtyShipped);


    However, we found that the both QtyReceivedNotAvail and QtyAssgndtoPick were picking up the same quantity in the warehouse put-away documents.

    When we looked at the function CalcQtyAssgndtoPick, we found the code

    IF Location."Bin Mandatory" THEN
    SETRANGE("Action Type","Action Type"::Take)


    Since the Action Type is grouped by Take, the code counts both the Pick and Put-away.

    So what we want to do is to move the section marked Code to be shifted outside the Begin End;

    IF Location."Bin Mandatory" THEN
    SETRANGE("Action Type","Action Type"::Take)
    ELSE BEGIN
    SETRANGE("Action Type","Action Type"::" ");
    SETRANGE("Breakbulk No.",0);
    //Code to be shifted
    IF Location."Require Shipment" THEN
    SETRANGE("Activity Type","Activity Type"::Pick)
    ELSE
    SETRANGE("Activity Type","Activity Type"::"Invt. Pick");
    //Code to be shifted
    END;


    Anybody has any opinion about our change in code?

    Thank you.
    Tan Eng Siong
Sign In or Register to comment.