Tempo aproximado para leitura: 00:04:00 min
Ocorrência
ERRO THREAD (xxx, xxxxx) 28/05/2007 09:52:27 Stack :Update error - lock required - File: SX5990 in file
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.8
Causa
Quando uma aplicação AdvPL tenta realizar uma atribuição, REPLACE ou FieldPut() em qualquer campo de um determinado Alias, e o registro atualmente posicionado não estiver devidamente bloqueado pelo usuário atual para alteração (DBRLock(), MSRLock() e/ou RecLock()), a aplicação é finalizada com a mensagem de erro acima, onde é informado o arquivo a ser atualizado, e a linha do código-fonte onde houve a tentativa de atualização, seguinda da pilha de chamadas.
Solução
Para solucionar essa ocorrência, deve ser verificado o código-fonte que realiza a alteração do registro, para certificar-se que o registro posicionado para alteração realmente foi bloqueado para alteração. Na grande maioria dos casos, não foi verificado no código-fonte se houve sucesso na tentativa de bloqueio do registro para alteração.
Informações acionais
São boas práticas de programação, sempre ao fazer uma alteração de registro em uma tabela, utilizar ALIAS->CAMPO para fazer a atribuição, ou ainda a função FieldPut(). Não é boa prática fazer a atualização de um campo SEM utilizar o ALIAS.
Exemplo:
Ao invés de :
CAMPO := xConteudo
Utilize :
ALIAS->CAMPO := xConteudo
Saiba mais
Update error - lock required - File (...)
0 Comentários