Extracto del help de VFP 9

"When you modify records in a table that is part of a transaction, other users on the network do not have access (read or write) to the records until you end the transaction.

When other users on the network try to access records you have modified, they must wait until you end your transaction. They receive the message "Record not available ... please wait" until the records become available. Because of this, it is important to keep the length of the transaction to a minimum or conduct the transaction during times when others do not need access."

Esto significa que cuando envolvés las cosas en una transacción, los de afuera no pueden modificar nada hasta que no cerrás la transacción con End Transaction o la mandás para atrás con Rollback. Y fijate que dice que tenés que abrir y cerrar la transacción lo más rápido posible, para que los otros usuarios no se queden colgados esperando que vos la cierres.

Te paso el siguiente ejemplo del "Hacker's guide to Visual FoxPro 6.0" de Tamar Granor y otros:


     Example

        

* Save invoice header and details in a transaction.
* This is only a sketch of the real code, which would
* probably include various error checking and handling.
BEGIN TRANSACTION

lGoOn = .T.

SELECT header
IF NOT TABLEUPDATE()
   lGoOn = .F.
ENDIF

IF lGoOn
   SELECT detail

   IF NOT TABLEUPDATE(.t.,.t.)
      lGoOn = .F.
   ENDIF
ENDIF

IF lGoOn
   END TRANSACTION
ELSE
   ROLLBACK
   =TABLEREVERT(.f.,"header")
   =TABLEREVERT(.t.,"detail")
ENDIF


Fijate que cuando hace el Rollback también le manda un Tablerevert a las tablas que entraron en Buffering. Esto es porque el Begin Transaction es una especie de buffering adicional al de cada tabla, que envuelve a todas las otras que intervienen en la transacción. Cuando cerrás la transacción con rollback, o sea, cuando hubo un error y no funcionó el tableupdate, revertis cada una de las tablas.

Rafael Copquin



El 26/11/2014 19:17, Walter Comito escribió:

BEGIN TRANSACTION

END TRANSACTION

Amigos como estan

Tengo una duda, entre estos dos comandos necesito generar varios numeros de articulos, que los tomo del numero mayor ingresado y a continuacion de este numero genero los nuevos.

La pregunta es si otro usuario accede al mismo momento al mismo procedimiento, primero genera los codigos del primer usuario y espera que termine para que a continuacion genere los codigos de otro usuario, o puede que se mezclen los numeros de ariculos?

Gracias.

*Walter Cómito*

 Analista de Sistemas

MP 0397 C.P.C.I.P.C.

*>****[email protected] <mailto:[email protected]>*

***[email protected] <mailto:[email protected]>*

*'****+54 351 494.4667*

*           153.292.707*

**

*þ****www.softram.com.ar <http://www.softram.com.ar/>*

QSi no es necesario, no imprima este correo.

Todos somos responsables por el cuidado del medio ambiente.

*NOTA DE CONFIDENCIALIDAD*
Este mensaje (y sus anexos) es confidencial y puede contener información de propiedad exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este mensaje por error, por favor comuníquelo inmediatamente a _walter.comito <mailto:[email protected]>[email protected] <http://gmail.com/>_ y tenga la amabilidad de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.

Muchas Gracias.

*De:*[email protected] [mailto:[email protected]] *En nombre de *Walter Comito
*Enviado el:* lunes, 17 de noviembre de 2014 11:02
*Para:* GUFA List Member
*Asunto:* [GUFA] Mensaje al ingresar a un Sistema en Red

Ese problema te sucede porque el lufar donde tenes instalado el sistema esta de solo lectura.

Fíjate de compartir esta carpeta con todos los usuarios como lectura y escritura.

Gracias.

*Walter Cómito*

 Analista de Sistemas

MP 0397 C.P.C.I.P.C.

*>****[email protected] <mailto:[email protected]>*

***[email protected] <mailto:[email protected]>*

*'****+54 351 494.4667*

*           153.292.707*

**

*þ****www.softram.com.ar <http://www.softram.com.ar/>*

QSi no es necesario, no imprima este correo.

Todos somos responsables por el cuidado del medio ambiente.

*NOTA DE CONFIDENCIALIDAD*
Este mensaje (y sus anexos) es confidencial y puede contener información de propiedad exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este mensaje por error, por favor comuníquelo inmediatamente a _walter.comito <mailto:[email protected]>[email protected] <http://gmail.com/>_ y tenga la amabilidad de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.

Muchas Gracias.

*De:*[email protected] [mailto:[email protected]] *En nombre de *Norberto Mario Alvarez
*Enviado el:* viernes, 14 de noviembre de 2014 14:40
*Para:* GUFA List Member
*Asunto:* [GUFA] Mensaje al ingresar a un Sistema en Red

Estimados Colisteros, cada vez que se entra desde algunos puestos de trabajos, no en todos, aparece este mensaje :

cid:[email protected]

Como puedo eliminarlo. Desde ya Muchas Gracias!!!

**

*Norberto Alvarez*

*Socio # 1892*

**


Responder a