You could convert the Ref cursor to an XMLTYPE, and then parse the XML in SQL.
This could be done by having a function returning SYS_REFCURSOR, wrapped in XMLTYPE in the query (as below).
You do have to be careful of very large result sets, and implicit date conversions to text.
If this must be an OUT parameter SYS_REFCURSOR, it would be trickier:-
1. Save PL/SQL SYS_REFCURSOR variable into an APEX hidden item, e.g.
:P1000_XML := XMLTYPE(v_SYS_REFCURSOR).getClobVal();
2. Refer to XMLTYPE(:P1000_XML) instead of TEST_RC() function in example below:-
DROP FUNCTION test_rc;
CREATE OR REPLACE FUNCTION TEST_RC RETURN SYS_REFCURSOR
IS
v_RC SYS_REFCURSOR;
BEGIN
OPEN v_RC FOR
SELECT object_name,last_DDL_time
FROM ALL_OBJECTS
WHERE OWNER='SYS'
AND ROWNUM <= 10;
RETURN (v_RC);
END;
/
SELECT *
FROM XMLTABLE ('/ROWSET/ROW'
PASSING XMLTYPE(Test_RC())
COLUMNS
object_name VARCHAR2(100) PATH '/ROW/OBJECT_NAME'
, last_DDL_time VARCHAR2(100) PATH '/ROW/LAST_DDL_TIME'
);