CUR_RECORDSET es un tipo de datos hecho por ti?
que estructura tiene? 
Apoyo a gnzsoloyo en que si no das información completa debemos partir de suposiciones. 
Adicional, requieres manejar ref cursor para tratar los datos con sql dinamico. 
Te dejo un ejemplo:    
Código SQL:
Ver original- DECLARE 
-   
- PROCEDURE consulta(codigo IN VARCHAR2, descripcion IN VARCHAR2, valores IN VARCHAR2)  
- IS 
-   
- TYPE CUR_TYP IS REF CURSOR; 
-   c_cursor   CUR_TYP; 
-   id_employee NUMBER; 
-   last_employee varchar2(1000); 
-   v_query     VARCHAR2(255); 
- sql_var VARCHAR2(1000); 
- BEGIN  
- OPEN c_cursor FOR 'SELECT employee_id,last_name FROM employees '|| valores ||' ORDER BY 1 DESC'; 
-   LOOP 
-     FETCH c_cursor INTO id_employee,last_employee; 
-     EXIT WHEN c_cursor%NOTFOUND; 
-     dbms_output.put_line(id_employee||' '||last_employee); 
-   END LOOP; 
-   CLOSE c_cursor; 
-   
- END consulta; 
- BEGIN 
- consulta('1','nada','WHERE employee_id=101'); 
-   
- END; 
- /