Controle Multiusuário
O que é?
O SIGER® é um software que permite diversas execuções simultâneas. Estas múltiplas execuções, distribuídas em diversas estações e usuários, compartilham a mesma base de dados.
Por isso é necessário executar um controle dos acessos à base de dados, para garantir a integridade das informações.
Em algumas situações se faz necessário bloquear informações até que a operação seja concluída, pois:
-
A informação não deve ser alterada até que se conclua a operação, pois destas informações depende a adequada execução da funcionalidade
-
A funcionalidade irá alterar a informação, portanto precisa mantê-la bloqueada até concluir a alteração
Exemplo:
Segue um exemplo de fácil compreensão.
Imagine duas execuções em dois computadores diferentes:
- Execução 1 = E1
- Execução 2 = E2
Neste exemplo, E1 inicia a funcionalidade de alteração do cadastro do cliente de código 100. Se a partir deste momento E2 tentar executar a mesma funcionalidade no cliente de código 100, receberá a mensagem de "Informações bloqueadas". Isto acontece porque a informação está prestes a ser modificada, sendo que E2 terá as informações atualizadas somente depois de E1 confirmar suas alterações. Assim que E1 finalizar a operação de alteração, as informações do cliente 100 serão liberadas para E2.
O controle multiusuário no SIGER®
Na maior parte do tempo as informações da base de dados do SIGER® estão sendo acessadas sem a necessidade de bloqueios, o que reduz a incidência de conflitos.
Além disso, o SIGER® procura liberar as informações dentro do menor tempo possível. Este tempo vai depender da funcionalidade que está sendo executada, ou do tempo em que um usuário vai ficar executando uma operação crítica (como uma alteração de um cadastro de cliente, como exemplificado acima).
Quando há a necessidade do bloqueio, é porque uma rotina mais crítica está sendo executada.
Ao encontrar uma informação bloqueada, o SIGER® emite uma mensagem indicando o ocorrido: Janela de "Informações bloqueadas".
Janela de "informações bloqueadas"
Esta janela alerta que alguma informação está bloqueada no momento. Antes de exibir esta janela, o SIGER® faz algumas tentativas de acesso durante um tempo. Por isso, na maioria das ocorrências de bloqueio esta janela nem chegará a ser exibida. Se for exibida, estima-se que em pouco tempo a informação será liberada, portanto é necessário acionar o botão <Tentar novamente>. OBS: A cada 5 segundos o SIGER® fará automaticamente uma tentativa, sendo que se a informação estiver liberada seguirá com o processamento normalmente.
A janela também contém o botão <Cancelar>, o qual se acionado vai encerrar as tentativas de acesso e não vai seguir com o processamento.
Serve para que a execução não fique "presa", sendo possível seguir com outra funcionalidade.
Ao cancelar, aparece a mensagem "Tente até liberar...". Por quê?
Existem situações em que a operação na base de dados não pode ser cancelada. São situações que exigem que a informação seja atualizada, sob pena de haver inconsistência na base de dados. Nestes casos, havendo informação bloqueada, é obrigatório aguardar a liberação da informação.
O que fazer quando a informação não é liberada?
Eventualmente pode ocorrer uma demora para liberação da informação. Nestes casos você deve procurar identificar qual a execução que está bloqueando a informação e verificar a causa do bloqueio. Uma vez identificada a execução, entrar em contato com o respectivo usuário no sentido de buscar a conclusão da operação e consequentemente o encerramento do bloqueio.
Uma forma de identificar a execução é acionar o botão <Sessões SIGER®> contido na janela de "Informações bloqueadas". Na consulta das sessões pode-se facilmente visualizar todas as execuções ativas do SIGER®, identificando cada usuário bem como o módulo/opção que cada um está executando no momento.