[SOLUCIONADO] PROBLEMA CON EL PARAMETRO: horas_borrar_antes_examen

Hola, que tal?

Tenemos el siguiente problema:
tenemos el parametro: horas_borrar_antes_examen con el valor: 24

Y el control está puesto en Siempre Estricto.

El tema es que hay alumnos que se quieren inscribir suponganse hoy (19/12/2011) siendo la mesa de examen el 22/12/2011 y no los deja,
porque dice que:
“Tu baja a Examen no puede realizarse debido a que se exedió el limite de horas.”

A que se puede deber esto?? Porque lo está calculando mal?

Estamos en la version 2.06.3.-

SALUDOS

Martin, este controlo NO lo deberias configurar en el alta de inscripción a examen.
Solo debes configurarlo en la operación de baja de inscripción a examen.

Alejandro, como andas?

Me equivoque al escribir nomas.
Si, está configurado en Baja de Inscripción de Examenes, no el la Inscripción de Examenes como puse anteriormente.

SALUDOS

Hola Martin

La situación es repetible?
Le podés poner un trace al contol?

Emilio

Emilio, como andas?

Hay algo raro, acá probe con un caso en donde la fecha de examen es el 22/12/2011 y me dio todo OK como tiene que ser, te paso el OUTPUT:
EXECUTE PROCEDURE ctr_horasexaenbaja (“FCAD”, “105”, 90528081105, “C0038”, “2011”, “Diciembre”, “REGULAR”, 2);
1 OK

Pero por sistema al querer dar de baja al alumno de esa inscripción me sigue saliendo el mismo error.
Como que el problema no está en el control ctr_horasexaenbaja, está en otro lado.

SALUDOS

Hola Martin.

ponele un trace al control y largalo desde gestión a ver que está recibiendo.

No tenés ninguna personalización sobre eso verdad?

Emilio

fijate si el error no esta en los parametros que estan en la tabla de puntos de control.

Emilio

Emilio, como andas?

Te mando archivo con los debugs, uno corriendo el SP que da OK.
Y el otro corriendo la operación, que es el que tira el error.
A ver que ves raro.

SALUDOS


debug_corriendo_sp.txt (1.92 KB)

debug_ejecutando_operacion.txt (1.7 KB)

Emilio, te referis a este?:

– select * from par_puntos_control where punto_de_control = 12;
12 Anulación de una inscripción a examen Anulación de una inscripción a examen S,S,S,S,S,N,N,S

Hola Martin

fijate el primer select de la fecha de examen. ahi está el problema

los parametros deberían ser S,S,S,S,N,S,S,N

Emilio

Hola Emilio, ahí ya cambie los parametros.

Ahora… dice que la fecha de examen en sga_prestamos es NULL esegun lo que veo, pero no hay ningun valor NULL en ese campo en esa tabla.

hay algun dato que no te está pasando.
debugueala a w_baja_inscexamenes en el evento ue_carga_param_controles a ver que está pasando en el punto de control 12

Emilio

Hola Emilio, te mando la captura con el valor de las variables.
Ahí parece toma todo bien.

Quizás no me estoy fijando en el lugar correcto…

SALUDOS


VARIABLES.jpg

VARIABLES.png

Hola Martin

Hasta ahi parece que va bien. habria que ver el llamado si pasaba bien.
podés hacer lo mismo en el punto de control o bien, modificar el sp poniendo sentencias como

LET mesa = pMesaExamen

para que el debug muestre claralmente el valor que recibe.
Hay algo que no está pasando bien.

Emilio

Emilio,

ahi puse todos los parametros en variables con LET para que me los muestre, pareciera esta bien.
Te lo mando adjunto al nuevo debug con esto.

SALUDOS Y FELIZ NAVIDAD


debug_nuevo.txt (2.25 KB)

Emilio,

acabo de ver lo siguiente, si ejecuto tal cual con los parametros no me devuelve nada porque la mesa dice Regular y es todo con mayusculas “REGULAR”, como si trajese el tipo de mesa y no el nombre. Ahora poniendolo en mayuscula si devuelve: 12/25/2011

DEVUELVE NADA:
SELECT dba.sga_prestamos.fecha
– INTO d_f_examen
FROM dba.sga_llamados_mesa,
dba.sga_prestamos
WHERE dba.sga_llamados_mesa.prestamo = dba.sga_prestamos.prestamo
AND dba.sga_llamados_mesa.unidad_academica = “FCAD”
AND dba.sga_llamados_mesa.materia = “AB026”
AND dba.sga_llamados_mesa.anio_academico = “2011”
AND dba.sga_llamados_mesa.turno_examen = “Diciembre”
AND dba.sga_llamados_mesa.mesa_examen = “Regular”
AND dba.sga_llamados_mesa.llamado = 2;

Y de esta otra manera devuelve: 12/25/2011

