DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

	            BEGIN
					             DECLARE crs CURSOR WITH RETURN FOR
					             SELECT dde.Name
							     FROM DDCLElement dde
							     WHERE dde.DdsTypeId = 11
							           AND dde.Id IN (SELECT * FROM SESSION.numeric_param_temp)		
							           AND dde.id NOT IN
														  (
															 SELECT DISTINCT
																   DDCLElementChild.id
															 FROM DDCLElement dde1
																 INNER JOIN DDCLValue ddv ON dde1.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
															 WHERE dde1.DdsTypeId IN (11, 16, 26, 27, 28)
																  AND DDCLElementChild.Id IN (SELECT * FROM SESSION.numeric_param_temp)				
																  AND ddv.ReferenceDdsTypeId = 11
																  AND ddv.ValueTypeId IN (2, 4)
															      AND dde1.islocal = 0
															      AND ddp.Name = 'PROCESSING-STRUCTURE'
														  )
							     AND dde.id NOT IN
														  (
															 SELECT dde2.Id
															 FROM DDCLElement dde2
																 INNER JOIN DDCLValue ddv ON dde2.Id = ddv.ElementId
															 WHERE ddv.Name = 'COMPONENT-ID'
																  AND dde2.DdsTypeId = 11
																  AND ddv.Value IN
																				(
								    											  SELECT Programs_1.ProgramName
																				   FROM Programs pgm
																					   INNER JOIN OccurrencesStmt os ON pgm.ProgramID = os.ProgID
																					   INNER JOIN StatementReference sr ON os.OccurID = sr.OccurID
																					   INNER JOIN Occurrences occ ON occ.OccurID = pgm.OccurID
																					   INNER JOIN Paths pth ON occ.PathID = pth.PathID
																					   INNER JOIN Programs AS Programs_1 ON sr.ResourceID = Programs_1.ProgramID
																				   WHERE sr.ResourceType = 5
																					   AND pgm.OccurID <> 0
																				)
														  )
							     ORDER BY dde.Name;

				     OPEN crs;
				
                END;
END	
