AS SELECT     Paragraphs.ParaID,Paragraphs.ParaName, OccurrencesStmt.StatementType, Files.LogicalName, Files.FileID,
		OccurrencesStmt.StartRow, OccurrencesStmt.EndRow, OccurrencesStmt.StartCol, OccurrencesStmt.EndCol,
        Paths.PathStr, Files.Name, Files.TypeCode, Programs.ProgramID,
        case when Programs.ProgramTypeID = 19 then FilesForSCL.Name 
					else SCLSystemFiles1.Name end as PhysicalFileName
 FROM         OccurrencesStmt INNER JOIN
                      Programs ON OccurrencesStmt.ProgID = Programs.ProgramID INNER JOIN
					  (SELECT AliasName AS ProgramName, ProgramId FROM ProgramAliases WHERE ProgramAliases.AliasType = 0)pa ON Programs.ProgramID = pa.ProgramId INNER JOIN
                      StatementReference ON OccurrencesStmt.OccurID = StatementReference.OccurID LEFT JOIN
                      Paragraphs ON OccurrencesStmt.ParaID = Paragraphs.ParaID INNER JOIN
                      Files ON StatementReference.ResourceID = Files.FileID
                      INNER JOIN Paths on paths.PathID = OccurrencesStmt.PathID
                      
                      left outer join SCLSystemFiles  as FilesForSCL on Files.OccurID = FilesForSCL.OccurID and ((Files.FileID= FilesForSCL.fileId and Programs.ProgramTypeID in (13, 19)) or (Files.Name= FilesForSCL.SystemFileId and Programs.ProgramTypeID = 1))
                      left outer join SCLSystemFiles on Files.FileID = SCLSystemFiles.fileId and Programs.ProgramTypeID in (13, 19)
                      left outer join SCLSystemFiles as SCLSystemFiles1 on Files.Name= SCLSystemFiles1.SystemFileId and Programs.ProgramTypeID = 1
 WHERE     (pa.ProgramName IN (Select * from #string_param_temp)) 
 			AND (StatementReference.ResourceType IN (9,189))
 			AND (Files.TypeCode <> 32 OR Files.TypeCode IS NULL)
 			AND OccurrencesStmt.StatementType NOT IN (12,29,122,1819,124,1821,118,1815)
 ORDER BY OccurrencesStmt.StartRow
