Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Duda con actualizacion de tabla
Message
De
27/05/2005 10:30:59
 
 
À
27/05/2005 10:09:40
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 7 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
MS SQL Server
Divers
Thread ID:
01018122
Message ID:
01018134
Vues:
12
>buenos dias tego una duda, yo tengo que trabajar inventario por PEPS(FIFO), manejo un tabla donde esta el inventario de la tienda, me surge una duda de esto.
>
>Tengo tres programas que rebajan el invetario el pos,Requisiones internas,traspasos de mercancia, todos deben apuntar a los mismo datos. Bien para trabajar esto yo he hecho una rutina que busca las facturas mas antiguas y si tiene existencia baja de eso y asi sucesivamente segun la solicitud de los programa.
>
>bien para manejar esto trabajo con select * from tblinventario where existe > 0 order by fecha asc
>
>bien cone este cursor manejo el PEPS, mi duda esta en lo siguiente:
>
>cuando hago el select pueden haber dos programas a la ves viendo los mismos datos como controlo para que dos programas no vean los mismo registros a la ves ya que una ves procesado el select se hace el update a la tabla de articulos.
>
>no se si me explique bien, gracias por sus sugerencia...


Si el tiempo que tarda el proceso desde el SELECT-SQL hasta que haces el update es relativamente corto, lo mas simple para ti (pero l=no mejor para el usuario) es hacer un FLOCK() en la tabla. Si tienes un sistema multisusuario con varios usuarios constantemente haciendo ventas (o sea actualizando inventario), esto no te servirá ya que chocarán bastante.

En ese caso debes ir a la rutina mas complicada de volver a mirar antes de escribir, para ver si se ha cambiado el registro y si es asi informar al usuario que los datos originales no son válidos ya que alguien lo ha cambiado. Es el problema típico de sistemas multiuso.

Eso está ya resuelto en la mayoría de los frameworks existentes para VFP. Si no usas uno (y debieras), pues tienes que crear tu propio framework que tenga rutinas reusables como esta.

Mira en la ayuda por:
SET MULTILOCKS ON
Buffering
TableUpdate()
TableRevert()
CurVal()
OldVal()
GETFLDSTATE()


Alex Feldstein, MCP, Microsoft MVP
VFP Tips: English - Spanish
Website - Blog - Photo Gallery


"Once again, we come to the Holiday Season, a deeply religious time that each of us observes, in his own way, by going to the mall of his choice." -- Dave Barry
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform