Registro bloqueado

2 views
Skip to first unread message

René Encina

unread,
Jan 20, 2026, 6:21:06 PMJan 20
to mund...@googlegroups.com
Estimados
Tengan uds buen día 

Una consulta:
Necesito leer secuencialmente un archivo en bbx4 pero al medio tengo un registro bloqueado por otro usuario.  Como puedo saltarlo y leer el siguiente?

Cordialmente
René Encina A.

INGENIX Consulting.VE

unread,
Jan 20, 2026, 7:19:16 PMJan 20
to MundoBBx
Estimado,

por defecto BBX históricamente (y para mantener compatibilidad entre versiones y aplicaciones) ha utilizado el comando EXTRACT [RECORD] para bloquear los registros de un archivo, impidiendo cualquier intento de lectura del mismo registro por parte de otros usuarios mediante los comando: FINDREADEXTRACT o REMOVE, esto permite impedir que otros usuarios pueda modificar el registro al mismo tiempo.

Esta técnica de bloque llamada "Mandatory locking" cayo en desuso hace mucho tiempo y en su lugar ahora se utiliza "Advisory locking", esta permite que otros usuarios puedan leer los registros bloqueados a través de los comando: FIND o READ, pero no así para los comando EXTRACT o REMOVE (para estos el registro permanecerá bloqueado).

Para activar la técnica "Advisory locking", debe modificar la variable de sistema OPTS (bytes 3=$40$)

Aquí un ejemplo de como hacerlo:
0010 let A$=opts
0020 let A$(3,1)=ior(A$(3,1),$40$)
0030 setopts A$

Se recomienda cambiar este valor en el archivo CONFIG.BBX, ejemplo:
SETOPTS 000040000000

Si lo anterior no le funciona, lamento informarle que su archivo esta corrupto, por lo que deberá ejecutar el utilitario call "_fix" a su archivo.
Reply all
Reply to author
Forward
0 new messages