title: how to declare %ROWTYPE of a variable that is a weakly typed SYS_REFCURSOR?
body: <p>W.r.t code below I can not declare the type of fetch-into-variable as the underlying table's %ROWTYPE because the SYS_REFCURSOR is on a select that joins two tables and also selects a few functions called on the attributes of the underlying two tables; i.e I can't declare as L_RECORD T%ROWTYPE</p>
  
  <pre><code>---
  DECLARE
    P_RS SYS_REFCURSOR;
    L_RECORD P_RS%ROWTYPE;
  BEGIN
    CAPITALEXTRACT(
      P_RS =&gt; P_RS
    );
      OPEN P_RS;
      LOOP
        BEGIN
          FETCH P_RS INTO L_RECORD;
          EXIT WHEN P_RS%NOTFOUND;
          ...
        EXCEPTION
          WHEN OTHERS THEN
          ...
        END;
      END LOOP;
      CLOSE P_RS;
  END;
  --------
  CREATE or REPLACE PROCEDURE CAPITALEXTRACT
  (
      p_rs OUT SYS_REFCURSOR
  ) AS
  BEGIN
    OPEN p_rs for 
       select t.*,tminusone.*, f(t.cash), g(t.cash) FROM T t, TMINUSONE tminusone
      where t.ticket=tminusone.ticket;
  END CAPITALEXTRACT;
  </code></pre>
  
  <p>Of course I don't want to define a static table R with columns as returned in the SYS_REFCURSOR and then declare as  L_RECORD R%ROWTYPE.</p>
  
  <p>And hence the question:
  how to declare %ROWTYPE of a variable that is a weakly typed SYS_REFCURSOR ?</p>