Hola
Disculpen la demora de la respuesta.
No es una personalización. Pero vamos a personalizarla.
Les paso el codigo original del sp_fe_fin_vig_reg (Marco en Negrita las lineas que veo de importancia)
//----------------------------------------------------------------------------
Create Procedure “dba”.sp_fe_fin_vig_reg
(p_comision Like sga_comisiones.comision, pFecha Date)
Returning date;
Begin
Define v_comision like sga_comisiones.comision;
Define v_anio_academico like sga_comisiones.anio_academico;
Define v_fecha Date;
Select c.comision, c.anio_academico
Into v_comision, v_anio_academico
From sga_comisiones c
Where c.comision = p_comision;
If v_comision Is Null or v_comision = “” Then
Let v_fecha = Today;
Else
– Asigna la fecha de fin del próximo año académico
Select fecha_fin
Into v_fecha
From sga_anio_academico a
Where a.anio_academico = v_anio_academico + 1;
If v_fecha Is Null Then
Let v_fecha = Today;
End If;
End If;
Return v_fecha;
End;
End Procedure;
//----------------------------------------------------------------------------
Si no entiendo mal lo que hace es:
Busca la comision
Si la comision es Null Pone la fecha de hoy
Sino
Busca la fecha de fin de vigencia del Proximo Año academico y pone esa fecha
Y por ultimo si la fecha es Null Pone la fecha de hoy
Como nosotros no teniamos definido el Proximo año academico (2012) cada vez que se cerraba una regularidad se ponia la fecha del día del cierre. En vez de la fecha de fin de vigencia del 2012.
Lo que vamos a hacer es cambiar la condición: “a.anio_academico = v_anio_academico + 1;”
Por “a.anio_academico = v_anio_academico + 2;”
Para que sean 2 años hasta el fin de la regularidad.
Lo malo de esto es que no sabiamos de este calculo y no se crearon a tiempo los años academicos para hacer este calculo, ni para personalizarlo a tiempo. Ahora la unica que nos queda es hacer un UPDATE en la base, de la fecha de fin de vigencia de la regularidad, para todos los alumnos aprobados en las Comisoines 2011.
Mcuhas gracias
Saludos
Martin