SELECT COD_PRODUT_ACABDO,
DSC_PRODUT_ACABDO
FROM PRODUT_ACABDO
WHERE COD_PRODUT_ACABDO NOT IN (:CTRL.AUX_FILTRO);
Bom ai pra vocês entenderem é o seguinte esta lov esta num bloco multi-record, e este campo :CTRL.AUX_FILTRO recebe os valores que vou colocando concatenados para ficar 6, 9, 11 e assim por diante, porém meu select não filtra como se o NOT IN não funcionasse alguém tem alguma idéia.
Isso não vai funcionar assim.
Veja só: Variáveis BIND não são variáveis de substituição (tipo, como no PHP ou mesmo no Reports quando se coloca um & na frente da variável). Ou seja, o forms não vai substituir o conteúdo da sua variável no local e DEPOIS rodar sua consulta... Não é assim que as binds funcionam.
Pra você conseguir fazer isso na LOV, terá que fazer algo assim:
É que BIND é um valor único! Não pode colocar um monte de vírgulas separando vários valores. Isso só funciona nos exemplos que eu citei acima (PHP, Reports usando &, e em SQL dinâmicos).
Uma forma de fazer isso é você fazer INSERT dos valores que você não quer numa tabela qualquer. (Digamos TEMP)
Daí, no seu select, você faz da forma que eu falei, faz um NOT IN (select * from TEMP).
Ah entendi.. e tem como por exemplo eu criar um Record Group para a LOV usar com uma váriavel &AUX_FILTRO, e depois passar por parâmetro ou criar o Record Group na hora de selecionar algo assim sem fazer sql dinâmico.. porque não quero ficar fazendo insert.