Hola:
Cuando queremos generar generar acta de examen, nos tira error de conversion de “varchar a numerico”, version SIU-GUARANI 2.94. Lo pudimos solucionar de la siguiente forma, modificando el procedimiento original:
create procedure “dba”.sp_gen_nro_acta(p_unidad_academica LIKE sga_actas_examen.unidad_academica,
p_materia LIKE sga_actas_examen.materia ,
p_anio_academico LIKE sga_actas_examen.anio_academico ,
p_turno_examen LIKE sga_actas_examen.turno_examen ,
p_mesa_examen LIKE sga_actas_examen.mesa_examen ,
p_llamado LIKE sga_actas_examen.llamado ,
p_tipo_acta LIKE sga_actas_examen.tipo_acta,
p_libro LIKE sga_actas_examen.libro)
returning varchar(10);
begin
DEFINE acta LIKE sga_actas_examen.acta;
DEFINE nro_acta INT8;
– Selecciono el maximo nro de Acta
SELECT MAX(lpad(ae.acta, 10, ‘0’)) INTO acta
FROM sga_actas_examen ae
WHERE ae.unidad_academica = p_unidad_academica
AND ae.tipo_acta = p_tipo_acta
AND ae.acta < ‘A’
– INICIO – Se agrego pq generaba error de conversion de varchar a numerico
AND anio_academico IN (select MAX(anio_academico) FROM sga_actas_examen);
– FIN – Se agrego pq generaba error de conversion de varchar a numerico
IF acta IS NULL or acta = ‘’ THEN
LET nro_acta = 1;
ELSE
LET nro_acta = TRIM(acta);
LET nro_acta = nro_acta + 1;
END IF;
RETURN nro_acta;
end;
end procedure
;
El error que nos daba era:
“0011000R10”, como nro de acta.
Saludos!!!