Dim ShortageRecs = (From a In context.Requirements _
Where (a.Part.LKP_ProgramCode.ProgramCodeID = inprogramcodeid _
And a.LineNumber.LineNumberID = inlinenumberid) _
Select a.Part.PartNumber, a.Part.PartID, a.Part.LKP_ProgramCode.ProgramCodeID, _
a.LineNumber.LineNumberID, a.LineNumber.LineNumber, a.Part.LKP_Position.PositionName, _
a.Part.CatalogNumber, a.Part.Description, _
a.Part.LKP_PartType.TypeCode, a.Part.User.LoginID, _
Surveillance = a.Part.User.UserID, _
BuyerCode = a.PO.BuyerID, _
SupplierCode = a.PO.SupplierID, a.PO.PONumber, _
a.Part.CriticalToLoad, a.Part.Ignore, a.Confirmed, _
a.QtyRequired, a.RequiredDate, a.OrderExpectedDate, _
a.Comment, ShortageRecDetails = _
(From d In context.Requirements _
Where unitnumbers.Contains(d.LineNumberID) _
And unitnumbers.Contains(d.LineNumber.LineNumberID) _
And d.Part.LKP_ProgramCode.ProgramCodeID = GlobalProgramID _
And d.Part.PartID = a.Part.PartID _
Select srdRequirementID = d.RequirementID, srdLineNumberID = d.LineNumberID, _
srdLineNumber = d.LineNumber.LineNumber, _
srdRequiredDate = d.RequiredDate, _
srdOrderExpectedDate = d.OrderExpectedDate, srdPONumber = d.PO.PONumber) _
Order By LineNumberID Ascending Order By PartNumber Ascending)