[Forms] Controle de Transação

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Pessoal, boa tarde.

Estou com uma tela aqui (forms) que preciso "controlar a transação" nele. O forms tem bastante regras nas quais fica inviável a reconstrução dele. Em um determinado processo nesse forms, é chamado outros processos (Proc's) que fazem insert em banco, setam valores para blocos baseados em tabelas, enfim, tem várias outras transações ocorrendo. Já olhei cada transação procurando um commit e todos que achei eu desabilitei, deixando só no final do primeiro processo, um commit e um exception caso de erro, o problema é justamente o exception que não está "funcionando".

Por exemplo, no momento que ele seta valores para o bloco baseado em tabela, estava dando um erro que era porque o bloco estava setado como insert/update/delete como false, ou seja, deu um erro, mas em vez de acontecer o rollback dos outros processo, ele continuou como se não fosse um erro.

Outro erro que o exception do forms não "pegou", foi um raise_application_error que coloquei na tabela direto no banco, parece que para o forms, o raise no banco não é um exception.

Então a minha primeira dúvida é a seguinte: Um raise direto na tabela no banco realmente não é visto pelo forms como um erro ??

A segunda dúvida é um pouco mais complicada, mas queria saber quais as possibilidades, do erro no bloco baseado em tabela no forms, não ter sido "pego" como um erro e não ter entrado no exception when others then !!!

Att.

Tiago Pimenta
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Esta exception está sendo gerada via trigger? De qualquer forma, o erro é repassado ao forms sim.

Será que a exceção não está sendo tratada em algum outro ponto?
Como um bloco

Selecionar tudo

exception ... when others then null
em algum ponto da lógica, ou pela trigger ON-ERROR (nivel do Form ou do bloco em questão)
Responder
  • Informação
  • Quem está online

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