(
 p_Input_MaxLevel INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: 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 ss	
 
 
 
