Erro lookup de consulta

Olá,

Tenho um campo no meu formulário que usei uma tabela do BD para popular e estou armazenando o código ID separado por virgula num campo Varchar (postgresql). Para o usuário aparece o nome para escolher.
Percebi um erro quando usei o checkbox acho que é um bug, então mudei para multiplo select e funcionou perfeitamente, gravou os dados no campo separado por virgula.
Preciso agora exibir este campo na grid, pra isto usei um lookup de consulta automático fazendo uma busca na tabela respectiva.
Só que por não ser um campo obrigatório está gerando um erro em campos vazios, alguém já passou por isto?
Segue o select:
SELECT nom_reduzido
FROM “public”.cad_dest_destinatario
WHERE cod_destinatario in (’{amos.destinatarios}’)
ORDER BY nom_reduzido

Segue o erro:
ERRO
Erro ao acessar o banco de dados
ERRO: sintaxe de entrada é inválida para integer: “” LINE 1: …cad_dest_destinatario where cod_destinatario in (’’) order … ^
select nom_reduzido from “public”.cad_dest_destinatario where cod_destinatario in (’’) order by nom_reduzido

Na programação normal, colocaria um IF antes de select se o campo estiver vazio não fazer nada. Alguém sabe se no scriptcase existe alguma forma de fazer isto, colocar um IF para campos nulos ou vazios no lookup de consulta?

Uma opção também seria colocar:
SELECT nom_reduzido
FROM “public”.cad_dest_destinatario
WHERE cod_destinatario in (’{amos.destinatarios}’,0)
ORDER BY nom_reduzido

Assim o 0 zero não irá influenciar no resultado e não deixará o erro.

Rodrigo,

Muito obrigado pela resposta, mas não deu certo. Quando retira todos os nomes e salva, usando select múltiplo ele gera campo vazio com ’ ’ ai ferra tudo.
Mas depois da sua resposta que colocando um 0 resolveria, então resolvi aprofundar no Postgresql e a solução foi criar uma trigger que coloca 0 quando for vazio.
Segue a trigger se alguém tiver está dúvida no futuro.

CREATE OR REPLACE FUNCTION dest_vazio()
RETURNS trigger AS
$BODY$
BEGIN
– Verificar se foi fornecido o nome do empregado
IF NEW.destinatarios IS NULL or NEW.destinatarios =’’ THEN
NEW.destinatarios := ‘0’;
END IF;

    RETURN NEW;
END;

$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION dest_vazio()
OWNER TO postgres;

CREATE TRIGGER dest_vazio BEFORE INSERT OR UPDATE ON cad_amos_amostra
FOR EACH ROW EXECUTE PROCEDURE dest_vazio();

Muito bom!