SELECT dba.sga_prestamos.fecha
– INTO d_f_examen
FROM dba.sga_llamados_mesa,
dba.sga_prestamos
WHERE dba.sga_llamados_mesa.prestamo = dba.sga_prestamos.prestamo
AND dba.sga_llamados_mesa.unidad_academica = “FCAD”
AND dba.sga_llamados_mesa.materia = “AB026”
AND dba.sga_llamados_mesa.anio_academico = “2011”
AND dba.sga_llamados_mesa.turno_examen = “Diciembre”
AND dba.sga_llamados_mesa.mesa_examen = “REGULAR”
AND dba.sga_llamados_mesa.llamado = 2;

Otra cosa:

Cuando vay a la opción de bajas de inscripcion a Examen el nombre de la mesa aparece “Regular”,
pero al ir al ABM de Mesas de Examen aparece con el nombre: “REGULAR”. te lo mando en la imagen1, ahi se ven las dos situaciones
Creeria por ahi anda la cosa.

SALUDOS


Imagen1.jpg

Imagen1.png

Hola Martin

Nos vamos acercando al problema. Hay que revisar donde se está haciendo ese cambio.

Feliz Navidad

Emilio

Martín:

No te olvides que el Informix en general es case sensitive (creo que depende de como esté instalado, si no recuerdo mal), así que normalmente “REGULAR” no es lo mismo que “Regular”.

Saludos

Gustavo

Hola Emilio y Gustavo, como andan?

Vi lo siguiente y me pareció raro:

El SP sp_inscexam si ejecuto el SQL que está adentro que es el que devuelve la Mesa de Examen:

SELECT ie.unidad_academica,
ie.carrera,
ie.legajo,
ie.materia,
sp_datetime_string(ie.fecha_inscripcion) as fecha_insc,
ie.anio_academico,
ie.turno_examen,
ie.llamado,
ie.mesa_examen,
ie.tipo_inscripcion,
ie.estado,
ie.equiv_parcial,
ie.materia_generica,
me.catedra,
me.admite_libres,
me.grupo_carrera,
sp_time_string(p.hora_inicio) as hora_exa,
sp_date_string(p.fecha) as fecha_exa,
amp.nombre_reducido,
sga_tipos_mesa.desc_tipo_insc,
DECODE(ie.estado, ‘P’, ‘Pendiente’, ‘B’, ‘Baja’, ‘A’, ‘Activa’, ‘E’, ‘Exceptuado’),
ca.nombre_reducido,
ie.nro_transaccion,
amp.nombre_materia,
sga_sedes.sede,
sga_sedes.nombre

INTO vcUnidadAcademica, vcCarrera, vcLegajo, vcMateria, dFecHoraInsc,
iAnioAcademico, vcTurnoExamen, iLlamado, vcMesaExamen, cTipoInsc, cEstado,
cEquivParcial, vcMatGenerica, vcCatedra,
cAdmiteLibres, vcGrupoCarrera,
hHoraInicioPrest, dFecPrest,
vcMateriaNombreRed, vcTipoInscNombre,vcEstadoNombre,
vcCarNomReducido, vcNroTrans, vcMateriaNombre, vcSede, vcNombreSede

FROM sga_alumnos al,
sga_insc_examen ie,
sga_mesas_examen me,
sga_llamados_mesa llm,
sga_prestamos p,
sga_planes pl,
sga_atrib_mat_plan amp,
sga_carreras ca,
sga_tipos_mesa,
sga_sedes

WHERE al.unidad_academica = pUnidadAcademica
AND al.nro_inscripcion = pNroInscripcion
AND ie.estado IN (‘A’, ‘P’, ‘E’)
AND ie.unidad_academica = al.Unidad_Academica
AND ie.carrera = al.Carrera
AND ie.legajo = al.Legajo
AND ca.unidad_academica = ie.Unidad_Academica
AND ca.carrera = ie.Carrera
AND me.unidad_academica = ie.unidad_academica
AND me.materia = ie.materia
AND me.anio_academico = ie.anio_academico
AND me.turno_examen = ie.turno_examen
AND me.mesa_examen = ie.mesa_examen
AND llm.unidad_academica = me.unidad_academica
AND llm.materia = me.materia
AND llm.anio_academico = me.anio_academico
AND llm.turno_examen = me.turno_examen
AND llm.mesa_examen = me.mesa_examen
AND llm.llamado = ie.llamado
AND p.fecha >= TODAY
AND p.prestamo = llm.prestamo
AND pl.unidad_academica = ie.unidad_academica
AND pl.carrera = ie.carrera
AND pl.plan = ie.plan

AND amp.unidad_academica 	= pl.unidad_academica
AND amp.carrera 		= pl.carrera
AND amp.plan    			= pl.plan
AND amp.version 		= pl.version_actual
AND amp.materia 		= ie.materia

AND ie.tipo_inscripcion 		= sga_tipos_mesa.tipo_mesa
AND me.sede = sga_sedes.sede

Este me devuelve bien la mesa de examen: REGULAR

Pero… si ejecuto el SP me devuelve mal, así: Regular

Lo raro es que en el Return devuelve bien el campo de mesa de examen, no veo nada mal. No se porque lo devuelve así al final si en el SQL lo trae bien.

SALUDOS