Estimados… necesito de su ayuda
Cuando quiero generar el legajo de un alumno simplemente no lo hace y da error sin especificar nada mas.
Despues de varios debug creo que encontre el problema pero no se cual seria la mejor solucion… .
Simplemente el sp de creacion de legajos llama a muchos sp… entre los que estan este en el cual pongo el trace… en donde salta el problema… enviadole los parametros de input…
Este alumno tiene otras dos carreras y tengo una matriz de equivalencias en donde la materia origen tiene una escala de notas distinta a la que esta definida como materia comun de la materia destino que se la quiere dar por aprobada… La materia origen tiene una escala de notas 3 que tiene un aprobado y desaprobado… sin valor numerico.
En este caso particular el alumno reprobo la materia origen 2 veces y la 3ra. la aprobo… conclusion el select que creo que falla es:
SELECT max(sga_det_escala.nota)
INTO vNotaRetorno
FROM sga_det_escala
WHERE sga_det_escala.escala_notas = vEscalaRetorno
AND sga_det_escala.valor_numerico = vPromedioNumerico;
en donde abajo reemplazo por los valoores que tiene y obviamente da el error…
SELECT max(sga_det_escala.nota)
FROM sga_det_escala
WHERE sga_det_escala.escala_notas = 1
AND sga_det_escala.valor_numerico = NULL;
Si lo inicializo en cero a la variable vPromedioNumerico = 0 dentro del SP… (YA LO PROBE… fuanciono y no me dio el error), es decir cuando voy a ver la historia academica en la carrera dos… aparece la materia destino 3 veces… 2 con reprobado y el valor (cero) y la otra con la letra ‘A’, ESTO ESTARIA BIEN TECNICAMENTE.
Le agradezco su ayuda…
TRACE
execute function dba.sp_eq_nota_equiv[procid=872] ( pescalanotas = 3 , pnota = D , punidadacademica = EHU , pmateria = 00453 , ptipo = A )
let vnotaretorno = NULL.
let vescalaretorno = NULL.
expression:(or (null pnota), (null pescalanotas))
evaluates to f
expression:
(select sga_tipos_materia.escala_examen, sga_tipos_materia.escala_cursada
from sga_materias, sga_tipos_materia
where (and (and (= sga_materias.unidad_academica, punidadacademica), (= sga_materias.materia, pmateria)), (= sga_materias.tipo_de_materia, sga_tipos_materia.tipo_de_materia)))
evaluates to 1 ; 1 ;
let vescalaexamen = 1
let vescalacursada = 1
expression:(= ptipo, “C”)
evaluates to f
expression:(= ptipo, “A”)
evaluates to t
expression:vescalaexamen
evaluates to 1
let vescalaretorno = 1
expression:(= vescalaretorno, pescalanotas)
evaluates to f
expression:
(select sga_det_escala.valor_numerico
from sga_det_escala
where (and (= sga_det_escala.escala_notas, pescalanotas), (= sga_det_escala.nota, pnota)))
evaluates to NULL. ;
let vvalornumerico = NULL.
expression:
(select (max sga_det_escala.valor_numerico)
from sga_det_escala
where (and (= sga_det_escala.escala_notas, vescalaretorno), (<= sga_det_escala.valor_numerico, vvalornumerico)))
evaluates to NULL. ;
let vvaloranterior = NULL.
expression:
(select (min sga_det_escala.valor_numerico)
from sga_det_escala
where (and (= sga_det_escala.escala_notas, vescalaretorno), (>= sga_det_escala.valor_numerico, vvalornumerico)))
evaluates to NULL. ;
let vvalorposterior = NULL.
expression:(and (null vvaloranterior), (null vvalorposterior))
evaluates to t
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : handler FOUND
expression:errorinfo
evaluates to frfddfdxddxdxdxdxdx m m,
expression:isamerror
evaluates to 0
expression:sqlerr
evaluates to -696
raise exception :-696, 0, “”
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : no appropriate handler
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : handler FOUND
expression:errorinfo
evaluates to
expression:isamerror
evaluates to 0
expression:sqlerr
evaluates to -696
raise exception :-696, 0, “”
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : no appropriate handler
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : handler FOUND
expression:errorinfo
evaluates to
expression:isamerror
evaluates to 0
expression:sqlerr
evaluates to -696
raise exception :-696, 0, “”
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : no appropriate handler
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : handler FOUND
drop table tmp_equiv_todo;
expression:errorinfo
evaluates to
expression:isamerror
evaluates to 0
expression:sqlerr
evaluates to -696
raise exception :-696, 0, “”
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : no appropriate handler
exception : looking for handler
SQL error = -696 ISAM error = 0 error string = = “”
exception : handler FOUND
expression:(|| "Error: ", error_info)
evaluates to Error:
expression:isam_err
evaluates to 0
expression:sql_err
evaluates to -696
expression:leg
evaluates to EHU-1864
procedure sp_crear_alumno returns EHU-1864 , -696 , 0 , Error:
iteration of cursory procedure sp_crear_alumno