Leer archivo texto y validar

Estoy haciendo una bd en la cual deseo implementar la opción de cargar archivos a las tablas desde unos archivos texto, en total son 4 archivos texto que me alimentarían las tablas de mi bd, cada uno de estos archivos texto tienen un campo llamado num_lote, que es el que identifica cada bloque de datos. Los 4 archivos están identificados así: 1 archivo de ida que tiene un num_lote por ejemplo: 200901006461, y tres archivos de vuelta con el mismo numero de lote así: 200901005460. Hasta el momento logro cargar mis datos en unas tablas determinadas el problema es que no debo permitir que se carguen los mismos archivos varias veces, es decir, validar que ese num_lote que trae el archivo texto a cargar, no se encuentre ya cargado en mis tablas.
Si me puede colaborar que instrucción me sirve para obtener ese dato del archivo texto, y así poder validar que no existan en la tabla.
Nota: el num_lote es la primera columna del archivo texto, teniendo encuenta que la primera fila del archivo texto me los nombres de los campos.

1 respuesta

Respuesta
1
Lo de validar para que no se duplique es muy fácil, todo lo que tienes que hacer es primero cargar tu archivo de texto a un cursor temporal, luego este cursor lo recorres y validas que no se dupliquen, aso así
create cursor temporal(numLote C(10), fecha D(8), TOTAL n(12))
Se le temporal
Append from c:\archivo.txt  delimited with TAB
&&este ejemplo carga un archivo de texto separado por tabulaciones.
Sele temporal
Go top
do while !eof()
     *- Aqui validar y si aun no existe cargar.
     Sele temporal
      Skip
Enddo
Esa es la idea.
Ok gracias por tu respuesta, pero pensaba que podía obtener el campo de la primera columna con la segunda linea, ya que cada archivo de texto tiene ese mismo num_lote para todos los registros, con ese campo que obtenga puedo validar y luego si hacer el append from, no se si pueda hacer. Mira así viene uno de los archivos texto
num_lote   nic   nis num_orden ...
2,00901E+11 852369 52354 8963
2,00901E+11 586325 47854 4785
Etc.
Mi idea es que primero hagas el append from y luego lo trates, si tienes dos columnas por numero de lote juntarlos en uno solo pero posterior a la captura por que es más fácil tratar con tablas o cursores que archivos de texto.
GRACIAS, David hice lo que me recomendaste, es más fácil analizar la información en tablas que en el archivo de texto, Es una solución mejor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas