RecLock y MsUnlock en mantenimiento introductorio
Comprueba bloqueo antes de modificar registro.
Descripción general
RecLock con .F. bloquea registro actual; .T. inicia inclusión. Asigne campos solo tras .T. y finalice con MsUnlock en mismo alias. Cursor SQL y alias de solo lectura no admiten flujo. En transacción explícita debe llamar MsUnlock aunque bloqueo persista hasta final. El ejemplo solo muestra ciclo sin asignaciones en ZZ1 de pruebas abierta y posicionada, no un alta completo. En tablas estándar prefiera rutina automática o modelo. (Fuentes: refs. 1–3.)
Ejemplo comentado
#Include "Protheus.ch"
User Function Ed613()
// Ejecutar solo en ZZ1 de pruebas, abierta y posicionada.
If Select("ZZ1") > 0
If !ZZ1->(Eof())
If RecLock("ZZ1",.F.)
// Aquí se realizarían asignaciones validadas.
ZZ1->(MsUnlock())
EndIf
EndIf
EndIf
Return NilSi cumple precondiciones intenta bloquear y finalizar sin cambiar campos. No escribe si falla lock. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- SoftLock no prueba éxito de RecLock. Planifique errores/restauración sin liberar recursos ajenos.
- 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.