Has anyone modified the BOM Journal to handle items with components having item tracking setup for serial numbers? I would greatly appreciate some input as to how the mods need to be made. Thanks tw
Hello TW Yes I have done it. Basically you need to link the item journal to bom journal. Create new fields on Item Journal for the bom primary key. On BOM Journal add a menu option to open the item journal filtered based on bom journal. You can autopopulate the item journal lines based BOM components. Add some restriction for example, don’t allow the user to insert new lines, or modify the quantity. It’s up to you. The next thing is to change the posting routine for bom journal. When the function ExplodeBOMToTempJnlLines(BOMJnlLine); is called. This is the function you need to modify to grab the journals from your item journals instead of BOM Component table. You also Need to populate TempHandlingSpecification with the serial no. Something that is an issue and MS does not want to fix with standard BOM journal is that if you create a serialized finished good. When you reevaluate a component, It only updates the cost on last Serial No.!!! So all the other finished good cost does not change. Good Luck.
Ahmed, Thanks for your input. As you suggested, I made the mods to the BOM Journal to open the Item Journal and the mods to the ExplodeBOMToTempLines. I am not clear on WHERE/WHEN the serial numbers get updated on the Item Journal Line. I see that s/n are specifiedby clicking the Line button “Item Tracking Lines” option in the Item Journal but that does not put the s/n or lot no. on the “Item Journal Line”. I am obviously missing something. Any enlightenment you can provide would be helpfull.
Serial No. are stored in Reservation entry. This is the table where all the serial no are stored from SO, PO, Production Order, Ledger, Journals. This is how reservation (Serial No.) are created CreateReservEntry.CreateReservEntryFor(DATABASE::“Item Journal Line”,2, ItemJnlLine.“Journal Template Name”,ItemJnlLine.“Journal Batch Name”, 0,ItemJnlLine.“Line No.”,ItemJnlLine.“Qty. per Unit of Measure”,1, DataItem,’’); CreateReservEntry.CreateEntry(ItemJnlLine.“Item No.”,ItemJnlLine.“Variant Code”, ItemJnlLine.“Location Code”,ItemJnlLine.Description,0D,0D,0, ReservEntry.“Reservation Status”::Prospect); CreateReservEntry. is codeunit Create Reserv. Entry Take a look at this codeunit to find the table relationship. between reservation and item journal line. Take a look at reservation entry table.