Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Duda con actualizacion de tabla
Message
From
27/05/2005 10:30:59
 
 
To
27/05/2005 10:09:40
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 7 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01018122
Message ID:
01018134
Views:
11
>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
Previous
Reply
Map
View

Click here to load this message in the networking platform