Gerenciador de sequencias

Índice

Sequências

SEQUENCE.CAD_SEQUENCES

Descrição

Manutenção das sequências que poderão ser utilizadas pelo sistema.

Sempre que um componente do sistema tentar consumir uma sequência que ainda não foi criada, o gerenciador cria esta sequência automaticamente. Sequências criadas automaticamente não tem cache (atributo cache é preenchido com "1") e não são replicadas (o que pode ser um problema para o caso da respectiva tabela estar configurada para replicação).

ATENÇÃO
  • DEVE-SE TOMAR MUITO CUIDADO AO ALTERAR UMA SEQUÊNCIA EM AMBIENTE QUE ESTEJA EM USO, POIS ISSO PODE CAUSAR COMPORTAMENTOS INESPERADOS COM O CONSUMO DAS MESMAS.
  • SUGERE-SE QUE ESTE TIPO DE MANUTENÇÃO SEJA FEITA COM O SISTEMA OFFLINE.
  • SUGERE-SE REINICIAR O SERVIDOR APÓS ALTERAÇÕES NAS SEQUÊNCIAS PARA GARANTIR QUE NENHUM CACHE POSSA GERAR ALGUM COMPORTAMENTO ANORMAL NO CONSUMO DE SEQUÊNCIAS OU REPLICAÇÃO DE DADOS.

Campos:

Nome usado para identificar a sequência.
Indica se o consumo dos números deve ser realizado de forma aleatória.
Informa quem utiliza esta sequência. Deve-se informar o nome global dos atributos. O valor "*" indica que a sequência é usada como ID de entidades.
Esta informação permite que um utilitário teste a base de dados para verificar qual foi o último valor gerado.
Ex:
  • *
  • ATIVIDADES.ATIVIDADE
  • PEDIDO.NUMERO_PEDIDO
  • AMOSTRAS.NUMERO
Próximo número que será utilizado pela sequencia conforme registrado em cache de memória.
Quando o valor está em branco, significa que esta sequencia não está no cache de memória.
Quando este valor está maior que o valor máximo, significa que ao tentar consumi-lo, o sistema irá buscar uma nova sequencia para o cache.
Final do cache em memória.
Próximo número a ser consumido pela sequência.
Ex:
  • 28371323
  • 101
  • 70
  • 2930
Quando maior que 0, indica que esta sequência tem um valor limite estipulado. Quando alcançado, a sequência é automaticamente passada para o próximo range informado nos atributos "Next range min value" e "Next range max value". Caso o próximo range não tenha sido programado, então função que precisar de um número irá gerar um erro.
Indica quantos números de sequência devem ser mantidos em memória. Quanto maior o número informado, melhor a performance de busca da sequência, mas maior o número de perdas de valores no caso de reinício do ambiente (cache dos valores em memória).
Caso seja informado "1", então o cache será desabilitado.
Ex:
  • 100
  • 1
  • 10
Quando informado, indica o valor que inicia o próximo range para esta sequência.
Quando informado indica o valor máximo para o próximo range.
Este atributo é utilizado apenas em ambientes com replicação. Ele indica o tamanho do range que deve ser administrado localmente. Sugere-se informar a estimativa de uso de sequências pelo servidor e por todos os servidores que estão abaixo dele na topologia de replicação pelo prazo de 1 semana. 0 (zero) indica que a sequência não será replicada.
Ex:
  • 1000
  • 10000
  • 50
  • 250000
Apresenta o número de sequencias disponíveis. Para sequencias normais, este número é calculado pela diferença entre o próximo valor e o valor máximo. Para sequencias aleatórias, este número é calculado pela quantidade de números gerados que ainda não foram consumidos.
Domínio primitivo para representar/implementar atributos de números inteiros muitos grandes.
Valores entre -9223372036854775808 e 9223372036854775807
(quase 10.000 quatrilhões)

Para a formatação, obedece aos padrões de números inteiros da classe java.text.DecimalFormat do Java.
Domínio primitivo para representar/implementar atributos de números inteiros muitos grandes.
Valores entre -9223372036854775808 e 9223372036854775807
(quase 10.000 quatrilhões)

Para a formatação, obedece aos padrões de números inteiros da classe java.text.DecimalFormat do Java.

