Usina BRGuía AdvPL
Ingresar
← Todos los temas
GUíA PRáCTICAEn revisión

Transacciones y rollback en Protheus

Delimita unidad de grabación y flujo de cancelación.

Transacciones y rollback en ProtheusAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

Guía oficial usa BEGIN/END TRANSACTION y prohíbe BeginTran/EndTran en ERP. DisarmTransaction revierte desde primer nivel abierto y entra en TTSBREAK; debe seguir Break o finalizar hilo según contrato. No abra nueva transacción antes de salir de todos los niveles pendientes. Laboratorio sin grabaciones rechaza transacción existente o TTSBREAK; demuestra flujo, no rollback de datos. FWInTTSBreak requiere LIB compatible posterior a 08022017. (Fuentes: refs. 1–1.)

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"

User Function Ed693()
    // Laboratorio aislado: no interferir en transacción del llamador.
    If InTransact() .Or. FWInTTSBreak()
        Return Nil
    EndIf
    Begin Transaction
        // Sin grabaciones: demostrar solo flujo de salida documentado.
        DisarmTransaction()
        Break
    End Transaction
    ConOut("Flujo finalizado")
Return Nil
Resultado esperado

Fuera de transacción y TTSBREAK recorre transacción vacía cancelada. No hay datos para revertir. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • Abra transacciones cerca de grabaciones. Evite input/red con bloqueos. Rollback de base no revierte correo ni API externa; planifique efectos separados.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. Controle de transações. DisarmTransaction, TTSBREAK e funções auxiliares. Consulta el 2026-10-28.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha