BEGIN TRANSACTION ... END TRANSACTION
BEGIN TRANSACTION
// ...
END TRANSACTIONAgrupa grabaciones y controla cancelación de transacción.
Descripción general
BEGIN TRANSACTION abre ámbito transaccional; END TRANSACTION lo cierra. Transacciones anidadas no son commits independientes. DisarmTransaction desarma hasta nivel externo y establece TTSBREAK: usar Break para salir por cierres antes de iniciar otra transacción. Ejemplo solo muestra flujo sin grabaciones, no demuestra rollback de datos. TOTVS advierte contra envolver ExecAuto estándar en transacción externa sin contrato específico. (TOTVS, s.f., refs. 1–2)
Sintaxis
BEGIN TRANSACTION
// ...
END TRANSACTIONRetorno
Comando sin retorno; resultado depende de operaciones y transacción externa.
Ejemplo comentado
#Include "Protheus.ch"
User Function EdTrans()
Local lValidado := .F.
Begin Transaction
If !lValidado
// Sale antes de cualquier grabacion.
DisarmTransaction()
Break
EndIf
End Transaction
Return NilSale de ruta desarmada sin grabar. Rollback real requiere prueba específica con tablas propias y operaciones conocidas. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- Mantener transacciones cortas; evitar diálogos con locks. Comprobar contrato antes de agregar transacción externa.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.