Verificar se campo foi atualizado pelo usuário

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
GuiSS
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 20
Registrado em: Seg, 14 Jun 2010 11:17 am
Localização: São Paulo, SP
Guilherme

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!
GuiSS
Rank: Programador Júnior
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.
GuiSS
Rank: Programador Júnior
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!
SergioLBJr
Rank: Oracle Guru
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

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.
Responder
  • Informação
  • Quem está online

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