Árvore de páginas

O registro encontra-se bloqueado por outro usuário

Produto:

Microsiga Protheus®

Ambiente:SIGAFAT - Faturamento

Ocorrência:

Atenção: O registro número X do Arquivo X encontra-se Bloqueado por outro usuário.

Processo:

A mensagem "O registro número X do Arquivo X encontra-se Bloqueado por outro usuário" indica que a rotina tentou acessar um registro, porém ele está reservado por algum processamento de outro usuário:

Esta mensagem pode ser apresentada nas situações abaixo:


1º Registro Bloqueado por uso de outro Usuário / instância presa

Para identificar se outro usuário está utilizando esse registro é possível analisar a ferramenta DBACCESS Monitor (DBAccess - Monitor > Aba Usuários > Locks), ela possui uma opção de rastrear os locks a partir do usuário e rotina acessados:


Importante

  • Caso o registro esteja travado, ou seja, o usuário que está mantendo o registro em Lock não consegue liberar o registro, mesmo saindo do sistema, uma opção paliativa rápida é reiniciar o servidor (parando os serviços do TOP, Banco de dados e Server).
  • Em algumas situações, a reserva de registros pode ocorrer devido a utilização de serviços que ficam executando operações em seu ambiente (JOBs), neste caso recomendamos que desative esses serviços e refaça os testes verificando se eles são os causadores do incidente.
  • Dentro do processo de Faturamento, uma forma para trabalhar o uso da tabela SB2 e evitar seu travamento é efetuar a atualização do estoque posterior a geração da nota com a opção de atualização de estoque tardia através de JOB, maiores informações, acesse: MP - FAT - Atualização de Estoque tardia na geração da NF de Saída MV_NFS_JOB 


2º Configuração de Parâmetros que auxiliam na reserva de registros

  • MV_GNRENF: Caso esteja desabilitado, recomendamos habilita-lo (.T.), para não exibir a tela para alteração dos dados da GNRE/DIFAL (https://tdn.totvs.com/x/FvIGDg);
  • MV_FATTRAV: O parâmetro MV_FATTRAV otimiza os Locks de registros das tabelas SA1 (Clientes), SA2 (Fornecedores) e SB2 (Saldos). Por exemplo, na emissão de um Documento de Saída, com dez itens, o MV_FATTRAV vazio, o sistema realizou 28 Locks na transação. Ao configurar o MV_FATTRAV como 4, o número de Locks cai para 19.


Customizações / Personalizações em seu ambiente.

    • Personalização por Ponto de Entrada:
      Algumas personalizações utilizam os comandos dbSeek, MsSeek, dbGoTo, etc, que desposicionam os registros de tabelas utilizadas nas rotinas do produto padrão causando o problema de "EOF Stack em MSRLock". Para este caso recomendamos que utilize um RPO limpo sem customizações para verificar se o problema é causado por alguma personalização.


    • Personalização por Dicionário de Dados:
      Verificar se há customizações na Estrutura do Protheus, como por exemplo, Índices (SIX) ou gatilhos (SX7).
      Realizar backup dos arquivos na Pasta System e recriar com um dicionário de dados padrão a atualizado. Refazer o processo.


Importante

Existem pontos de entrada que permitem a manutenção dos Locks nas tabelas SA1 (Clientes), SA2 (Fornecedores) e SB2 (Saldos):

Porém o uso dos pontos de entrada acima deve ser avaliado criteriosamente por um analista especialista, uma vez que o mau uso deles pode ocasionar em problemas de gravação das informações no banco de dados. Caso tenha dúvidas no uso dos pontos de entrada, solicite a alocação de um Consultor TOTVS ao seu Gerente de Atendimento.


Pode lhe Interessar:

EOF Stack de chamadas em MSRLOCK.eof Controle de transaçoes Habilitado: https://tdn.totvs.com/x/vZgKDg

Locks de tabelas na Preparação do Documento de Saída: https://tdn.totvs.com/x/z6SSJQ