DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN

					    DECLARE crs CURSOR WITH RETURN FOR
						 SELECT ssf.Name AS File_Name,
					            pa.AliasName AS ProgramName,
					            st.Description AS Statement_Type,
					            COUNT(DISTINCT os.OccurID) AS Expr1,
					            '',
					            ('' || pa.AliasName) AS k
					     FROM StatementReference sr
					          INNER JOIN OccurrencesStmt os ON sr.OccurID = os.OccurID
					          INNER JOIN Files f ON sr.ResourceID = f.FileID
					          INNER JOIN SCLSystemFiles ssf ON ssf.OccurId = f.OccurID AND ssf.fileId = f.FileID
					          INNER JOIN Programs prg ON os.ProgID = prg.ProgramID
					          INNER JOIN ProgramAliases pa ON prg.ProgramID = pa.ProgramId AND pa.AliasType = 0
					          INNER JOIN Statements st ON sr.StatementType = st.StatementType
					     WHERE sr.ResourceType = 9
					           AND ssf.Name IS NOT NULL
					           AND (f.TypeCode <> 32 OR f.TypeCode IS NULL)
					           AND prg.ProgramTypeID IN (19)
					     GROUP BY ssf.Name, pa.AliasName, st.Description
					     ORDER BY ssf.Name, k, st.Description;
					     
				         OPEN crs;
				

END ss	


