Problem with Transfer Orders and Item Tracking

Hello, On a 3.60 version with all the hotfixes installed, I get following error message when posting a transfer order : “Qty. to handle must be 288 in Tracking Specification Entry No. = 1”. This error occurred from times to times at the beginning (the customer went live 1 month ago), now it’s quite impossible to post any transfer order… I will probably spend my week-end on this issue but after all the things I’ve read about this issue, I’m not sure to be able to fix it out. Has anyone managed to solve this problem or do I have to develop a work-around ? Even if I had a second-hand solution such as finding the wrong Reservation Entries and correcting/deleting them, it would allow my customer posting his transfer orders till I’ve found a solution. I had a look to the reservation entries and didn’t find anything that looks strange to me compared to all the ‘open’ transfer orders. Thanks a lot for any response. Fred

I ran into what may be your problem. It only happens when you post the receipt. Following is the text of a support request I submitted to Microsoft. -------------------------------------------------------------------------------- In certain circumstances the posting of transfer receipts is leaving an extra record in table 337 (Reservation Entry). Because this extra record has a Source Type = 83 and Source Subtype = 4, any subsequent attempts to post transfers fail with the message “Qty. to Handle (Base) must be X in Tracking Specification Entry No. = ‘Y’”. This results when the system is checking the sum of the base quantity on the tracking lines against the base quantity on the journal line; they don’t agree because this extra record is being included when calculating the sum of the tracking lines. I have determined that the situation that causes the extra record to be left in table 337 is when there are multiple item ledger entry records that the transfer is applied against. You can observe this by the following steps. 1. Create a new item and set it up for lot tracking 2. Create a purchase order for the new item as follows a. Location – RED b. Quantity – 10 c. Lot Number – TEST 3. Receive a quantity of 5 against the purchase order and then receive the remaining 5 – this creates 2 positive item ledger entries for this lot 4. Create a transfer order from RED to BLUE for the new item as follows a. Quantity – 10 b. Lot Number – TEST 5. Post the transfer shipment 6. Post the transfer receipt 7. At this point if you run table 337 you will see the extra record 8. Any further attempts to post transfers (shipments or receipts) for lot-tracked items will fail with the above mentioned message. Deleting this extra record clears the problem. I have further isolated the problem to the function ‘TransferReservEntry’ in codeunit 99000830 (Create Reserv. Entry). This function is being called to repeatedly to split the reservation entry for the item journal line into two pieces – one corresponding to the quantity of the item ledger entry that the transfer is being applied against and another for the balance of the transfer. The record for the balance of the transfer is created by inserting a new record into the table, while the one for the entry being applied is created by modifying the existing entry in the table. The record for the balance is being created with the incorrect quantity. -------------------------------------------------------------------------------- I solved the problem by adding the following lines of code to the end of the PostItemJnlLine function in codeunit 5705 (TransferOrder-Post Receipt). IF TempJnlLineDim.FIND('-') THEN REPEAT TempJnlLineDim."New Dimension Value Code" := TempJnlLineDim."Dimension Value Code"; TempJnlLineDim.MODIFY; UNTIL TempJnlLineDim.NEXT = 0; ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim); // Begin Fix ReservationEntry.SETCURRENTKEY("Source Type","Source Subtype","Source ID","Source Batch Name", "Source Prod. Order Line","Source Ref. No."); ReservationEntry.SETRANGE("Source Type",DATABASE::"Item Journal Line"); ReservationEntry.SETRANGE("Source Subtype",4); ReservationEntry.SETRANGE("Source ID",''); ReservationEntry.SETRANGE("Source Batch Name",''); ReservationEntry.SETRANGE("Source Prod. Order Line",0); ReservationEntry.SETRANGE("Source Ref. No.",0); ReservationEntry.DELETEALL; // End Fix You will need to declare ReservationEntry as a variable. I hope this helps.

Hi Jack, Thanks a lot for your answer. This is exactly what happens. I was trying to understand where and why these lines are created. I have found some of these lines in the reservations entries. I deleted them and managed after that to post many transfer receipts. But not all of them… There must be another problem. When the system sums up the reservation entries, he doesn’t seem to take care of the Item No. There are “SETRANGE” on Lot and S/N but never on the Item No… I’m looking in that direction now because I know that my customer can make several entries with same Lot No for different Item Nos (same product stored and sold under different Item Nos.). Anyway, thanks a lot for your answer, I will try to add the lines the way you told me and post any useful information about this issue.