Bloqueo prolongado
Publicado por José Luis (7 intervenciones) el 21/09/2007 02:33:23
Para un entorno C/S; tengo la sgte. transacción (2 niveles):
PrvId*
PrvDsc
(PrdCodId*
PrvPrdFecha
PrvPrdCodin
PrvPrdCodal)
En modo Insert cuando confirmo los datos de la cabecera, Genexus inicia un bloqueo exclusivo de la tabla de cabecera. Luego, cuando confirmo la primera línea del segundo nivel Genexus inicia un segundo bloqueo exclusivo de la tabla de detalle. En consecuencia tengo bloqueadas para escritura tanto la tabla de cabecera como la de detalle y ninguno otro usuario puede insertar en esas tablas. El problema está en el bloqueo prolongado, una situación fatal sería que un usuario confirme la cabecera y luego se fuera a tomar una tasa de café….ningun otro usuario podría editar la tabla de cabecera, hasta que nuestro primer usuario complete la transacción.
¿Qué alternativa tengo para maximizar la concurrencia de los usuarios? ¿No es posible iniciar el bloqueo transaccional cuando haya ingresado la instancia de la cabecera y todas las instancias del detalle?
Atte.
José Luis
PrvId*
PrvDsc
(PrdCodId*
PrvPrdFecha
PrvPrdCodin
PrvPrdCodal)
En modo Insert cuando confirmo los datos de la cabecera, Genexus inicia un bloqueo exclusivo de la tabla de cabecera. Luego, cuando confirmo la primera línea del segundo nivel Genexus inicia un segundo bloqueo exclusivo de la tabla de detalle. En consecuencia tengo bloqueadas para escritura tanto la tabla de cabecera como la de detalle y ninguno otro usuario puede insertar en esas tablas. El problema está en el bloqueo prolongado, una situación fatal sería que un usuario confirme la cabecera y luego se fuera a tomar una tasa de café….ningun otro usuario podría editar la tabla de cabecera, hasta que nuestro primer usuario complete la transacción.
¿Qué alternativa tengo para maximizar la concurrencia de los usuarios? ¿No es posible iniciar el bloqueo transaccional cuando haya ingresado la instancia de la cabecera y todas las instancias del detalle?
Atte.
José Luis
Valora esta pregunta
0