(
 p_Input_MaxLevel INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

            DECLARE v_Input_MaxLevel INTEGER;

            DECLARE crs CURSOR WITH RETURN FOR
		    SELECT DISTINCT
				    ii.ProgId,
		            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 IfInfo ii ON ii.OccurId = os.OccurID
			      INNER JOIN Paths pth ON os.PathID = pth.PathID
		    	  INNER JOIN ProgramAliases prgAlsxyz ON prg.ProgramId = prgAlsxyz.ProgramID
						AND prgAlsxyz.AliasType = 0
			 WHERE ii.IfNestingLevel > v_Input_MaxLevel
		     ORDER BY prgAlsxyz.AliasName,
		              pth.PathStr,
		              os.StartRow;

            SET v_Input_MaxLevel = p_Input_MaxLevel;

            OPEN crs;

 END	
