(
IN p_FileName VARCHAR(256)
 )
DYNAMIC RESULT SETS 1
LANGUAGE SQL
BEGIN
            
            DECLARE v_FileName VARCHAR(256); 
            SET v_FileName = UPPER(p_FileName); 
 
 
	            BEGIN
					             DECLARE crs CURSOR WITH RETURN FOR
								 SELECT p.ProgramName,
						                f.Name AS FileName,
						                f.LogicalName AS FileLogicalName,
						                f.OpenType AS FileOpenType,
						                pth.PathStr AS FilePathStr,
						                occ1.StartRow AS FileStartRow,
						                occ2.StartRow AS ProgramStartRow
						         FROM Files f
								      INNER JOIN   
												 (   
												   SELECT px.ProgramID,
														 --px.Ancestor,
														 --px.ProgramTypeID,
														 px.OccurID,
														 pa.AliasName AS ProgramName
												   FROM Programs px
													  INNER JOIN ProgramAliases pa ON px.ProgramID = pa.ProgramId AND pa.AliasType = 0
												   WHERE px.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)  
												) p ON  f.ProgID = p.ProgramID
						              INNER JOIN Occurrences occ1 ON f.OccurID = occ1.OccurID
						              INNER JOIN Paths pth ON occ1.PathID = pth.PathID
						              INNER JOIN Occurrences occ2 ON occ2.OccurID = p.OccurID
						         WHERE     (UPPER(f.Name) LIKE '%-' || v_FileName
						                    OR UPPER(f.Name) LIKE v_FileName || '-%'
						                    OR UPPER(f.Name) LIKE v_FileName);
								
								 OPEN crs;
				
                END;
END