Where does assembly put allocated units?

SOLVED

Before somebody presses the create button on the assembly screen, we have to select a lot to consume for the new assembly product to be created. When we select the lot, what is happening to that lot in the backend of sage?

I dont see an allocation record on the STOALL table. 

I do notice the CUMWIPQTY column get filled up for that quantity on the stock table. 

How does the stock issue know which lots we are using for the assembly if it is not writing to the STOALL table?

Thanks,

Chris 

  • +1
    verified answer

    Hello,

    CUMWIPQTY -> Cummulative WIP (Work In Progress) Quantity. It refers to a total that is in use by user sessions in X3. You can find out which sessions by reading the records in STOWIPW.

    When you select/pick stock, here is what happens (skip to 3. for the answer to "How does the stock issue know which lots we are using for the assembly"):

    1. The records in the tables STOCK and STOLOT are read according to the product stock configuration / stock rules (the order can be FIFO, LIFO, etc.. and there may be filters on status, locations, location types, etc depending on movement type)

    2. If the stock record does not have enough AVAILABLE stock (CUMWIPQTY affects this, just like CUMALLQTY which reflects STOALL records like you mentioned), then it tries to get another record until the selected stock is equal to the needed stock

    3. The selected/available stock is stored in a hidden screen/mask and the STOCK/STOWIPW records are affected with the quantity being used. This way the current session knows what stock it is locking and other sessions know that X quantity is being used in another process and will not consider that stock quantity as available.  You can check the screen dictionary in GESAMK and search for STO*W to see which masks exist for each transaction type. You use the calculator and check the content while creating the assembly

    4. The CUMWIPQTY field is updated by deselecting stock, creating the document, exiting the function/transaction or in case of errors where the session is terminated unexpectedly, you can run FUNSTOWIPW to synchronize terminated sessions.


    Regards.