Necesito que me orienten, en base a vuestras experiencias, en el tema que a continuaci贸n les describo y que me est谩 causando innumerables dolores de cabeza y para el que no termino de encontrar una soluci贸n.
El tema es el siguiente, tengo un sistema de facturaci贸n funcionando en mas de 250 lugares diferentes desde hace muchos a帽os, a medida que las cosas se fueron complejizando con los avances de la tecnolog铆a ( facturaci贸n electr贸nica, validaciones on line de diversos procesos, impresores fiscales de modelos diversos, sistemas operativos diversos, PC de modelos y antiguedad diversas etc.etc. ) e comenzado a experimentar errores en la grabaci贸n de los datos en las bases (.DBF) y por lo tanto inconsistencias en los procesos contables y de control de stock de productos.
Por lo que he podido investigar, la mayor parte de las veces esto ocurre por imposibilidad del sistema de acceder a las bases de datos ( que son muchas y s贸lo se abren y cierran cuando es necesario agregar datos a alguna de ellas ) al momento de efectuar el volcado, esto ocasionaba un error y el sistema se colgaba con el engorro que esto significa para el usuario al tener que reiniciar la terminal con problemas.
Para evitar esto, lo primero que se me ocurri贸 fue abrir las bases de datos usando TRY CATCH END con lo cual los errores de apertura se terminaron ( s贸lo manda un aviso de que el proceso no se pudo realizar ) pero como el sistema sigue funcionando ( ya no se cuelga ), no se hace el volcado en las bases y se produce el faltante de datos. Aclaro que todas las bases del sistema se usan en modo compartido.
Ahora estaba pensando en ir guardando todo lo que no se pueda grabar, por cualquier motivo, en una base de datos tipo repositorio y con un programa externo que se ejecute cada determinado periodo de tiempo, ir volcando todo lo guardado en las bases de datos. Intent茅 usar algun proceso como el ROLLBACK del SQL pero en harbour no existe nada similar.
Les estar铆a muy agradecido a quienes habiendo pasado por el mismo problema me puedan aportar alguna orientaci贸n al respecto.
Muchas gracias y un afectuoso abrazo a todos
Raul Terraz - Argentina