DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

	            BEGIN

					     DECLARE crs CURSOR WITH RETURN FOR	
					     SELECT *
						      FROM
						      (
						
								       SELECT	 prgAlsxyz.ProgramID,
									            prgAlsxyz.AliasName AS ProgramName,
									            pth.PathStr,
									            1 AS StartRow,
									            0 AS IsCopy
									     FROM Programs prg
									          INNER JOIN Occurrences occ ON prg.OccurID = occ.OccurID
									          INNER JOIN Paths pth ON occ.PathID = pth.PathID
											  INNER JOIN ProgramAliases prgAlsxyz ON prg.ProgramId = prgAlsxyz.ProgramID
												AND prgAlsxyz.AliasType = 0
										 WHERE prg.ProgramID NOT IN
									              (
									                  SELECT DISTINCT
									                         prg1.ProgramID
									                  FROM Programs prg1
									                       INNER JOIN OccurrencesStmt os  ON prg1.ProgramID = os.ProgID
													  WHERE os.StatementType = 21
									              )
									            AND prg.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)
									
									
									     UNION
									     SELECT	 prgAlsxyz.ProgramID,
					 				            prgAlsxyz.AliasName AS ProgramName,
									            pth.PathStr,
									            os.StartRow,
									            CASE
									                WHEN pth.PathID = occ.PathID
									                THEN 0
									                ELSE-1
									            END AS IsCopy
									     FROM Paragraphs
									          INNER JOIN Sections s ON Paragraphs.SectionID =s.SectionID
											INNER JOIN Programs prg ON s.ProgramID = prg.ProgramID
											INNER JOIN OccurrencesStmt os ON Paragraphs.ParaID = os.ParaID
											INNER JOIN Paths pth ON pth.PathID = os.PathID
									          INNER JOIN Occurrences occ ON prg.OccurID = occ.OccurID
											  INNER JOIN ProgramAliases prgAlsxyz ON prg.ProgramId = prgAlsxyz.ProgramID
												AND prgAlsxyz.AliasType = 0
										 WHERE os.StatementType = 21
									          AND s.Successor > 1
									          AND prg.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)
									          )src
								     ORDER BY src.ProgramName,
								              src.PathStr;
							
							

						

				        OPEN crs;
				
                END;
 		
END	
