FoxPro/Visual FoxPro - ARCHIVO PLANO

 
Vista:
sin imagen de perfil

ARCHIVO PLANO

Publicado por LEO (148 intervenciones) el 26/09/2009 05:03:11
QUIERO GENERAR UN ARCHIVO PLANO TXT. DE APROX. 700 COLUMNAS
SI HAGO LO SGTE. CON 3 CAMPOS Y 8,000 REGISTROS.

SCAN ALL
@clin,0 say campo1+'|'+campo2+'|'+campo3
clin=clin+1
ENDSCAN
ME SALE EL MENSAJE COORDENADAS INVALIDAS.
SI PRUEBO CON 500 REGISTROS Y 23 CAMPOS IGUAL ME SALE EL MENSAJE.

SI HAGO UNA CONSULTA.
SELE * FROM DOCUMENTO TO FILE ABC.01

EN EL ARCHIVO ME APARECEN LOS NOMBRES DE CAMPO LOS CUALES NO LOS NECESITO. Y ADEMAS LOS CAMPOS DEBEN ESTAR SEPARADOS POR EL SIMBOLO |
ADEMAS NO APARECEN EN FORMA NORMAL SINO HACE UN RETORNO DE CARRO Y LO DISTORCIONA.

SI HAGO UN COPY TO ABC.01 DELIMITED WITH CHARACTER '|'
NO RESPETA EL ANCHO DE LOS CAMPOS IGUAL PARA TODOS (SE DISTORCIONA EL ORDEN).

SI HAGO UN LIST CON LOS 23 CAMPOS

LIST OFF ALL FIELD CAMPO1+'|'+CAMPO2+'|'+CAMPO3+'|'+CAMPO4+'|'+...N TO FILE 20525240917XXX200800.TXT

ME HACE RETORNO DE CARRO LO CUAL LO DISTORCIONA

QUE PUEDO HACER. SI ALGUIEN PUEDA AYUDARME.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 20
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:ARCHIVO PLANO

Publicado por Marcelo (L) (186 intervenciones) el 26/09/2009 13:41:16
a ver si entendi, si lo que quieres es que el archivo txt te muestre el separador de campos como si fuera una linea vertical y a vos se te distorsiona tienes que tener en cuenta que los datos en los campos si contienen espacios letras minusculas y mayusculas son los que producen esa distorsion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

ARCHIVO PLANO

Publicado por Mauricio (1541 intervenciones) el 26/09/2009 21:53:58
Este error te da posiblemente porque no has inicializado la variable CLIN.
clin=1
SCAN ALL
@clin,0 say campo1+'|'+campo2+'|'+campo3
clin=clin+1
ENDSCAN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ARCHIVO PLANO

Publicado por LEO (148 intervenciones) el 27/09/2009 13:34:12
inicie clin=1 pero aun sigue igual mostrando el mismo mensaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

ARCHIVO PLANO

Publicado por Mauricio (1541 intervenciones) el 27/09/2009 15:29:17
Entonces cambia el valor 0 por 1 o mayor que 1 pues no hay para la pantalla valor de 0, intentalo de nuevo!!!!
clin=1
SCAN ALL
@clin,1 say campo1+'|'+campo2+'|'+campo3
clin=clin+1
ENDSCAN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ARCHIVO PLANO

Publicado por LEO (148 intervenciones) el 28/09/2009 01:52:44
este es el programa para generar el archivo tipo texto.

SELECT TABLA1
SET DEVICE TO FILE 20525240917001200800S.01
clin=1
SCAN ALL
@clin,1 say campo1+'|'+campo2+'|'+campo3
clin=clin+1
ENDSCAN
SET DEVICE TO SCREEN

lo hace bien hasta +/- 1,700 registros (con los tres campos).

cuando completo los 23 campos hasta cierto limite imprime una cantidad de campos y luego salta a la sgte linea y imprime el resto, lo cual esta mal.

habra alguna orden para ampliar los archivo tipo texto en el config.fp

alguna otra idea.

saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ARCHIVO PLANO

Publicado por Williams Vidal (85 intervenciones) el 28/09/2009 21:43:28
Hola Prueba esto:

SELECT TABLA1
Mi_Texto = 20525240917001200800S.01
set textmerge on to &Mi_Texto noshow
SCAN
xlinea = campo1+'|'+campo2+'|'+campo3
text
<<xlinea>>
endtext
ENDSCAN
set textmerge to
set textmerge off

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar