DisarmTransaction
DisarmTransaction()Solicita rollback e coloca a transação em TTSBREAK.
Visão geral
DisarmTransaction atua no conjunto protegido desde o primeiro BEGIN TRANSACTION, inclusive níveis aninhados. Após a chamada, o fluxo precisa sair por BREAK para depois do END TRANSACTION apropriado, ou finalizar a thread; não se pode abrir nova transação enquanto houver TTSBREAK. A TOTVS proíbe BeginTran/EndTran nesse controle Protheus. O fragmento ilustra uma falha em bloco próprio, sem gravação real. Ele não deve ser inserido numa transação emprestada sem entender os níveis externos. (TOTVS, s.d., ref. 1)
Sintaxe
DisarmTransaction()Retorno
Retorno não formalizado nesta fonte; o efeito relevante é transacional.
Exemplo comentado
#Include "Protheus.ch"
User Function Ed354()
// Demonstracao isolada: nao ha gravacao nem transacao externa.
BEGIN TRANSACTION
DisarmTransaction()
Break
END TRANSACTION
Return NilIlustra saída da transação desarmada sem persistência de negócio. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Não continuar processamentos que abram transações antes de atravessar todos os END TRANSACTION pendentes.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.