error generar nro acta de examen

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!!!

Hola Pablo, el proceso de generación de números de actas son personalizables.
Del SIU sale con un formato que considera que el número de acta de examen (en este caso) es numérico con lo cual el proceso como esta no debería dar error. Pero si cambian la lógica en la generación del número de acta (veo que tiene una letra el número de acta) deben personalizarlo como es lo que hicieron .

ok!Muchas gracias!!!