Sintaxe

MSUNLOCK( )

Descrição

Libera o travamento / bloqueio (lock) do registro posicionado no alias corrente, obtido através da função RecLock()

Argumentos

Nenhum.

Utilização

Para inserir um novo registro ou alterar o conteúdo dos campos de um registro de um arquivo de dados, é necessário travar (reservar) o registro. Para isso, utiliza-se a função RECLOCK(). Após a atualização, é necessário chamar a função MSUNLOCK(), para indicar o final da operação (inclusão ou alteração),  e consequentemente liberar o bloqueio exclusivo do regisrtro. 

Caso o bloqueio do registro tenha sido obtido durante uma transação explícita – iniciada pelo comando BEGIN TRANSACTION – o bloqueio do registro somente será realmente liberado no final da transação. Porém, a instrução MSUnlock() deve ser chamada mesmo assim, para indicar o final da operação e internamente fazer a atualização dos valores atuais no registro da tabela. 


Exemplo:

dbSelectArea(“SA1”)
dbSetOrder(1)      // A1_FILIAL + A1_COD + A1_LOJA
If dbSeek( xFilial(“SA1”) + “900001” + “01”)     // Busca exata
          RECLOCK(“SA1”, .F.) // BLoqueia o registro para alteração
          SA1->A1_NOME := “MARCOS AURELIUS TERCEIRUS”
          SA1->A1_NREDUZ := “MARCOS AURELIUS”
          MSUNLOCK()     // Destrava o registro
EndIf


Funções relacionadas:

RecLock()