Ver Mensaje Individual
  #1  
Antiguo 30-01-2011
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Reputación: 21
teletranx Va por buen camino
Unhappy No Encuentro el Error del Trigger en FireBird 2.5

Saludos a todos
Tengo el siguiente problema:
El trigger funcionaba bien en la versión 1.5.6 y 2.1.3 pero cuando estoy actualizando la base de datos a la versión 2.5 y compilo los trigger y varios salieron con errores, verificando no encontre nada.
El siguiente trigger es un ejemplo de ello
Código SQL [-]
CREATE OR ALTER Trigger Rem_Maefin_Bd0 For Rem_Maefin
Active Before Delete Position 0
As
Declare Variable Ano Smallint;
Declare Variable Mes Smallint;
Declare Variable Fecini Date;
Declare Variable Fecter Date;
Declare Variable Fecha Date;
begin
 If (Old.Mf_Estado = 'N') Then Exit;
 Select Parrem.Pm_Anoliq, Parrem.Pm_Mesliq
    From Parrem
   Where Parrem.Ne = Old.Ne
  Into :Ano, :Mes;
  If (Old.Mf_Estado = 'F') Then
  Begin
    Fecha = Encodedate(1, :Mes, :Ano);
   -- Exception E_Asignado Fecha;
   -- Aislando el error
    if (Old.Mf_Fecter < Fecha) then
      exception e_asignado 'No puede Borrar Finiquito, es de otro Período';
   --
    FecIni = Encodedate(1, Mes, Ano);
    FecTer = Lastdaymonth(FecIni);
    Update Rem_Tabmov Set
           Rem_Tabmov.Tm_Marca = 'S'
     Where Rem_Tabmov.Ne = Old.Ne And
           Rem_Tabmov.Tm_Numrut = Old.Mf_Rutfun And
           Rem_Tabmov.Tm_Fecter >= :FecIni And
           Rem_Tabmov.Tm_Fecter <= :FecTer;
  End
end
Cuando compilo IbExpert versión 2011.01.11, sale lo siguiente
Cita:
can't format message 13:393 -- message system code -4.
unsuccessful metadata update.
MODIFY TRIGGER failed.
Existen otros trigers que utilizo las funciones Encodedate y Lastdaymonth y no tengo problema.
Tambien he utilizado la último versión de Interbase&Firebird Development Studio y sale lo mismo
No encontrado nada de nada
He probado línea por línea el trigger cuando escribo las líneas
if (Old.Mf_Fecter < Fecha) then
exception e_asignado 'No puede Borrar Finiquito, es de otro Período';

Se produce el error, posteriormente comento las líneas y complilo continuo el error, llego a comentar todo lo que está entre el Begin y el End final y continua el error, no puedo compitar el trigger.
No se que estoy haciendo mal.
Saludos y esperando sus comentario y ayuda
Teletranx
Responder Con Cita