DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN

	            BEGIN
              
					    DECLARE crs CURSOR WITH RETURN FOR	 
						SELECT  res.Name,
					            pa.AliasName AS ProgramName,
					            st.Description,
					            COUNT(os.OccurID) AS stmtCount,
								pth.PathStr
					     FROM StatementReference sr
					            INNER JOIN OccurrencesStmt os ON sr.OccurID = os.OccurID
					            INNER JOIN Statements st ON os.StatementType = st.StatementType
					            INNER JOIN Programs prg ON os.ProgID = prg.ProgramID
								INNER JOIN ProgramAliases pa ON prg.ProgramID = pa.ProgramId AND pa.AliasType = 0
					            INNER JOIN Resources res ON sr.ResourceID = res.ResourceID
								LEFT OUTER JOIN
													 (
														SELECT  1 AS Flag,
																pgx.ProgramName, pgx.ProgramTypeID
														 FROM Programs pgx
														 GROUP BY pgx.ProgramName, pgx.ProgramTypeID
														 HAVING COUNT(*) > 1
													 ) x ON prg.ProgramName = x.ProgramName AND prg.ProgramTypeID = x.ProgramTypeID
					            LEFT OUTER JOIN Paths pth ON pth.PathID = os.PathID AND x.Flag = 1
					     WHERE sr.ResourceType = 189
					           AND res.OccurID <> -1
					           AND prg.ProgramTypeID = 1
					           AND UPPER(res.Name) IN (SELECT UPPER(Param) FROM SESSION.string_param_temp)
					     GROUP BY res.Name, pa.AliasName, st.Description, pth.PathStr
					     ORDER BY res.Name, pa.AliasName, pth.PathStr, st.Description;
					           
					   
                        OPEN crs;
                        
                  END;       
 END ss	
 
 
 
