Montei um SELECT com a intenção de buscar na tabela o registro que possua o MAIOR valor de lance, vejam:
select CODIGO_PROPONENTE
INTO :P27_COD_PROPONENTE
from LIC_LICITACAO_ITENS_PREGAO
where VALOR_LANCE = (SELECT MAX(VALOR_LANCE) FROM LIC_LICITACAO_ITENS_PREGAO
where
CODIGO_LICITACAO = :G_NR_LICITACAO and
ID_CIDADE = :G_ID_CIDADE and
LOTE = :P27_GUARDA_LOTE and
CODIGO_ITEM = :P27_GUARDA_CODIGO_ITEM and
MOSTRAR_TELA_LANCE = '1'
) AND
CODIGO_LICITACAO = :G_NR_LICITACAO and
ID_CIDADE = :G_ID_CIDADE and
LOTE = :P27_GUARDA_LOTE and
CODIGO_ITEM = :P27_GUARDA_CODIGO_ITEM and
MOSTRAR_TELA_LANCE = '1';
Porém, acredito q ta meio gambiarra isso, pois quando tem 2 registros com o mesmo valor, já da erro... percebo tambem que as vezes o codigo falha em buscar
Nesse sentido ai, alguém tem uma dica que realmente resolva isso??