Histórico da Página
...
En el Microsiga Protheus existen dos maneras de controlar la numeración automática de las tablas. La primera es por medio del conjunto de tablas SXE y SXF que se presentarán aquí. La segunda manera es por medio del License Server, donde el control por completo queda a cargo del license.
En el sistema, al pedir un número con la función GetSXENUM el sistema seguirá el siguiente flujo:
Inicio
Solicita número para una clave
SíNoNoSíCrea y reserva el registro ¿Para la clave solicitada existe registro disponible en la tabla SXF, con el valor de la XE_NUMERO, y actualiza la XE_NUMERO con el siguiente número.Reserva el registro encontrado con la numeración en la SXF y retorna el número mantenido por ella.SXF?¿Existe registro en la SXE?Inserta la numeración en la SXF basada en la última ocurrencia de la clave en la tabla, incrementado de 1 y reserva este registro, en la SXE inserta el siguiente número libre.¿Existe registro en la SXE?¿Para la clave solicitada existe registro disponible en la SXF?FIN Reserva el registro encontrado con la numeración en la SXF y retorna el número mantenido por ella.Crea y reserva el registro en la tabla SXF, con el valor de la XE_NUMERO, y actualiza la XE_NUMERO con el siguiente número.FINInicio
SíNoNoSí Al confirmar la reserva con la función ConfirmSX8:
Ubica InicioUbica el registro en la tabla SXF correspondiente al último GetSxeNum efectuado y borra el mismo.InicioFIN FIN
Al confirmar la reserva con la función RollBackSx8:
FINInicioUbica InicioUbica el registro en la tabla SXF correspondiente al último GetSxeNum eliminando la reserva en la tabla SXF, lo que hace que el número quede disponible.FIN
Tabla SXE
Campos | Tipo | Descripción |
XE_FILIAL | Carácter | Sucursal del sistema |
XE_ALIAS | Carácter | Alias del sistema, también puede tener una combinación de campos. |
XE_TAMANHO | Numérico | Tamaño de la Clave. |
XE_NUMERO | Carácter | Número siguiente que se devolverá si no hay registro libre en la SXF. |
|
|
|
...