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

Inclusão, alteração, exclusão lógica e gravação de registros

RecLock(cAlias,lAdd) → campos → MsUnlock(); DBDelete()

Distingue bloqueio, alteração de campos e exclusão lógica.

Inclusão, alteração, exclusão lógica e gravação de registrosAdvPL
01 · VISÃO GERAL

Visão geral

RecLock(alias,.T.) inicia inclusão e .F. tenta bloquear o registro posicionado para alteração; verificar retorno antes de escrever. MsUnlock finaliza o bloqueio, mas não equivale sozinho a uma transação de negócio com várias tabelas. DBDelete marca exclusão lógica e não remove fisicamente. O exemplo usa tabela temporária própria, sem cadastros de produção. O código comunitário referenciado contém mensagens dentro de transação e chamadas sem verificar RecLock; essas partes não são reproduzidas. (Fontes: refs. 1–3.)

02 · SINTAXE

Sintaxe

RecLock(cAlias,lAdd) → campos → MsUnlock(); DBDelete()
03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed485()
    Local oTmp := FWTemporaryTable():New(GetNextAlias(),{{"ED_TEXT","C",20,0}})
    Local cAlias
    // Somente tabela temporaria de teste.
    oTmp:Create()
    cAlias := oTmp:GetAlias()
    If RecLock(cAlias,.T.)
        (cAlias)->ED_TEXT := "ED01"
        (cAlias)->(MsUnlock())
    EndIf
    (cAlias)->(DbGoTop())
    If !(cAlias)->(Eof())
        If RecLock(cAlias,.F.)
            (cAlias)->ED_TEXT := "ED02"
            (cAlias)->(DbDelete())
            (cAlias)->(MsUnlock())
        EndIf
    EndIf
    oTmp:Delete()
    FreeObj(oTmp)
Return Nil
Resultado esperado

Demonstra inclusão, alteração e marca de exclusão na temporária, depois remove a tabela própria. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Preferir rotinas de negócio e MVC para cadastros reais. Prever tratamento de falhas, limpeza e concorrência.
  • 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. TDN. Consulta em 2026-10-27.
  2. TOTVS. FWTemporaryTable. TDN. Consulta em 2026-10-27.
  3. Daniel Atilio. zGravacao.prw; commit 7d275a7. 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