Usina BRAdvPL Guia
Entrar
← Todos os tópicos
COMANDOEm revisão

BEGIN TRANSACTION ... END TRANSACTION

BEGIN TRANSACTION // ... END TRANSACTION

Agrupa gravações e controla o cancelamento de uma transação.

BEGIN TRANSACTION ... END TRANSACTIONAdvPL
01 · VISÃO GERAL

Visão geral

BEGIN TRANSACTION abre um escopo transacional; END TRANSACTION encerra esse escopo. Transações aninhadas não são commits independentes. DisarmTransaction desarma a transação até o nível externo e coloca o processamento em TTSBREAK: use Break para sair do trecho, percorrendo os encerramentos, antes de iniciar outra transação. O exemplo mostra somente esse desvio, sem gravações e sem pretender comprovar rollback de dados. A TOTVS também alerta contra envolver ExecAuto padrão em transações externas sem contrato específico da rotina. (TOTVS, s.d., refs. 1–2)

02 · SINTAXE

Sintaxe

BEGIN TRANSACTION
    // ...
END TRANSACTION

Retorno

Comando sem retorno; o resultado depende das operações e da transação externa.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"
User Function EdTrans()
    Local lValidado := .F.
    Begin Transaction
        If !lValidado
            // Sai antes de qualquer gravacao.
            DisarmTransaction()
            Break
        EndIf
    End Transaction
Return Nil
Resultado esperado

Encerra o caminho desarmado sem gravar. Rollback efetivo requer teste específico com tabelas próprias e operações conhecidas. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Manter transações curtas; não abrir diálogo enquanto mantém locks. Validar a rotina chamada e não adicionar transação externa indiscriminadamente.
  • 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. Controle de transações. TDN. Consulta em 2026-10-26.
  2. TOTVS. FINA460 / ExecAuto: Begin Transaction em fonte customizado. Central de Atendimento. Consulta em 2026-10-26.
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