Destravando um Registro de um Alias/Tabela com MsUnLock em ADVPL

Tempo de leitura: 2 minutos

A função MsUnLock em ADVPL destrava um registro que foi travado para inclusão ou alteração com RecLock. Ela também é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL. 

 

Sintaxe:

MsUnLock()

 

Parâmetro(s):

Nenhum.

Observações:

  • 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. 

 

Exemplo da função MsUnLock em ADVPL:

//Bibliotecas
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
#include "TOTVS.CH"

/*/{Protheus.doc} fMsUnLoc
Exemplo da função MsUnLock em ADVPL
@type function
@author Adilio Costa
@since 13/01/2024
@version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do Protheus:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/

@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG

|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
/*/

User Function fMsUnLoc()
	
	//Usando RecLock para fazer Inclusão
	
	DBSelectArea("SA2")
	//Travando o registro com RecLock para inclusão
	RecLock("SA2",.T.)
		SA2->A2_FILIAL := xFilial("SA2") //Retorna a filial
		SA2->A2_COD := "100001"
		SA2->A2_LOJA := "01"
		SA2->A2_NOME := "PROTHEUSADVPL"
	//Confirma a operação e destrava o registro após a inclusão
	MsUnLock()
	

	//Usando RecLock para fazer Alteração

	DBSelectArea("SA2")
	SA2->(DBSetOrder(1)) //A2_FILIAL + A2_COD + A2_LOJA
	SA2->(DBSeek(xFilial("SA2")+"100001"+"01")) //Pesquisa pelo registro a ser alterad
	//Travando o registro com RecLock para alteração
	RecLock("SA2",.F.)
		SA2->A2_NREDUZ := "PROTHEUSADVPL CONSULTORIA E TREINAMENTOS LTDA."
	//Confirma a operação e destrava o registro após a alteração
	MsUnLock()

Return

 

 

É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus.

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.