Sin más datos no es fácil darte una respuesta, pero te digo cómo se maneja en general:

Esto al abrir la tabla

Set multilocks on
use nombredetabla shared
cursorsetprop('buffering',5,''nombredetabla")

Al grabar

begin transaction

select nombredetabla
insert into nombredetabla..........
ó
append blank
replace nombredetabla.nombredecampo with ........

(varias otras grabaciones en tablas, en forma secuencial)


if tableupdate(.t.,.t.,'nombredetabla')
   end transaction
else
   rollback
   tablerevert('nombredetabla')
endif


El buffering 5 es bloqueo optimista de tabla. Si movés el puntero antes del tablaupdate no graba nada. Si en cambio le das un buffering 3 (bloqueo optimista de registro), apenas movés el puntero se graba, lo que te impide controlar lo que estás haciendo.

Es la metodología que se recomienda en el Hacker's Guide.....

Se aconseja usar siempre buffering 5

Rafael Copquin




El 22/06/2015 a las 13:31, Walter Comito escribió:

Amigos tengo un problema con el tableupdate en una transacción, a veces guarda y a veces no.

Ya no se de que forma ver este tema y tratar de solucionarlo.

Tengo dentro de una transacción un tableupdate(.t.,.t.) on un bufer 5 para esta tabla

Si alguien me tira una idea se lo agradecería.

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.



------------------------------------------------------------------------
Avast logo <https://www.avast.com/antivirus>      

El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
www.avast.com <https://www.avast.com/antivirus>



Responder a