Pessoal,
Preciso de alguma função que me verifique dentro da trigger POST-TEXT-ITEM se quem alterou o valor do campo foi o usuário ou foi o próprio forms dinamicamente.
Será que é possível?
Agradecido desde já!
Abraços!
Verificar se campo foi atualizado pelo usuário
-
- Rank: Programador Júnior
- Mensagens: 20
- Registrado em: Seg, 14 Jun 2010 11:17 am
- Localização: São Paulo, SP
Guilherme
Bom,
Tentei da seguinte forma:
Popular uma variável global sempre que a trigger PRE-TEXT-ITEM do campo for acionada.
E depois na trigger POST-CHANGE verificar se esta variável global está populada (ou seja, estará populada somente se passou pelo PRE-TEXT-ITEM). Caso a variável esteja populada, o valor do campo é armazenado em uma variável auxiliar.
Na trigger POST-TEXT-ITEM, deixo novamente a variável global nula, para que em nenhum outro momento em que o campo seja alterado, o valor seja resgatado.
Para que enfim, na KEY-COMMIT do forms, o valor do campo auxiliar, é jogado no campo principal.
Estava funcionando perfeitamente, até que me dei conta de que a trigger POST-CHANGE não é acionada caso eu mova o foco para um campo qualquer do forms com o mouse, ou mesmo quando movo o foco imediatamente para o registro de baixo.
É isso mesmo? A POST-CHANGE só funciona quando uso o TAB?
Estou falando do forms 6i. Mas queria saber se teria o mesmo problema no forms 10g.
Tentei da seguinte forma:
Popular uma variável global sempre que a trigger PRE-TEXT-ITEM do campo for acionada.
E depois na trigger POST-CHANGE verificar se esta variável global está populada (ou seja, estará populada somente se passou pelo PRE-TEXT-ITEM). Caso a variável esteja populada, o valor do campo é armazenado em uma variável auxiliar.
Na trigger POST-TEXT-ITEM, deixo novamente a variável global nula, para que em nenhum outro momento em que o campo seja alterado, o valor seja resgatado.
Para que enfim, na KEY-COMMIT do forms, o valor do campo auxiliar, é jogado no campo principal.
Estava funcionando perfeitamente, até que me dei conta de que a trigger POST-CHANGE não é acionada caso eu mova o foco para um campo qualquer do forms com o mouse, ou mesmo quando movo o foco imediatamente para o registro de baixo.
É isso mesmo? A POST-CHANGE só funciona quando uso o TAB?
Estou falando do forms 6i. Mas queria saber se teria o mesmo problema no forms 10g.
-
- Rank: Programador Júnior
- Mensagens: 20
- Registrado em: Seg, 14 Jun 2010 11:17 am
- Localização: São Paulo, SP
Guilherme
Uma correção, pessoal
O problema que tenho não é na POST-CHANGE.
É na PRE-TEXT-ITEM, que não é acionada quando eu movo o foco para o meu campo pelo mouse.
Quando eu movo via teclado (tecla TAB), a trigger é acionada normalmente.
Obrigado!
O problema que tenho não é na POST-CHANGE.
É na PRE-TEXT-ITEM, que não é acionada quando eu movo o foco para o meu campo pelo mouse.
Quando eu movo via teclado (tecla TAB), a trigger é acionada normalmente.
Obrigado!
-
- Rank: Oracle Guru
- Mensagens: 448
- Registrado em: Ter, 16 Jun 2009 3:07 pm
- Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS
[]s
Programador Junior
Parobé RS
[]s
Cara acredito que a PRE-TEXT-ITEM deva disparar independente da maneira que você acessa o campo.
De qualquer maneira tente utilizar a WHEN-NEW-ITEM-INSTANCE.
De qualquer maneira tente utilizar a WHEN-NEW-ITEM-INSTANCE.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes