Process Query (1)
uParse query and get column list:
uFUNCTION  f_getQuery_cl (in_sql_tx, i_limit_nr number:=64000)  
uRETURN CLOB IS
u v_cur        integer := dbms_sql.open_cursor;
u v_columns_nr number := 0;
u v_columns_tt dbms_sql.desc_tab;
u ...
u pragma autonomous_transaction;
uBEGIN
u DBMS_SQL.parse
(v_cur, in_sql_tx, DBMS_SQL.native);
u DBMS_SQL.describe_columns
   (v_cur, v_columns_nr, v_columns_tt);
u FOR i IN 1 .. v_columns_nr  LOOP
u v_columnList_tx :=
u v_columnList_tx || '||chr(9)||''"''||v_query_tt (i).'||
u v_columns_tt (i).col_name||'||''"'' ';
u  v_header := v_header||chr(9)||'"'||
v_columns_tt (i).col_name||'"';
u END LOOP;