Operações

Topo

Pesquisar

Ao pesquisar, o usuário poderá informar critérios de filtro para listar apenas os registros desejados. Normalmente depois de informar os filtros desejados, o usuário deverá executar a operação [b:Listar].
Obtenha maiores detalhes em Como utilizar a tela de pesquisa?.
Topo

Listar

Apresenta uma lista com os registros que atendem aos filtros informados.
A lista possui diversos recursos práticos e importantes para o usuário:
Não*283713231001000
SimATIVIDADES.ATIVIDADE101110000
NãoPEDIDO.NUMERO_PEDIDO701050
SimAMOSTRAS.NUMERO2930100250000
Comportamento:Topo

Novo

Permite criar novos registros no sistema. Ao ser executado, o sistema apresenta um formulário com todos os campos do registro que deverão ser preenchidos. Quando todos os campos desejados estiverem preenchidos, clique em [b:Salvar].
Comportamento:Topo

Alterar

A partir da tela de consulta de um registro, esta operação permite alterar os dados do mesmo.
O sistema abre um formulário com os campos editáveis. Após alterar os campos, o usuário deverá clicar em [b:Salvar].
Comportamento:Topo

Alterar Next value

Permite alterar o próximo valor para a sequencia.
Topo

Excluir

Exclui o registro selecionado. A exclusão do registro pode ser disparada a partir da tela de consulta e/ou de manutenção do mesmo.
O registro somente será excluído se todas as condições necessárias forem encontradas, gerando um erro, caso alguma destas condições não estiver sendo atendida.
Topo

Pesquisar base

Ao executar esta ação, o sistema verifica nos dados quais os números efetivamente utilizados.
Com isso, o administrador do sistema poderia reconfigurar a sequencia para ser reiniciada em algum valor específico, em especial, após cargas de dados legados contendo números já populados.
Topo

Gerar numeros

Gera números para sequencias aleatórias.
Comportamento:Topo

Consumir

Consome um número da sequencia a apresenta na tela.
Topo

Consultar

A consulta de um registro é realizada quando o usuário clica no primeiro link de um dos registros resultantes a operação [b:Listar]. A tela apresenta as informações detalhadas do registro, bem como as ações que o usuário pode disparar a partir dele (alterar, excluir, cancelar, etc.).
Comportamento:Topo

Importar

Funcionalidade que permite importar dados para o bloco desejado.
Topo

Exportar

Funcionalidade que permite exportar os dados de um bloco.
Não*283713231001000
SimATIVIDADES.ATIVIDADE101110000
NãoPEDIDO.NUMERO_PEDIDO701050
SimAMOSTRAS.NUMERO2930100250000

Regras

Atualizar gerenciadores em memória

Sinaliza os gerenciadores em memória de que a sequence foi alterada.
Eventos que disparam esta regra:
  • Depois de alterar formulário "Alterar"

Calcular maior número já usado

Verifica o maior número já utilizado na sequencia.
Eventos que disparam esta regra:
  • Antes de apresentar uma tela formulário "Gerar numeros"

Calcular números disponíveis

Calcula a quantidade de números disponíveis. Para sequencias normais, corresponde a diferença entre o MAX e o próximo valor. Para sequencias aleatórias, corresponde a quantidade de números não consumidos.
Eventos que disparam esta regra:
  • Antes de apresentar uma tela formulário "Alterar"
  • Antes de apresentar uma tela formulário "Consultar"

Popular valor corrente

Lê do SequenceManager em uso, qual o último valor utilizado. Este valor é lido do cache.
Eventos que disparam esta regra:
  • Antes de apresentar cada registro formulário "Consultar"
  • Antes de apresentar cada registro formulário "Listar"

Tratar a visibilidade dos campos

Para sequencias "Random", apresentar a faixa já consumida e a quantidade de números disponíveis. Para as demais sequencias, apresentar todos os outros campos.
Eventos que disparam esta regra:
  • Antes de apresentar uma tela formulário "Alterar"
  • Antes de apresentar uma tela formulário "Consultar"
  • Ao alterar campo "Random" do formulário "Alterar"
  • Ao alterar campo "Random" do formulário "Novo"

Veja também