I get following error when a C++ code calls a stored procedure in oracle which is returning resultset from a GTT (Gloabl temp table):
ORA-08103: object no longer exists.

The procedure is:
create or replace procedure tmptest
(
po_resultcur OUT ETS_PKG.refcur,
po_returnstatus OUT NUMBER -- 0 = OK, -1 = Error
)
AS
begin
insert into T#TEMP_MERGETABLE (seqkey) values(1);
open po_resultcur for
select * from T#TEMP_MERGETABLE;
end;
/

T#TEMP_MERGETABLE is a GTT. The GTT table is defined as transaction-specific(default).

If I create it as non-GTT(ie.regular) table type, the procedure call works returning one record.

Please help. I want to use GTT as the table-type, from where the data will be returned.