Ocorrência:
O que fazer quando aparece a mensagem de MSRLOCK em um processo?
Ambiente:
Microsiga Protheus - a partir da versão 11.
Solução:
O controle de transação é uma ferramenta importante que garante a integridade de dados quando uma determinada operação é realizada no Banco de Dados.
O Protheus possui o parâmetro MV_TTS que quando ativado garante que este processo exista nos processos críticos de transação de arquivos. Detalhes: Controle de Transação - MV_TTS
As alternativas existentes quando da atualização de tabelas são :
Efetivar a transação - quando realizada com sucesso
Voltar a status anterior (rollback) - desfaz toda a transação iniciada quando o final da transação não foi concluído com sucesso. Isto garante a total integridade dos dados.
A mensagem "EOF Stack em MSRLOCK" indica que a rotina tentou reservar um registro para ser manipulado no processamento; mas o ponteiro da tabela estava em FIM DE ARQUIVO (MODO EOF) pois não localizou o dado procurado na Tabela.