Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Renan Orati
Rank: Analista Júnior
Mensagens: 90 Registrado em: Qui, 23 Ago 2007 3:40 pm
Localização: São José do Rio Preto - SP
Ter, 08 Jul 2008 10:55 am
SEMPRE A SEGUNDA VEZ QUE você EXECUTA UMA TRANSAÇÃO, COMO POR EXEMPLO:
O FORMS EXIBE A MENSAGEM:
FRM-40405: Não há alterações a serem aplicadas.
EU JÁ TENTEI DE TUDO... já TENTEI "
WHEN OTHERS ",
JÁ TENTEI O GATILHO "
ON-ERROR ",
JÁ TENTEI O "
CLEAR_MESSAGE " E NADA...
SERÁ QUE ALGUÉM CONHECE UMA SOLUÇÃO???
AGRADEÇO A TODOS...
=D
Trevisolli
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
Ter, 08 Jul 2008 11:14 am
Brother,
Faz o seguinte... Não está dando certo, pois trata-se de uma mensagem e, o ON-ERROR não pega mensagens.
Coloque na trigger de Form,
ON-MESSAGE .
Tem um exemplo no próprio forms sobre isso a qual posto abaixo:
Selecionar tudo
DECLARE
lv_errcod NUMBER := MESSAGE_CODE;
BEGIN
IF lv_errcod = 40350 THEN
-- coloque teu código aqui
NULL;
END IF;
END;
Qualquer coisa, manda pra gente.
Renan Orati
Rank: Analista Júnior
Mensagens: 90 Registrado em: Qui, 23 Ago 2007 3:40 pm
Localização: São José do Rio Preto - SP
Qui, 10 Jul 2008 1:04 pm
Opa Trev...
Como sempre... na mosca!!!
rsrsrs... =D
vlwwwwwww!!!
Kothrine
Rank: Estagiário Pleno
Mensagens: 5 Registrado em: Ter, 20 Mai 2008 8:18 am
Localização: Taquara - RS
Gabriel Esquinati
"Faz tudo" Oracle...
Taquara - RS
Qui, 17 Jul 2008 8:37 am
Tem um modo mais simples.
Selecionar tudo
DELETE_RECORD;
:SYSTEM.MESSAGE_LEVEL := 5;
COMMIT;
:SYSTEM.MESSAGE_LEVEL := 0;
Se não funcionar, troque o nivel da MSG de 5 para 25.
Não sei se existe alguma contra indicação, mas sempre usei assim e deu certo !!!
kingysim
Rank: Estagiário Júnior
Mensagens: 2 Registrado em: Sáb, 10 Jan 2009 3:04 pm
Localização: Campinas - SP
Sáb, 10 Jan 2009 3:19 pm
Boa tarde pessoal.
Tentei seguir as recomendações de vocês, tanto para criar uma trigger de key-commit para mudar o message-level, alterar a On-Message e a On-Error mas nada disso funcionou. O FRM-40405 continua aparecendo. Também tentei alterar as formas de fazer o commit, utilizando commit_form e nada.
Talvez algo que seja diferente é que minha base table não é uma tabela e sim uma view. Porém criei triggers de on-insert, on-delete e on-update para fazer o tratamento de tudo que tenho que salvar no banco. Todos meus itens são base table = Sim, o q faria com que o forms entendesse que estou alterando um item base table.
Alguém tem alguma idéia?
Obrigado,
Reinaldo
dr_gori
Moderador
Mensagens: 5024 Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Dom, 11 Jan 2009 6:49 pm
Se todos itens são BASE TABLE, qual é a moral de usar uma VIEW ?
Não pode colocar direto na tabela ?
O grande objetivo de usar views como base de um bloco é justamente a VIEW buscar informações que não estão na própria tabela...
kingysim
Rank: Estagiário Júnior
Mensagens: 2 Registrado em: Sáb, 10 Jan 2009 3:04 pm
Localização: Campinas - SP
Dom, 11 Jan 2009 9:35 pm
Na realidade me expressei mal. Todos itens possíveis de alteração são base table.
Utilizo uma view para tratar as consultas de maneira mais simples).
marlonpasquali
Rank: DBA Pleno
Mensagens: 248 Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS
Qui, 10 Mar 2011 9:53 am
Só para complementar. Se alguém passar por isso, pode ser util.
Quando você faz uma chamada a outro form via open_form, tem que colocar no parametro como SESSION e não colocar NO_SESSION, senão os comandos dos gatilhos para tratar as mensagens não vão funcionar no form chamado.
Att,
Marlon
Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes