(
 p_Input_MaxLevel INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

                DECLARE v_Input_MaxLevel INTEGER;

	            BEGIN

			        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
				           AND ii.ProgId IN (SELECT * FROM SESSION.numeric_param_temp)
				     ORDER BY prgAlsxyz.AliasName,
				              pth.PathStr,
				              os.StartRow;
				
                      SET v_Input_MaxLevel= p_Input_MaxLevel;

                      OPEN crs;

                  END;
 END	
