(
IN p_Input_LinesNumber INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN
            DECLARE v_Input_LinesNumber INTEGER;
            SET v_Input_LinesNumber = p_Input_LinesNumber;

	            BEGIN
              
					     DECLARE crs CURSOR WITH RETURN FOR	      
					     SELECT	 prgAlsxyz.ProgramID,
					            prgAlsxyz.AliasName AS ProgramName,
					            pth.PathStr,
					            occ1.StartRow,
					            CASE
					                WHEN pth.PathID = occ2.PathID
					                THEN  0
					                ELSE -1
					            END AS IsCopy
					     FROM Sections s
					          INNER JOIN SourceComments sc ON s.SectionID = sc.FollowedBySectionId
					          INNER JOIN Occurrences occ1 ON s.OccurID = occ1.OccurID
					          INNER JOIN Paths pth ON occ1.PathID = pth.PathID
					          INNER JOIN Programs prg ON occ1.ProgID = prg.ProgramID
					          INNER JOIN Occurrences occ2 ON prg.OccurID = occ2.OccurID
					    	  INNER JOIN ProgramAliases prgAlsxyz ON prg.ProgramId = prgAlsxyz.ProgramID
								AND prgAlsxyz.AliasType = 0
						 WHERE sc.LastEmptyLinesCount < v_Input_LinesNumber
					           AND prg.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)
					     ORDER BY prgAlsxyz.AliasName,
					              pth.PathStr,
					              occ1.StartRow;

				        OPEN crs;
				
                END;
 		           
END ss	



