[SOLUCIONADO] Problemas en la Reinscripcion error informix -1206

Hola, del departamento de alumnos nos reportaron un error al querer realizar una reinscripcion, error -1206: Invalid day in date.

The day number in a DATE value or literal must a one- or two-digit number from 1 to 28 (or 29 in a leap year), 30, or 31, depending on the month that accompanies it.

Yo chequeo los datos de la alumna pero no encuentro en donde esta el error de fecha…por favor si me pueden orientar se los agradeceria.
Saludos!

Estaba viendo que la fecha de relevamiento anterior es 29/02/2008, no se si esto tendra que ver 8por lo del año bisiesto). Gracias!

Podria ser.
Podes indicar en que version estas de Guarani?

La reinscripción la realizas por la interfaz del alumno o por Gestion? Podes enviar una imagen de la pantalla cuando muestra ese mensaje?

Estamos en una version antigua 2.00.0! (en un mes pasamos a la version 2.06.5). Lo hago desde la interfaz Gestion. Estuve probando con otros alumnos que tambien tienen como fecha de actualizacion 29/02 y les da el mismo error…


ERROR REINSCRIPCION.png

ERROR REINSCRIPCION.png

Una de las soluciones que habíamos considerado es actualizar el registro y colocarle una fecha distinta al 29 pero no pudimos hacerlo, entonces intentamos borrarlo y si nos deja pero al querer insertarlo nuevamente con otra fecha distinta al 29 nos da problema el constraint…

Hola Lorena

Fecha de relevamiento o fecha de actualizacion?
La segunda la podes anular.
Para modificar la primera tenes que deshabilitar los triggers de todas las tablas de datos censales y actualizarlas al mismo tiempo a todas.

Emilio

Gracias Emilio, es la fecha de relevamiento la que tengo que modificar, ejecuto el siguiente script, pero me sigue dando error…

set triggers for sga_datos_censales disabled;
set triggers for sga_datos_cen_aux disabled;

UPDATE sga_datos_censales
SET fecha_relevamiento=‘03/01/2008’
WHERE nro_inscripcion=‘UACO-1911’ and fecha_actualiz=‘02/29/2008’;

UPDATE sga_datos_cen_aux
SET fecha_relevamiento=‘03/01/2008’
WHERE nro_inscripcion=‘UACO-1911’ and fecha_relevamiento=‘02/29/2008’;

set triggers for sga_datos_censales enabled;
set triggers for sga_datos_cen_aux enabled;

Hola

sga_datos_cen_aux2?
son tres las tablas de datos censales.

Emilio

Hola, este inconveniente lo tengo en la version 2.00.0 (aun no convertimos) y solo hay dos tablas de datos censales…

Hola Lorena

disculpá

probastes

UPDATE sga_datos_censales
SET fecha_relevamiento=‘03/01/2008’, fecha_actualiz=‘03/01/2008’
WHERE nro_inscripcion=‘UACO-1911’ and fecha_relevamiento=‘02/29/2008’;

Hola Emilio, no hay problema. Sabes que sigue sin funcionar el update…seguramente tendremos que eliminar el registro que tiene la fecha de relevamiento 29 de Febrero…y ahi si nos va a dejar realizar la reinscripcion.
Muchas Gracias! Saludos

Proba con este codigo, si da error, ejecutá el rollback que esta comentado:


BEGIN WORK;
set  constraints all deferred; -- hace que no fallen las fk al actualizar el dato que es parte de la pk.

set triggers for sga_datos_censales disabled;
set triggers for sga_datos_cen_aux disabled;
set triggers for sga_datos_cen_aux2 disabled;

UPDATE sga_datos_censales
SET fecha_relevamiento= to_date('03012008', "%d%m%Y")
WHERE nro_inscripcion='UACO-1911' and fecha_actualiz = to_date('29022008', "%d%m%Y");

UPDATE sga_datos_cen_aux
SET fecha_relevamiento = to_date('03012008', "%d%m%Y")
WHERE nro_inscripcion='UACO-1911' and fecha_relevamiento =  to_date('29022008', "%d%m%Y");

UPDATE sga_datos_cen_aux2
SET fecha_relevamiento = to_date('03012008', '%d%m%Y')
WHERE nro_inscripcion='UACO-1911' and fecha_relevamiento =  to_date('29022008', "%d%m%Y");

set triggers for sga_datos_censales enabled;
set triggers for sga_datos_cen_aux enabled;
set triggers for sga_datos_cen_aux2 enabled;
COMMIT WORK;
-- ROLLBACK WORK;

Buenisimo! Ahora funciona. Gracias.