use codet alias Report_Codet in 0 sele a.* ; from Report_Codet a ; into cursor cur_TempI aggree that sql 'opens' it's own table, BUT, i think it look first to see if the table refered to is already open and then decides on how and what to do. Maybe it just makes a memory copy of already open table. Also if i use a sql against a closed table, that previous closed table is now open after the sql command.