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: