Synchronize Oracle Forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
robson.barata
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Ter, 09 Out 2012 9:28 am

Boa Tarde Meus Amigos !

O meu problema é o seguinte:

Eu tenho um campo do tipo check box, no qual, eu clico nele e a minha tela é populada com as informações. Quando eu altero o campo descrição que é do tipo varchar2 e clico no botão salvar que eu criei (Dentro do botão tem apenas um update simples com um commit), a minha alteração some e volta a informação que estava antes.
Tentei usar o synchronize conforme um outro tópico abordou,mas, não funcionou.
Tentei criar uma variavel global para armazenar e depois gravá-la,mas, também não deu certo.
Acredito que seja algum problema de sincronização de tela.
Em um outro tópico a respeito, o nosso amigo mencionou que esse tipo de situação causa um bug no forms, será que teria como driblar essa situação????

Alguém poderia me ajudar, é urgente???

Obs: O bloco é não é base table, os controles de inserção e atualização estão sendo feitas na mão através do botão.

Abs,

Robson.
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

neste check box você está fazendo algum tratamento tipo Ivalidate, etc..??
Se for isso, acho que você deve tratar esta situação nesta propria validaçao. Tipo assim, se no campo contiver um texto diferente do original, então não atualiza nada neste campo.Indicando que este campo foi alterado.
alexandre haritos
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 24 Out 2012 9:31 am

Caro Robson.barata,
O synchronize apena faz o "refresh" da tela para sincronizar com o status interno do Forms. Se você fez um update em uma tabela que está foi utilizada para popular seu formulário (que não é base-table) então o Forms não tem como atualizar essa informação na tela.
A solução é simples !!!!!!!!!!!!!!
Basta você depois de fazer o seu update executar o comando clear_block(no_validate) e em seguida carregar novamente as informações. Não precisa usar o SYNCHRONIZE.

Boa Sorte !!
8)
Responder
  • Informação
  • Quem está online

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