Usina BRAdvPL Guia
Entrar
← Todos os tópicos
GUIA PRÁTICOEm revisão

RecLock e MsUnlock em cadastros introdutórios

Confere o bloqueio antes de alterar um registro.

RecLock e MsUnlock em cadastros introdutóriosAdvPL
01 · VISÃO GERAL

Visão geral

RecLock com .F. tenta bloquear o registro corrente; com .T. inicia inclusão. Só atribua campos após retorno .T. e finalize a operação com MsUnlock no mesmo alias. Um cursor SQL ou alias somente leitura não pode receber esse fluxo. Em transação explícita, MsUnlock deve ser chamado, mas o lock pode continuar até o fim da transação. O exemplo mostra apenas um ciclo de alteração sem atribuições, em ZZ1 de laboratório já aberta e posicionada; não é um cadastro completo. Para tabelas padrão, prefira a rotina automática ou modelo que execute as regras do produto. (Fontes: refs. 1–3.)

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed613()
    // Executar apenas em ZZ1 de laboratorio, aberta e posicionada.
    If Select("ZZ1") > 0
        If !ZZ1->(Eof())
            If RecLock("ZZ1",.F.)
                // Atribuicoes validadas seriam feitas aqui.
                ZZ1->(MsUnlock())
            EndIf
        EndIf
    EndIf
Return Nil
Resultado esperado

Se as precondições forem atendidas, tenta bloquear e finalizar sem alterar campos. Em falha de lock não escreve. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Não use SoftLock como prova de que RecLock teve sucesso. Planeje erros e restauração sem desbloquear recursos alheios.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. RecLock. Consulta em 2026-10-27.
  2. TOTVS. MsUnlock e transações. Consulta em 2026-10-27.
  3. Atilio. dan-atilio/AdvPL. Maratona de Exemplos/Exemplo_365_Funcoes_MsUnlock_RecLock_e_SoftLock.prw. Arquivo completo consultado; adaptação editorial. Consulta em 2026-10-27.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha