El stored procedure sp_insccuralu es el siguiente y no encuentro donde decirle que muestre todas las inscripciones del alumno. Hay un sp_inscCursadas con
C mayuscula…
CREATE PROCEDURE “dba”.sp_insccuralu( pUA LIKE sga_alumnos.unidad_academica, pCarrera LIKE sga_alumnos.carrera, pLegajo LIKE sga_alumnos.legajo )
RETURNING varchar(5), varchar(10), varchar(30), varchar(30), varchar(5), varchar(255), varchar(15), varchar(5), integer, varchar(15), varchar(5), varchar(255), varchar(20), date, integer, varchar(20), varchar(20), varchar(15), varchar(10),integer, varchar(5), varchar(255);
– Descripcion del RETURN:
– varchar(5), – vc_UA
– varchar(10), – vc_NroInscripcion
– varchar(30), – vc_PersonaNombres
– varchar(30), – vc_PersonaApellido
– varchar(5), – vc_Carrera
– varchar(255), – vc_CarreraNombre
– varchar(15), – vc_Legajo
– varchar(5), – plan
– integer, – comision
– varchar(15), – comision nombre
– varchar(5), – vc_Materia
– varchar(255), – vc_MateriaNombre
– varchar(20), – calidad Insc
– date, – fecha Insc
– integer, – ano academico
– varchar(20), – periodo lectivo
– varchar(20), – estado
– varchar(15), – catedra nombre
– varchar(10); – Turno de la Comisión
– varchar(5) – sede
– varchar(255) – nombre sede
DEFINE vc_UA LIKE sga_personas.unidad_academica;
DEFINE vc_NroInscripcion LIKE sga_personas.nro_inscripcion;
DEFINE vc_PersonaNombres LIKE sga_personas.nombres;
DEFINE vc_PersonaApellido LIKE sga_personas.apellido;
DEFINE vc_Carrera LIKE sga_carreras.carrera;
DEFINE vc_CarreraNombre LIKE sga_carreras.nombre;
DEFINE vc_Legajo LIKE sga_alumnos.legajo;
DEFINE vc_Materia LIKE sga_materias.materia;
DEFINE vc_MateriaNombre LIKE sga_materias.nombre;
DEFINE vi_Comision LIKE sga_comisiones.comision;
DEFINE vc_Plan LIKE sga_alumnos.plan;
DEFINE vc_Calidad VARCHAR(20); --LIKE sga_insc_cursadas.calidad_insc;
DEFINE vd_Fecha LIKE sga_insc_cursadas.fecha_inscripcion;
DEFINE vc_PeriodoLectivo LIKE sga_comisiones.periodo_lectivo;
DEFINE vi_AnioAcademico LIKE sga_comisiones.anio_academico;
DEFINE vc_NroTransaccion LIKE sga_insc_cursadas.nro_transaccion;
DEFINE vc_Estado VARCHAR(20); --LIKE sga_insc_cursadas.estado;
DEFINE vc_ComisionNombre LIKE sga_comisiones.nombre;
DEFINE vc_CatedraNombre LIKE sga_comisiones.catedra;
DEFINE vc_MateriaNomRed LIKE sga_materias.nombre_reducido;
DEFINE vc_AlumnoNombre VARCHAR(100);
DEFINE vc_Interfaz LIKE par_interfaces.nombre;
DEFINE vc_Turno LIKE sga_comisiones.turno;
DEFINE vc_creditos LIKE sga_atrib_mat_plan.credito;
DEFINE vc_sede LIKE sga_sedes.sede;
DEFINE vc_nomsede LIKE sga_sedes.nombre;
BEGIN
– inicializaciones.
LET vc_UA = NULL;
LET vc_NroInscripcion = NULL;
LET vc_PersonaNombres = NULL;
LET vc_PersonaApellido = NULL;
LET vc_Carrera = NULL;
LET vc_CarreraNombre = NULL;
LET vc_Legajo = NULL;
LET vc_Materia = NULL;
LET vc_MateriaNombre = NULL;
LET vi_Comision = NULL;
LET vc_Plan = NULL;
LET vc_Calidad = NULL;
LET vd_Fecha = NULL;
LET vc_PeriodoLectivo = NULL;
LET vi_AnioAcademico = NULL;
LET vc_NroTransaccion = NULL;
LET vc_Estado = NULL;
LET vc_ComisionNombre = NULL;
LET vc_CatedraNombre = NULL;
LET vc_MateriaNomRed = NULL;
LET vc_Interfaz = NULL;
LET vc_Turno = NULL;
– datos de la persona.
SELECT nro_inscripcion
INTO vc_NroInscripcion
FROM sga_alumnos
WHERE unidad_academica = pUA
AND carrera = pCarrera
AND legajo = pLegajo ;
SELECT nombres, apellido
INTO vc_PersonaNombres, vc_PersonaApellido
FROM sga_personas
WHERE unidad_academica = pUA
AND nro_inscripcion = vc_NroInscripcion ;
– busco las materias en las que se inscribió.
FOREACH EXECUTE PROCEDURE sp_inscCursadas ( pUA, vc_NroInscripcion, ‘T’)
INTO vc_UA, vc_Carrera, vc_Legajo, vi_Comision, vc_Plan, vc_Materia, vc_Calidad, vd_Fecha, vc_PeriodoLectivo, vi_AnioAcademico, vc_NroTransaccion, vc_Estado, vc_ComisionNombre, vc_CatedraNombre, vc_CarreraNombre, vc_MateriaNombre, vc_AlumnoNombre, vc_Interfaz, vc_Turno,vc_creditos, vc_MateriaNomRed, vc_Sede, vc_NomSede
IF (vc_Carrera = pCarrera) AND (vc_Legajo = pLegajo) THEN
-- averiguo el nombre completo de la materia.
SELECT sga_atrib_mat_plan.nombre_materia
INTO vc_MateriaNombre
FROM sga_planes, sga_atrib_mat_plan
WHERE sga_planes.unidad_academica = vc_UA
AND sga_planes.carrera = vc_Carrera
AND sga_planes.plan = vc_Plan
AND sga_atrib_mat_plan.unidad_academica = sga_planes.unidad_academica
AND sga_atrib_mat_plan.carrera = sga_planes.carrera
AND sga_atrib_mat_plan.plan = sga_planes.plan
AND sga_atrib_mat_plan.version = sga_planes.version_actual
AND sga_atrib_mat_plan.materia = vc_Materia;
SELECT sga_comisiones.sede, sga_sedes.nombre
INTO vc_sede, vc_nomsede
FROM sga_comisiones, sga_sedes
WHERE sga_comisiones.comision = vi_Comision
AND sga_comisiones.sede = sga_sedes.sede;
-- devuelvo las filas del reporte.
RETURN vc_UA, vc_NroInscripcion, vc_PersonaNombres, vc_PersonaApellido, vc_Carrera, vc_CarreraNombre, vc_Legajo, vc_Plan, vi_Comision, vc_ComisionNombre, vc_Materia, vc_MateriaNombre, vc_Calidad, vd_Fecha, vi_AnioAcademico, vc_PeriodoLectivo, vc_Estado, vc_CatedraNombre, vc_Turno,vc_creditos, vc_sede, vc_nomsede WITH RESUME;
END IF;
END FOREACH;
END;
END PROCEDURE;“”