DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN
            
	            BEGIN
                    
					     DECLARE crs CURSOR WITH RETURN FOR
					     SELECT DISTINCT
					            prg.ProgramID,
					            prg.ProgramName,
					            pth.PathStr,
					            os.StartRow,
					            CASE
					                WHEN pth.PathID = occ.PathID THEN 0
					                ELSE -1
					            END AS IsCopy
					     FROM IfInfo i
					          INNER JOIN OccurrencesStmt os ON i.OccurId = os.OccurID
					          INNER JOIN Paths pth ON os.PathID = pth.PathID
					          INNER JOIN 
	                                    (   
	                                         SELECT p.ProgramID,
								                    p.Ancestor,
												    p.ProgramTypeID,
												    p.OccurID,
													pa.AliasName AS ProgramName
								              FROM Programs p
								                   INNER JOIN ProgramAliases pa ON p.ProgramID = pa.ProgramId AND pa.AliasType = 0
								          ) prg ON os.ProgID = prg.ProgramID
					          INNER JOIN Occurrences occ ON prg.OccurID = occ.OccurID
					     WHERE (i.IfColumn <> i.ThenColumn OR i.IfColumn <> i.ElseColumn)
					           AND prg.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)
					     ORDER BY prg.ProgramName,
					              pth.PathStr,
					              os.StartRow;

				        OPEN crs;
				
                END;
 		           
END ss	








