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