DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN


	            BEGIN
					    DECLARE crs CURSOR WITH RETURN FOR
					    SELECT DISTINCT
					            dde.Id,
					            dde.Name,
					            dde.DdsTypeId,
					            DDCLElementChild.Id AS ChildId,
					            ElementSourceInfo.StartRow AS ElementStartRow,
					            ElementSourceInfo.EndRow AS ElementEndRow,
					            Paths_1.PathStr AS ElementPathStr,
					            CallSourceInfo.StartRow AS CallStartRow,
					            CallSourceInfo.EndRow AS CallEndRow,
					            Paths_2.PathStr AS CallPathStr
					     FROM DDCLElement dde
					          INNER JOIN DDCLValue ddv ON dde.Id = ddv.ElementId
					          INNER JOIN DDCLProperty ddp ON ddv.PropertyId = ddp.Id
					          INNER JOIN DDCLElement AS DDCLElementChild ON ddv.ReferenceName = DDCLElementChild.Name AND ddv.ReferenceDdsTypeId = DDCLElementChild.DdsTypeId
					          INNER JOIN DDCLSourceInfo AS ElementSourceInfo ON dde.SourceInfo = ElementSourceInfo.Id
					          INNER JOIN Programs AS Programs_1 ON ElementSourceInfo.ProgramId = Programs_1.ProgramID
					          INNER JOIN Occurrences AS Occurrences_1 ON Programs_1.OccurID = Occurrences_1.OccurID
					          INNER JOIN Paths AS Paths_1 ON Occurrences_1.PathID = Paths_1.PathID
					          INNER JOIN DDCLSourceInfo AS CallSourceInfo ON ddv.SourceInfo = CallSourceInfo.Id
					          INNER JOIN Programs AS Programs_2 ON CallSourceInfo.ProgramId = Programs_2.ProgramID
					          INNER JOIN Occurrences AS Occurrences_2 ON Programs_2.OccurID = Occurrences_2.OccurID
					          INNER JOIN Paths AS Paths_2 ON Occurrences_2.PathID = Paths_2.PathID
					     WHERE dde.DdsTypeId = 24
					          AND ddv.ReferenceDdsTypeId = 25
					          AND ddp.Name = 'APPLICATIONS'
					          AND DDCLElementChild.Id IN (SELECT * FROM SESSION.numeric_param_temp)
					     ORDER BY dde.Name;
						
				     OPEN crs;
				
                END;
END	
