GET_ITEM_PROPERTY

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
AS_Anderson
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 05 Nov 2008 6:24 am
Localização: São Roque - SP

Olá.

Sou novo aqui no fórum.

Tenho uma aplicação em Oracle FORMS e se trata de uma aplicação para cadastro de estabelecimentos para a adaptação à Nota Fiscal Eletrônica.

Uma dos requisitos é que temos que gravar todas as alterações do cadastro na tabela de log.

O que ocorre é que eu estava usando variáveis globais para controlar as alterações, porém o código fica muito extenso; sei que existe a buit-in GET_BLOCK_PROPERTY que pode informar se houve alteração no bloco, através do STATUS.

Já testei a built-in e não está dando certo pelo motivo de mesmo que não sejam feitas alterações, o Forms retorna Status = 'Changed' devido ao focus no campo.

Alguém saberia como resolver isto? Gostaria que o Forms somente retornasse o Status 'Changed' quando realmente o conteúdo do campo tivesse sido alterado.

Desde já, agradeço a ajuda.

Atenciosamente,

Anderson
ederphil
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 52
Registrado em: Qua, 15 Out 2008 4:05 pm
Localização: taquara-RS

opá

não sei se entendi bem a duvida.. mas tu pode fazer esse controle e gravar em uma tabela de log criando uma trigger de banco.. conforme tua necessidade..

falou

qlqr duvida posta aí..
AS_Anderson
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 05 Nov 2008 6:24 am
Localização: São Roque - SP

OK.

Vou ver o que eu faço. Na verdade, preciso 'amarrar' tudo no forms.
Mesmo assim, obrigado pel ajuda.
Vou continuar tentando; caso tenha alguma outra sugestão, fico no aguardo.

Valeu!

Anderson
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, beleza?
Você não poderia deixar o banco de dados resolver isso pra você?

Talvez pudesse colocar um trigger de Before Update nesta tabela, inserindo dados numa tabela de Log.

Faça uns testes ai e, qualquer coisa, manda pra gente.
AS_Anderson
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 05 Nov 2008 6:24 am
Localização: São Roque - SP

Infelizmente, não.

O Forms que irá controlar isso.
Por esse motivo, tenho que amarrar essa informação.
joaogarcia
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 91
Registrado em: Ter, 20 Mar 2007 7:19 pm
Localização: Campinas - SP
Contato:
Cordialmente,
João C. Garcia

Cara...

Selecionar tudo

GET_BLOCK_PROPERTY('BLOCO.ITEM',STATUS)
só retorna CHANGED se o bloco realmente foi alterado...
Verifique na trigger POST-QUERY do seu bloco se está ocorrendo alguma atribuição de valor ou algo do tipo em algum campo.

De qualquer forma, eu seguiria o conselho da galera e criaria uma trigger de banco ao invés de amarrar tudo no forms.

Ou então, usaria a trigger POST-UPDATE do bloco que você quer controlar.

T+
Responder
  • Informação
  • Quem está online

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