Regenerar una secuencia
Publicado por Daniel R (22 intervenciones) el 13/11/2002 16:53:11
Hey, tengo una aplicación que genera una secuencia pero resulta que
como parte de los requerimientos del usuario esta debe reiniciarse cada principio de mes en 1 nuevamente, yo escribi este procedimiento que efectivamente reinicia la secuencia a 1 pero cuando quiero seguir grabando mas documentos me sigue poniendo el 1 y no el 2 que seria el siguiente, a continuación pongo el código y talves me puedan dar una mano, gracias:
FUNCTION secuencia RETURN number IS
contador number(19);
correlativo number(19);
BEGIN
contador := 0;
:GLOBAL.valoractual := 1;
if :GLOBAL.correlativo > 0 then
if correlativo is not null then
contador := :GLOBAL.correlativo + 1;
else
:GLOBAL.valorsiguiente := :GLOBAL.correlativo + 1;
contador := :GLOBAL.valorsiguiente;
end if;
else
:GLOBAL.valorsiguiente := :GLOBAL.correlativo + 1;
contador := :GLOBAL.valorsiguiente;
end if;
return(contador);
END;
como parte de los requerimientos del usuario esta debe reiniciarse cada principio de mes en 1 nuevamente, yo escribi este procedimiento que efectivamente reinicia la secuencia a 1 pero cuando quiero seguir grabando mas documentos me sigue poniendo el 1 y no el 2 que seria el siguiente, a continuación pongo el código y talves me puedan dar una mano, gracias:
FUNCTION secuencia RETURN number IS
contador number(19);
correlativo number(19);
BEGIN
contador := 0;
:GLOBAL.valoractual := 1;
if :GLOBAL.correlativo > 0 then
if correlativo is not null then
contador := :GLOBAL.correlativo + 1;
else
:GLOBAL.valorsiguiente := :GLOBAL.correlativo + 1;
contador := :GLOBAL.valorsiguiente;
end if;
else
:GLOBAL.valorsiguiente := :GLOBAL.correlativo + 1;
contador := :GLOBAL.valorsiguiente;
end if;
return(contador);
END;
Valora esta pregunta
0