DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: 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 UPPER(dv.ReferenceName) IN (SELECT UPPER(Param) FROM SESSION.string_param_temp)
					           AND dv.referenceddstypeid = 3
					           AND dv.ValueTypeId IN(2, 4)
					           AND (
							        (de.DdsTypeId = 11 AND UPPER(dp.name) IN ('CHANGES', 'OUTPUT', 'PROCESSING-STRUCTURE', 'SELECTION', 'SINGULAR-VIEW'))
					                   OR 
								   (de.DdsTypeId = 16 AND UPPER(dp.name) IN ('CHANGES', 'PROCESSING-STRUCTURE', 'SELECTION', 'SINGULAR-VIEW'))
					                   OR 
								   (de.DdsTypeId = 29 AND UPPER(dp.name) = 'STRUCTURE')
					                   OR 
								   (de.DdsTypeId IN (27, 28) AND UPPER(dp.name) IN ('PROCESSING-STRUCTURE', 'VIEW', 'SELECTION'))
					                   OR 
								   (de.DdsTypeId = 12 AND UPPER(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 ss	



