DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN

            
	            BEGIN
              
					    DECLARE crs CURSOR WITH RETURN FOR	 
			            SELECT DISTINCT
					            prgAlsxyz.ProgramID,
					            prgAlsxyz.AliasName AS ProgramName,
					            pth.PathStr,
					            os1.StartRow,
					            CASE
					                WHEN pth.PathID = occ.PathID
					                THEN 0
					                ELSE -1
					            END AS IsCopy
					     FROM OccurrencesStmt os1
					          INNER JOIN Paths pth ON os1.PathID = pth.PathID
					          INNER JOIN OccurrencesStmt os2 ON os1.OccurID <> os2.OccurID
					                                            AND os1.PathID = os2.PathID
					                                            AND os1.StartRow = os2.StartRow
					                                            AND os1.StartCol < os2.StartCol
					          INNER JOIN Programs prg ON os1.ProgID = prg.ProgramID
					          INNER JOIN Occurrences occ ON prg.OccurID = occ.OccurID
					    	  INNER JOIN ProgramAliases prgAlsxyz ON prg.ProgramId = prgAlsxyz.ProgramID
								AND prgAlsxyz.AliasType = 0
						 WHERE     prg.ProgramTypeID = 1
					           AND prg.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)
					     ORDER BY prgAlsxyz.AliasName,
					              pth.PathStr,
					              os1.StartRow;
					           
                        OPEN crs;
                        
                  END;       
 END ss	
 
 
