Problema actualización Inventario

Hola Javi Agradecería su ayuda agote recursos
Tengo Un problema de Actualización


Mi problema Inicia cuando verifico las Existencias construyo los movimientos de Inventario
partiendo de : Detcompras(detalle de las compras), Itemsinv(Movimientos de Inventario) creo un cursor y cuando el usuario hacer click en Guardar construye los movimientos si alcanza la existencia hace un INSERT INTO ITEMSINV
Pero mi problema esta en que cuando dos usuarios hacen enter Simultáneamente me deja pasar aunque no hayan existencias y me arroja datos en rrojo y el problema es que simultáneamente presionaron Enter.
Gracias de Antemano

1 Respuesta

Respuesta
1
La manera de hacerlo multiusuario y controlar bien puede ser con transacciones que me parece un poco complejo para el tipo de programa que tienes, o bien con un simple LOCK.
Es importante en multiusuario que tengas configurado el reproceso y la exclusividad, te los recomiendo así:
SET REPROCESS TO 3 SECONDS
SET EXCLUSIVE OFF
*luego antes de grabar podés hacer un bloqueo de las tablas así:
SELECT ITEMSINV
IF FLOCK( )
      select detcompras
     IF FLOCK()
          *aca grabas los datos
         WAIT 'OK WINDOW NOWAIT
      ELSE
           *está bloqueada, reintenta...
            WAIT WINDOW 'la tabla esta siendo utilizada, aguarde...' NOWAIT
      ENDIF
ELSE
        *está bloqueada, reintenta...
         WAIT WINDOW 'la tabla esta siendo utilizada, aguarde...' NOWAIT
ENDIF

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas