Hice lo siguiente:
corri el SP de nuevo y anduvo!
La unica conclusión que saco es que en una version anterior este SP tenia ese error y luego se corrigió. Y por alguna razón la conversión de la base de datos no lo reemplazó.
Puede ser?
SALUDOS
Hice lo siguiente:
corri el SP de nuevo y anduvo!
La unica conclusión que saco es que en una version anterior este SP tenia ese error y luego se corrigió. Y por alguna razón la conversión de la base de datos no lo reemplazó.
Puede ser?
SALUDOS
Hola Martin
Fijate en alguna exportación de la base, que tenías antes.
Emilio
Hola Emilio,
ahi me fije y esta distinto, hace un DECODE del tipo de mesa de examen y toma eso como mesa de examen, en este caso hacia: ‘R’ then “Regular”. La verdad muy raro que este así, porque si yo le ponia cualquier otro nombre, suponete MESA DE REGULARES, menos iba a coincidir. De que versión será eso?
Te transcribo el SP como estaba:
SALUDOS
CREATE PROCEDURE “dba”.sp_inscexam(
pUnidadAcademica LIKE sga_insc_examen.unidad_academica,
pNroInscripcion LIKE sga_personas.nro_inscripcion)
RETURNING varchar(5), – unidad academica
varchar(5), -- carrera
varchar(15), -- legajo
varchar(5), -- materia
char(19), -- fecha y hora de Insc (datetime year to second)
integer, -- anio academico
varchar(20), -- turno examen
integer, -- llamado
varchar(15), -- mesa examen
char(1), -- tipo insc
char(1), -- estado
char(1), -- equiv Parcial
varchar(5), -- materia generica
varchar(15), -- catedra
char(1), -- admite libres
varchar(5), -- grupo carrera
char(10), -- dia del prestamo del aula
char(8), -- hora del prestamo del aula
varchar(255), -- docentes de una mesa
varchar(100), -- materia nombre reducido
varchar(8), -- tipoInsc nombre
varchar(10), -- estado nombre
varchar(30), -- Nombre Carrera Reducido
varchar(70), -- Apellido + Nombre Alumno
varchar(20), -- Nro transaccion
varchar(255), -- materia nombre completo
varchar(5), -- sede
varchar(255); -- Nombre sede
– variables utilizadas.
DEFINE vcCarNomReducido varchar(30);
DEFINE vcUnidadAcademica LIKE sga_insc_examen.unidad_academica;
DEFINE vcCarrera LIKE sga_insc_examen.carrera;
DEFINE vcLegajo LIKE sga_insc_examen.legajo;
DEFINE vcMateria LIKE sga_insc_examen.materia;
DEFINE dFecHoraInsc char(19);
DEFINE vcMateria_aux LIKE sga_insc_examen.materia;
DEFINE iAnioAcademico_aux, iAnioAcademico LIKE sga_insc_examen.anio_academico;
DEFINE vcTurnoExamen_aux, vcTurnoExamen LIKE sga_insc_examen.turno_examen;
DEFINE vcMesaExamen_aux, vcMesaExamen LIKE sga_insc_examen.mesa_examen;
DEFINE iLlamado_aux LIKE sga_insc_examen.llamado;
DEFINE iLlamado LIKE sga_insc_examen.llamado;
DEFINE cTipoInsc LIKE sga_insc_examen.tipo_inscripcion;
DEFINE cEstado LIKE sga_insc_examen.estado;
DEFINE cEquivParcial LIKE sga_insc_examen.equiv_parcial;
DEFINE vcMatGenerica LIKE sga_insc_examen.materia_generica;
DEFINE vcCatedra LIKE sga_mesas_examen.catedra;
DEFINE cAdmiteLibres LIKE sga_mesas_examen.admite_libres;
DEFINE vcGrupoCarrera LIKE sga_mesas_examen.grupo_carrera;
DEFINE iLlamadoMesa LIKE sga_llamados_mesa.llamado;
DEFINE dFecInicioInscMesa LIKE sga_fec_insc_llam.fecha_inicio;
DEFINE dFecFinInscMesa LIKE sga_fec_insc_llam.fecha_fin;
DEFINE hHoraInicioPrest char(8);
DEFINE dFecPrest char(10);
DEFINE vcDocentesMesa varchar(255);
DEFINE vcMateriaNombre LIKE sga_atrib_mat_plan.nombre_materia;
DEFINE vcMateriaNombreRed LIKE sga_atrib_mat_plan.nombre_reducido;
DEFINE vcTipoInscNombre varchar(8);
DEFINE vcEstadoNombre varchar(10);
DEFINE vcNombreAlumno varchar(70);
DEFINE vcNroTrans LIKE sga_insc_examen.nro_transaccion;
DEFINE vcSede LIKE sga_sedes.sede;
DEFINE vcNombreSede LIKE sga_sedes.nombre;
BEGIN
LET vcMateria_aux = ‘’;
LET iAnioAcademico_aux = ‘’;
LET vcTurnoExamen_aux = ‘’;
LET vcMesaExamen_aux = ‘’;
LET iLlamado_aux = 0;
– Nombre del Alumno
LET vcNombreAlumno = ‘’;
SELECT TRIM(sga_personas.apellido) || ’ ’ || TRIM(sga_personas.nombres) INTO vcNombreAlumno
FROM sga_personas
WHERE sga_personas.unidad_academica = pUnidadAcademica
AND sga_personas.nro_inscripcion = pNroInscripcion;
– recupera las inscripciones a los examenes
FOREACH
SELECT DISTINCT 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,
DECODE(ie.tipo_inscripcion, "R", "Regular", "O", "Libre", "E", "Libre") mesa_examen,
DECODE(ie.tipo_inscripcion, "R", "Regular", "O", "Libre", "E", "Libre"),
ie.estado,
ie.equiv_parcial,
ie.materia_generica,
me.catedra,
DECODE(me.admite_libres, "R", "Regular", "O", "Libre", "E", "Libre"),
me.grupo_carrera,
sp_time_string(p.hora_inicio) as hora_exa,
sp_date_string(p.fecha) as fecha_exa,
amp.nombre_reducido,
DECODE(sga_tipos_mesa.desc_tipo_insc, "Libre Escr", "Libre", "Libre Oral", "Libre", "Regular", "Regular"),
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
ORDER BY fecha_exa, ie.anio_academico, ie.turno_examen, ie.llamado, ie.materia, fecha_insc
– DECODE(ie.tipo_inscripcion, ‘R’, ‘Regular’, ‘L’, ‘Libre’, ‘Regular’),
– to_char(p.hora_inicio,“%H:%M”),
– sga_fec_insc_llam llfeinsc,
– AND llfeinsc.anio_academico = llm.anio_academico
– AND llfeinsc.turno_examen = llm.turno_examen
– AND llfeinsc.llamado = llm.llamado
– AND TODAY BETWEEN llfeinsc.fecha_inicio AND llfeinsc.fecha_fin
– AND TODAY <= p.fecha prestamo
-- Recupero los Docentes de una Mesa
IF ( vcMateria <> vcMateria_aux OR
iAnioAcademico <> iAnioAcademico_aux OR
vcTurnoExamen <> vcTurnoExamen_aux OR
vcMesaExamen <> vcMesaExamen_aux OR
iLlamado <> iLlamado_aux ) THEN
-- Saco los docentes de la Mesa
LET vcMateria_aux = vcMateria;
LET iAnioAcademico_aux = iAnioAcademico;
LET vcTurnoExamen_aux = vcTurnoExamen;
LET vcMesaExamen_aux = vcMesaExamen;
LET iLlamado_aux = iLlamado;
LET vcDocentesMesa = sp_doc_una_mesa(pUnidadAcademica, vcMateria, iAnioAcademico, vcTurnoExamen, vcMesaExamen, iLlamado);
END IF;
-- si no encontro nada, devuelve nulos
RETURN vcUnidadAcademica, vcCarrera, vcLegajo, vcMateria,
dFecHoraInsc, iAnioAcademico, vcTurnoExamen, iLlamado, vcMesaExamen,
cTipoInsc, cEstado,cEquivParcial, vcMatGenerica, vcCatedra,
cAdmiteLibres, vcGrupoCarrera, dFecPrest, hHoraInicioPrest, vcDocentesMesa,
vcMateriaNombreRed, vcTipoInscNombre, vcEstadoNombre, vcCarNomReducido, vcNombreAlumno, vcNroTrans, vcMateriaNombre, vcSede, vcNombreSede WITH RESUME;
END FOREACH ;
END;
END PROCEDURE
;