[firebase-br] Erro estranho

W O sistemas2000profesional em gmail.com
Qua Mar 20 18:36:57 -03 2013


Tu trigger está INACTIVE.

Saludos.

Walter.




2013/3/20 Zottis <bzottis em ig.com.br>

> Pessoal, ta acontecendo uma coisa muito doida
>
>
>
> Tenho uma rotina no delphi que verifica se o valor pago(Inserido pelo
> usuário) é menor, maior ou igual ao saldo da ContaAPagar Se ele for menor,
> ele cadastra um pagamento e essa tabela pagamento tem um gatilho que soma
>
> Os pagamentos e atualiza a tabela ContaAPagar
>
> Se ele for maior ou igual ele cadastra um pagamento e já da baixa na conta
>
> O que esta acontecendo é que quando a segunda opção é acionada(maior ou
> igual)
>
> Ele atualiza a tabela de contaAPagar e não dispara o gatilho.
>
>
>
> Onde será que estou errando?
>
> A  trigger é essa:
>
>
>
> CREATE OR ALTER TRIGGER TG_SOMA_DEBITO FOR DEBITOS
>
> INACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
>
> AS
>
> begin
>
> if (inserting) then
>
> execute procedure sp_soma_debito(new.contano) ;
>
> else
>
> if ((deleting) or (updating)) then
>
> execute procedure sp_soma_debito(Old.contano) ;
>
> end
>
>
>
> CREATE OR ALTER PROCEDURE SP_SOMA_DEBITO (
>
>     conta_no integer)
>
> as
>
> declare variable total_pago numeric(15,2);
>
> begin
>
> select sum(d.valor)
>
>   from debitos d
>
>   where d.contano =:conta_no
>
>   and deletado = 'N'
>
>   into :total_pago;
>
>
>
> if (:total_pago is null) then total_pago = 0;
>
>
>
>   update ctapag
>
>      set totalpago    = :total_pago
>
>      where contano    = :conta_no;
>
> end
>
>
>
> e a rotina é essa:
>
>               if Valor_pago_Lote  >= DadosZCE.CtaPagSALDO.Value then
>
>                  begin
>
>
>
>                    DadosZCE.DebitosVALOR.Value      :=
> DadosZCE.CtaPagSALDO.Value;
>
>                    Valor_Para_o_caixa                   :=
> DadosZCE.CtaPagSALDO.Value;
>
>                    dadoszce.Debitos.Post;
>
>                    dadoszce.Debitos.ApplyUpdates;
>
>                    //DadosZCE.MDOTransaction.CommitRetaining;//aqui tentei
> comitar antes de atualizar a Conta a Pagar mas tambem nao adiantou
>
>
>
>                   DadosZce.CtaPag.edit;
>
>                   DadosZce.CtaPagPAGO.Value                :='S';
>
>                   DadosZce.CtaPagDataPgto.Value            :=
> DATA_CALENDARIO;
>
>                   DadosZce.CtaPag.Post;
>
>                   dadosZce.CtaPag.applyupdates;
>
>                   //DadosZCE.MDOTransaction.CommitRetaining;
>
>
>
>                  end else
>
>               if Valor_pago_Lote  < DadosZCE.CtaPagSALDO.Value then
>
>                 begin
>
>
>
>                    DadosZCE.Debitos.edit;
>
>                    DadosZCE.DebitosVALOR.Value      := Valor_pago_Lote;
>
>                    dadoszce.Debitos.Post;
>
>                    dadoszce.Debitos.ApplyUpdates;
>
>                    //DadosZCE.MDOTransaction.CommitRetaining;
>
>
>
>                 end;
>
>
>
>         DadosZCE.MDOTransaction.CommitRetaining;
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista