Opción 1 Crear función para devolver un cursor de referencia fuerte.
create or replace function getCursor return refcur_pkg.refcur_t is
c_tmp refcur_pkg.refcur_t;
begin
open c_tmp for select * from StockTable;
return c_tmp;
end;
SELECT * FROM TABLE(StockPivot(getCursor()));
Opción 2. Puede probar la expresión del cursor, también debería funcionar. Expresión de cursor .
SELECT * FROM TABLE(StockPivot(Cursor(select * from StockTable)));