Thanks for your answer, I tried using this CodeUnit but it did not work but It worked for me using this code
rec.Validate("Package No.", ItemSpec."Package No.");
rec.Validate("Lot No.", ItemSpec."Lot No.");
Rec.Validate("Expiration Date", ItemSpec."Expiration Date");
rec.Validate("Quantity (Base)", ItemSpec."Quantity (Base)");
Rec."Entry No." := NextEntryNo();
TestTempSpecificationExists();
Rec.Insert();
TempItemTrackLineInsert.TransferFields(Rec);
TempItemTrackLineInsert.Insert();
ItemTrackingDataCollection.UpdateTrackingDataSetWithChange(
TempItemTrackLineInsert, CurrentSignFactor * SourceQuantityArray[1] < 0, CurrentSignFactor, 0);
CalculateSums();