DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN


	            BEGIN
					    DECLARE crs CURSOR WITH RETURN FOR
						SELECT  pgm.AliasName AS ProgramName,
					            ssf.Name AS FileName,
					            st.Description AS StatementType,
					            COUNT(DISTINCT os.OccurID) AS Expr1,
					            '',
					            ('' || pgm.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 ProgramAliases pgm ON os.ProgID = pgm.ProgramID AND pgm.AliasType = 0
					          INNER JOIN Statements st ON sr.StatementType = st.StatementType
					     WHERE sr.ResourceType = 9
					           AND pgm.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)
					           AND (f.TypeCode <> 32 OR f.TypeCode IS NULL)
					           AND ssf.Name IS NOT NULL
					     GROUP BY pgm.AliasName,
					              ssf.Name,
					              st.Description
					     ORDER BY k,
					              ssf.Name;

				       OPEN crs;
				
                END;
END	
