Cambiar número de inscripción

Buen día gente, estamos necesitando cambiar el número de inscripción y por lo que averiguamos el SP encargado de generar dicho número es el siguiente, sp_nro_inscripcion, por lo tanto insertando el cambio en el mismo bastaría.

Pero mi pregunta es la siguiente, lo que queremos hacer es que el número sea el año actual + serial y la tabla en donde impacta el número (inscripciones) está definido el campo de número como SERIAL, existe algún problema a posteriori si se cambia la definición de esta tabla? el SP mencionado es el que hay que modificar?

Como siempre muchas gracias y espero sus respuestas!
Saludos

Si, hay que modificar ese SP.

La tabla inscripcion solo lleva un registro de los numeros seriales que fue asignando.

Lo que no podrás hacer usando esa tabla es tener un número que comience en 1 cada año, pero perfectamente podes generar un numero de inscripción concatenando el año y el número serial.

Saludos

Gustavo

Gustavo, gracias por tu respuesta. Ahora me queda una duda, si yo tengo que concatenar el año al serial, entonces tengo que cambiar la definición del campo en la tabla?

Saludos

Hola Javier

O no usar esa tabla y calcularlos sobre el último numero de inscripcion generado.

Emilio

Emilio, si no se llena la tabla inscripciones no hay problemas? o sea se manda el valor al campo nro_inscripcion de la tabla sga_personas y listo?

Muchas gracias

No.
Podés generar el ese código como quieras.

Emilio

Ese código como dice Emilio lo podés generar como quieras. Podés usar el serial de la tabla y concatenarle algo, o podés no usar esa tabla y generarlo de alguna otra manera, por ejemplo con la función MAX sobre la parte numérica del nro_inscripción, o la parte numerica de los nros de inscripción de ese año.

Eso es todo de acuerdo con como quieran generar ese número.

Por lo que vos decís, yo sólo concatenaría el año, antecediendo con el año al número serial.

Saludos

Gustavo

Aclarado!

Emilio / Gustavo Muchas gracias.

Hola Javier,

Proba con esto

drop procedure sp_nro_inscripcionPru;
create procedure sp_nro_inscripcionPru(unidad_academica LIKE sga_unidades_acad.unidad_academica) returning varchar(10);
define i integer;
begin work;
insert into inscripcion values(unidad_academica,0);
let i = DBINFO(“sqlca.sqlerrd1”);
commit work;

return to_char(year(today))|| ‘-’ || i;
end procedure
;

Si el anio academico lo que queres vas a tener que hacer el select de sobre sga_anio_academico
Renombralo al sp.

Saludos.
carla.

Gracias Carla, lo vamos a tener en cuenta!