Problemas com triggers no item.

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
jucruzjc
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 57
Registrado em: Qui, 11 Jan 2007 10:26 am
Localização: Santa Bárbaba d'Oeste

Boa tarde!

Estou com probleminha com um dos meus forms.
Seguinte:

Tenho um campo "Descrição" (que tem uma LOV). Neste campo tenho as triggers:

- When-Validate-Item : valida se o valor do campo já existe na tabela, se sim, emite mensagem e não deixa continuar.

- Key-Next-Item: verifica se existe o campo na tabela, se não existir, grava, caso contrário, não faz nada.

O problema é que quando eu insiro um registro novo e aperto o "TAB", é executada a trigger Key e depois 2 vezes a When Validate...
Após análises, chegamos a conclusão que:
quando inserimos o valor, a lov valida primeiro fazendo rodar o When validate, depoiS que a LOV descarregou os valores, ele executa o When validate novamente...
Isso faz com que a mensagem apareça 2 vezes

Pergunta :?: : tem como contornar essa situação? fazer que primeiro ele busque o valor na lov e depois execute a minha mensagem ????

Obrigada

Juliana :D
jctq
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 27
Registrado em: Qua, 08 Fev 2006 1:21 pm
Localização: São Gonçalo
Att,
Julio Quintão

Juliana,

Nçao sei se entendi sua duvida direito, mas para não deixar a lov validar o que você escreveu é so você usar este codigo
SET_ITEM_PROPERTY ('BLOCO.CAMPO',VALIDATE_FROM_LIST,PROPERTY_FALSE);
Desabilita o Validate from List do Item e depois
SET_ITEM_PROPERTY ('BLOCO.CAMPO',VALIDATE_FROM_LIST,PROPERTY_TRUE);
habilita de novo o Validate from list do Item.

Espero ter ajudado ..
Beijos
Julio
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes