DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

	            BEGIN
					    DECLARE crs CURSOR WITH RETURN FOR
					    SELECT   dv.referencename AS RecordName,
					            de.name AS ElementName,
					            dp.name AS PropertyName,
					            COUNT(dp.name) AS no,
					            de.DdsTypeId
					     FROM DDCLElement de
					          JOIN DDCLProperty dp ON de.id = dp.elementid
					          JOIN DDCLValue dv ON dp.id = dv.propertyid
					     WHERE de.islocal = 0
					           AND dv.ReferenceName IN (SELECT * FROM SESSION.string_param_temp)
					           AND dv.referenceddstypeid = 3
					           AND dv.ValueTypeId IN(2, 4)
					           AND (
							        (de.DdsTypeId = 11 AND dp.name IN ('CHANGES', 'OUTPUT', 'PROCESSING-STRUCTURE', 'SELECTION', 'SINGULAR-VIEW'))
					                   OR
								   (de.DdsTypeId = 16 AND dp.name IN ('CHANGES', 'PROCESSING-STRUCTURE', 'SELECTION', 'SINGULAR-VIEW'))
					                   OR
								   (de.DdsTypeId = 29 AND dp.name = 'STRUCTURE')
					                   OR
								   (de.DdsTypeId IN (27, 28) AND dp.name IN ('PROCESSING-STRUCTURE', 'VIEW', 'SELECTION'))
					                   OR
								   (de.DdsTypeId = 12 AND dp.name IN ('STRUCTURE', 'RECORDS'))
								   )
					     GROUP BY dv.referencename,
					              de.name,
					              dp.name,
					              de.DdsTypeId
					     ORDER BY dv.referencename,
					              de.name,
					              dp.name;
					
				       OPEN crs;
				
                END;
END	
