Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

SOFTLOCK()

SoftLock(cAlias)

Reserva um registro antes de confirmar sua manutenção.

SOFTLOCK()AdvPL
01 · VISÃO GERAL

Visão geral

A referência oficial descreve reserva do registro posicionado, sem obrigação de atualização, podendo preceder RecLock. Esse lock não passa pelo controle de transações nem é liberado pelas rotinas padrão de desbloqueio; o proprietário precisa de um caminho de liberação confirmado. O fluxo documentado usa RecLock seguido de MsUnlock, mas não cobre claramente cancelamento ou falha do RecLock. O exemplo comunitário também não verifica esse retorno; por isso não copiamos esse fluxo como implementação completa. (Fontes: refs. 1–2.)

02 · SINTAXE

Sintaxe

SoftLock(cAlias)

Parâmetros

cAlias
CaractereObrigatório

Alias aberto e registro já posicionado.

Retorno

O exemplo comunitário usa lógico; a ficha oficial consultada não apresenta tabela formal de retorno.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed668()
    // Bloco nao invocado: reservar exige posicionamento e liberacao garantidos.
    Local bReservar := {|cAlias| SoftLock(cAlias)}
    ConOut(ValType(bReservar))
Return Nil
Resultado esperado

Cria bloco B sem reservar registros nem deixar locks. 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 manter lock durante interação ou espera sem cancelamento controlado. Confirmar liberação nos caminhos de erro antes de homologar.
  • 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. SOFTLOCK. Reserva, controle de transação e liberação. Consulta em 2026-10-28.
  2. 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-28.
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