Trigger não chama Procedure...

VBSHAR sharmaq em terra.com.br
Sex Ago 1 12:20:09 -03 2008


Bom dia


pessoal, eu tenho uma base FB 1.5 e nela uma procedure que serva para 
atualizar o valor pago de uma conta, esta procedure é chamada por uma 
trigger numa tabela de cheques recebidos. Seguem as mesmas:

A procedure:
===================================================
CREATE PROCEDURE ATUALIZA_SALDO_PAGAR (
    COD_LANCTOS INTEGER)
AS
DECLARE VARIABLE TOTAL_GERAL NUMERIC(12,2);
DECLARE VARIABLE TOTAL_CHEQUE NUMERIC(12,2);
DECLARE VARIABLE TOTAL_CARTAO NUMERIC(12,2);
DECLARE VARIABLE TOTAL_BOLETOS NUMERIC(12,2);
begin
  /*TOTALIZA O JA PAGO EM CHEQUES*/
     SELECT COALESCE(SUM(VALOR),0)
       FROM contas_cheques
       WHERE COD_LANCTO=:COD_LANCTOS and contas_cheques.COMPENSADO='S'
       INTO :TOTAL_CHEQUE;
  /*TOTALIZA O JA PAGO EM CARTOES*/
     SELECT COALESCE(SUM(VALOR),0)
       FROM contas_cartoes
       WHERE COD_LANCTO=:COD_LANCTOS and contas_cartoes.pago=-1
       INTO :TOTAL_CARTAO;
  /*TOTALIZA O JA PAGO EM BOLETOS*/
     SELECT COALESCE(SUM(VALOR),0)
       FROM contas_boletos
       WHERE COD_LANCTO=:COD_LANCTOS and contas_boletos.pago=-1
       INTO :TOTAL_BOLETOS;
  /*UNE TODAS AS VARIAVEIS NUM SO*/
  TOTAL_GERAL=TOTAL_CHEQUE + TOTAL_CARTAO;

  UPDATE contas_lancamentos
  SET CONTAS_LANCAMENTOS.valor_pago=:TOTAL_GERAL
  WHERE CONTAS_LANCAMENTOS.CODIGO=:COD_LANCTOS;

/*SE O VALOR PAGO FOR IGUAL OU MAIOR QUE O VALOR DEVIDO POE A CONTA COMO 
PAGA*/

  UPDATE contas_lancamentos
  SET CONTAS_LANCAMENTOS.pago=-1
  WHERE CONTAS_LANCAMENTOS.CODIGO=:COD_LANCTOS AND 
CONTAS_LANCAMENTOS.VALOR_PAGAR<=contas_lancamentos.valor_pago;
  suspend;
End
===================================================
A triger é:
===================================================
CREATE TRIGGER CONTAS_CHEQUES_AIUD0 FOR CONTAS_CHEQUES
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
    execute procedure ATUALIZA_SALDO_PAGAR NEW.CODIGO;
end
===================================================

Bom, a procedure funciona se eu chamar ela manualmente pelo IBExpert, mas 
quando eu altero a tabela cheques a trigger parece não disparar a procedure. 
Não dá mensagem de erro nenhum, só não funciona....

O que pode ser? 







Mais detalhes sobre a lista de discussão lista