Using a Ref Cursor in Oracle procedure to return results, seleced from a "global temp table" makes the cursor INVALID if a COMMIT is issued before the procedure returns. Any suggestions?

create procedure ...
...

OPEN po_resultcur
FOR
select * from temp_table;

...

COMMIT;

end;