DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

            DECLARE crs CURSOR WITH RETURN FOR
		    SELECT DISTINCT
					    	prgAlsxyz.ProgramID,
				            prgAlsxyz.AliasName AS ProgramName,
				            pth.PathStr,
				            os.StartRow,
				            CASE
				                WHEN pth.PathID = occ.PathID
				                THEN 0
				                ELSE -1
				            END AS IsCopy
				     FROM Programs prg
				          INNER JOIN Occurrences occ ON prg.OccurID = occ.OccurID
						  INNER JOIN OccurrencesStmt os ON prg.ProgramID = os.ProgID
					      INNER JOIN Paths pth ON os.PathID = pth.PathID
		     			  INNER JOIN ProgramAliases prgAlsxyz ON prg.ProgramId = prgAlsxyz.ProgramID
								AND prgAlsxyz.AliasType = 0
			 WHERE os.StatementType IN ( 20, 39 )
                   AND prg.ProgramTypeID = 1
		     ORDER BY prgAlsxyz.AliasName,
		              pth.PathStr,
		              os.StartRow;

            OPEN crs;

 END	
