Lorena, igual sigo sin entender, porque cuando te solicite que pruebes estos dos procesos:
Execute procedure sp_matInscCursa_ft (<unidad academica>, <nro de inscripcion>, 'X',1);
Execute procedure sp_matInscCursada (<unidad academica>, <nro de inscripcion>, 'X',1);
Comentaste que en ningun devolvia la materia.
Cuando el 2do procedure es el que se utiliza en la inscripción a cursada normal, es decir cuando existe un período de inscripción vigente.
¿La fecha de inactivacion del período lectivo, cuando es? Debe ser mayor o igual a la fecha actual para que devuelva la materia en cualquiera de las dos operaciones.
SELECT amt.materia,
amt.nombre_materia,
amt.credito
FROM sga_atrib_mat_plan amt
WHERE amt.unidad_academica = <UNIDAD_ACADEMICA>
AND amt.carrera = <CARRERA>
AND amt.plan = <PLAN>
AND amt.version = <VERSION>
AND amt.tipo_materia <> 'G'
Alejandro, respecto a los stored yo te respondi que el segundo no me devolvia la materia en cuestion pero si devuelve en las que esta inscripto el alumno
La fecha de inactivacion es el 16 de Julio de 2021
Y la query me devuelve todas las materias INCLUIDA la del problema que es la 0324.
La query que me pasaste en el posteo anterior en donde se fija primero en sga_atrib_mat_plan y despues en si tiene creada comisiones, por separado me devuelve la materia pero al ejecutarla completa no la devuelve, no se si se entiende
¿Y la siguiente query devuelve la materia?
(lo unico que cambia de la query anterior es que se agrega que la materia tenga una comision con un periodo lectivo cuya fecha de inactivación sea mayor o igual a hoy y ademas que la comision tenga la inscripción habilitada)
SELECT amt.materia,
amt.nombre_materia,
amt.credito
INTO vcMateria,
vcMateriaNombre,
vcCredito
FROM sga_atrib_mat_plan amt
WHERE amt.unidad_academica = vcUnidadAcademica
AND amt.carrera = vcCarrera
AND amt.plan = vcplan
AND amt.version = vcVersion
AND amt.tipo_materia <> 'G'
-- CONDICION DE QUE LA MATERIA TENGA DEFINIDA UNA COMISION
AND EXISTS (SELECT ''
FROM sga_comisiones com,
sga_periodos_lect per
WHERE com.unidad_academica = vcUnidadAcademica
AND per.anio_academico = com.anio_academico
AND per.periodo_lectivo = com.periodo_lectivo
AND com.insc_habilitada = 'S'
AND per.fecha_inactivacion >= TODAY
AND amt.materia = com.materia )
ORDER BY amt.nombre_materia
La query me devuelve las comisiones y el parametro esta en S. La comision fue creada como la del resto de las materias, donde deberia ver si esta restringida?
SELECT amt.materia,
amt.nombre_materia,
amt.credito
FROM sga_atrib_mat_plan amt
WHERE amt.unidad_academica =
AND amt.carrera =
AND amt.plan =
AND amt.version =
AND amt.tipo_materia <> 'G'
-- CONDICION DE QUE LA MATERIA TENGA DEFINIDA UNA COMISION
AND EXISTS (SELECT ''
FROM sga_comisiones com,
sga_periodos_lect per
WHERE com.unidad_academica = vcUnidadAcademica
AND per.anio_academico = com.anio_academico
AND per.periodo_lectivo = com.periodo_lectivo
AND com.insc_habilitada = 'S'
AND per.fecha_inactivacion >= TODAY
AND amt.materia = com.materia )
ORDER BY amt.nombre_materia
No, no la devuelve- Esto es lo que devuelve y no esta la materia 0324
1709 Administración y Comercialización 0
1685 Agrometeorología 0
1708 Animales de Granja I 0
0901 Análisis y Producción del Discurso 0
0402 Ecología 0
0395 Economía General 0
0404 Edafología 0
0387 Matemática I 0
1706 Producciones Vegetales Intensivas I 0
1707 Producción Bovina 0
0420 Química I 0
Bueno, entonces es esa condicion.
Esa materia NO tiene al menos una comision creada en un periodo lectivo cuya fecha de inactivación sea mayor o igual a la fecha actual y que la inscripción este habilitada.
Me habias dicho que si tiene comision, que esta habilitada la inscripción y que la fecha de inactivación del periodo lectivo es mayor a hoy. ¿Podes volver a verificar esto?
Lorena, perdon pero perdi el hilo de este post.
¿Esta consulta (le saque la condicion del AND EXISTS (…), devuelve la materia para la version del plan de estudios del alumno?
SELECT amt.materia,
amt.nombre_materia,
(SELECT count(*)
FROM sga_comisiones com,
sga_periodos_lect per
WHERE com.unidad_academica = amt.unidad_academica
AND per.anio_academico = com.anio_academico
AND per.periodo_lectivo = com.periodo_lectivo
AND com.insc_habilitada = 'S'
AND per.fecha_inactivacion >= TODAY
AND amt.materia = com.materia) as existen_comisiones
FROM sga_atrib_mat_plan amt
WHERE amt.unidad_academica = <UNIDAD_ACADEMICA>
AND amt.carrera = <CARRERA>
AND amt.plan = <PLAN>
AND amt.version = <VERSION>
AND amt.tipo_materia <> 'G'
Si devuelve 0 es porque esa condición entonces es la que hace que no devuelva materias y es lo correcto.
Pero algo no me cierra. ¿Estas segura que las imágenes que enviaste del Periodo lectivo y de esas comisiones de la materia son de la misma base que estas probando estas consultas?
En la imagen del ABM de Periodos Lectivos, el nombre del periodo lectivo es 1° cuatrimestre.
En el ABM de Comisiones, el nombre del periodo lectivo es 1° CUATRIMESTRE
¿Tendras dos 1er cuatrimestre?
Si seguis con problemas, cambia el parametro filtro_materias_con_comision, para que no filtre las materias que no tienen comisiones. Y fijate si devuelve la materia. Igual es una solución que no soluciona el problema en si, porque te mostrará la materia pero luego no te mostrará la comision porque por lo que veo no hay comisiones vigentes.
Hay un solo periodo 1er cuatrimestre , no se porque lo muestra todo con mayuscula despues. Si efectivamente no encuentra la comision aunque esta creada, y aunque de de alta una comision nueva tampoco la reconoce…
Quizas lo de mayuscula es solo un tema de visualización, intente buscarlo pero no lo encontré.
En la imagen que enviaste hay 3 comisiones para esa materia, y de esas dos con inscripción habilitada.
Si cambias el parametro hará que no realice ese filtro y que recupere las materias. ¿Probaste?
Cambie el parametro, me muestra la materia pero despues me dice que no hay comisiones, porque para inscripcion a cursadas normal las recupera pero para fuera de termino no???
Pero la ultima imagen es de la “Inscripción a cursada”, es decir que requiere que exista un periodo de inscripción vigente; y es justamente lo que hiciste, con lo cual esta bien que aparezca la actividad y esas dos comisiones ahora en esta operación.
Si el período de inscripción lo cambias para que finalice alguna fecha anterior a hoy, entonces la actividad y estas dos comisiones no deberian visualizarse por la operacion “Inscripción a cursada” y si por la operación “Inscripción a cursada fuera de término”