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

Inclusión, edición, eliminación lógica y grabación de registros

RecLock(cAlias,lAdd) → campos → MsUnlock(); DBDelete()

Distingue bloqueo, cambios de campos y eliminación lógica.

Inclusión, edición, eliminación lógica y grabación de registrosAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

RecLock(alias,.T.) inicia inclusión y .F. intenta bloquear registro posicionado para editar; verificar retorno antes de escribir. MsUnlock finaliza bloqueo pero no equivale a transacción de negocio multitabla. DBDelete marca eliminación lógica, no remueve físicamente. Ejemplo usa tabla temporal propia sin registros de producción. Código comunitario citado contiene mensajes dentro de transacción y RecLock sin verificar; esas partes no se reproducen. (Fuentes: refs. 1–3.)

02 · SINTAXIS

Sintaxis

RecLock(cAlias,lAdd) → campos → MsUnlock(); DBDelete()
03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"

User Function Ed485()
    Local oTmp := FWTemporaryTable():New(GetNextAlias(),{{"ED_TEXT","C",20,0}})
    Local cAlias
    // Solo tabla temporal de prueba.
    oTmp:Create()
    cAlias := oTmp:GetAlias()
    If RecLock(cAlias,.T.)
        (cAlias)->ED_TEXT := "ED01"
        (cAlias)->(MsUnlock())
    EndIf
    (cAlias)->(DbGoTop())
    If !(cAlias)->(Eof())
        If RecLock(cAlias,.F.)
            (cAlias)->ED_TEXT := "ED02"
            (cAlias)->(DbDelete())
            (cAlias)->(MsUnlock())
        EndIf
    EndIf
    oTmp:Delete()
    FreeObj(oTmp)
Return Nil
Resultado esperado

Demuestra inclusión, edición y marca de eliminación en temporal, luego elimina tabla propia. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • Preferir rutinas de negocio y MVC para registros reales. Prever fallos, limpieza y concurrencia.
  • 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. RecLock. TDN. Consulta el 2026-10-27.
  2. TOTVS. FWTemporaryTable. TDN. Consulta el 2026-10-27.
  3. Daniel Atilio. zGravacao.prw; commit 7d275a7. Consulta el 2026-10-27.
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