DYNAMIC RESULT SETS 1
LANGUAGE SQL
 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	
