DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN

	            BEGIN
					    DECLARE crs CURSOR WITH RETURN FOR
					    SELECT  par.ParaID,
					            par.ParaName,
					            os.StatementType,
					            f.LogicalName,
					            f.FileID,
					            os.StartRow,
					            os.EndRow,
					            os.StartCol,
					            os.EndCol,
					            pth.PathStr,
					            f.Name,
					            f.TypeCode,
					            prg.ProgramID,
					            CASE
					                WHEN prg.ProgramTypeID = 19
					                THEN FilesForSCL.Name
					                ELSE SCLSystemFiles1.Name
					            END AS PhysicalFileName
					     FROM OccurrencesStmt os
					          INNER JOIN 
                                        (   
	                                         SELECT p.ProgramID,
								             p.Ancestor,
										     p.ProgramTypeID,
										     p.OccurID,
								             pa.AliasName AS ProgramName
								        FROM Programs p
								                   INNER JOIN ProgramAliases pa ON p.ProgramID = pa.ProgramId AND pa.AliasType = 0
							            ) prg ON os.ProgID = prg.ProgramID
					          INNER JOIN StatementReference sr ON os.OccurID = sr.OccurID
					          LEFT OUTER JOIN Paragraphs par ON os.ParaID = par.ParaID
					          INNER JOIN Files f ON sr.ResourceID = f.FileID
					          INNER JOIN Paths pth ON pth.PathID = os.PathID
					          LEFT OUTER JOIN SCLSystemFiles AS FilesForSCL ON f.OccurID = FilesForSCL.OccurID
					                                                               AND (
																	          (f.FileID = FilesForSCL.fileId  AND prg.ProgramTypeID IN (13, 19))
					                                                                      OR 
																			(f.Name = FilesForSCL.SystemFileId AND prg.ProgramTypeID = 1)
																		   )
					          LEFT OUTER JOIN SCLSystemFiles ssf ON f.FileID = ssf.fileId  AND prg.ProgramTypeID IN (13, 19)
					          LEFT OUTER JOIN SCLSystemFiles AS SCLSystemFiles1 ON UPPER(f.Name) = UPPER(SCLSystemFiles1.SystemFileId)  AND prg.ProgramTypeID = 1
					      WHERE  UPPER(prg.ProgramName) IN (SELECT UPPER(Param) FROM SESSION.string_param_temp) AND
							   sr.ResourceType IN (9, 189)
					     AND (f.TypeCode <> 32 OR f.TypeCode IS NULL)
					     AND os.StatementType NOT IN (12, 29, 122, 1819, 124, 1821, 118, 1815)
					     ORDER BY os.StartRow;    
			          
				        OPEN crs;
				
                END;
END ss	



