I have this instruction:

Select h.cod_estab,
h.data_requis,
h.requisitante,
h.comprador,
h.tipo,
h.centro_custo,
h.material,
h.quantidade,
h.desc_material,
h.unid_material,
i.requisicao,
i.cotacao,
i.fornecedor,
i.data_cot,
i.qtde_forn,
i.unid_forn,
i.valor_unit,
i.valor_total,
i.data_aprov,
i.tot_com_encargo,
i.valor_merc,
i.valor_frete,
i.perc_ipi,
i.perc_icms,
r.descricao as desc_requisitante,
c.descricao as desc_comprador,
t.descricao as desc_tipo,
t.tipo_material,
b.descricao as desc_centro_custo,
f.razao_social as desc_fornecedor
from cpcadreq h, cpcadcot i, cpcodreq r,
cptipcpr t, cbccusto b, cpcadfor f
left join cpcadcpr c on c.codigo = h.comprador
where h.cod_estab = :cod_estab and
i.cod_estab = h.cod_estab and
i.requisicao = h.codigo and
i.fornecedor = :fornecedor and
i.situacao = 'Aprovada' and
r.codigo = h.requisitante and
t.codigo = h.tipo and
b.codigo = h.centro_custo and
f.codigo = i.fornecedor
order by cod_estab,requisicao,cotacao

When I have some registers to be returned It works very well, but when I haven't registers to be returned, it return this error message:

"The cursor identified in the update or delete statement is not positioned on a row.
no current record for fetch operation."

What happend???


Thanks