Progress - Tengo problemas al leer un archivo texto en Progress

 
Vista:

Tengo problemas al leer un archivo texto en Progress

Publicado por Problemas al leer un archivo texto desde Progress (1 intervención) el 30/06/2017 01:03:15
Necesito subir un archivo texto a Progress.

Aparentemente tiene un separador de registro CHR(13) que corresponde a un ENTER

Si el archivo se abre desde EXCEL o NOTEPAD ++ se ve correctamente que tiene 206 registros.

Si el archivo se abre desde NOTEPAD se ve como un gran texto enorme en varias líneas seguidas.

Y cuando se lee el archivo desde Progress con la sentencia IMPORT DELIMITER o IMPORT UNFORMATTED no reconoce el ENTER y lee solo 14 registros desordenados sin ninguna longuitud ni coherencia.

Es urgente la lectura, no es un solo archivo sino cientos con el mismo formato.

Muchas gracias por su pronta ayuda
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

Tengo problemas al leer un archivo texto en Progress

Publicado por Paul (1 intervención) el 12/07/2017 22:31:12
Hola Myrian,
deberías establecer en el delimitado el TAB de separación "~011"

Ejemplo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*TXT C:\tmp\TEST.txt */
    /* 327	00278910116
       243	10005049421
       243	10366106430
       324	10541723197
    */
 
DEFINE TEMP-TABLE ITEM
    FIELD vendedor AS CHAR
    FIELD cliente  AS CHAR FORMAT "X(12)".
 
INPUT FROM C:\tmp\TEST.txt.
REPEAT:
    CREATE ITEM.
    IMPORT DELIMITER "~011" ITEM.
END.
INPUT CLOSE.
 
/* Comprobar */
FOR EACH ITEM:
    DISPLAY ITEM.
END.

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

Tengo problemas al leer un archivo texto en Progress

Publicado por Al Alvarez (1 intervención) el 21/07/2017 23:46:15
Hola,

La línea import debería quedar asi:

import delimiter chr(13) ítem.
end.
input close.
.
ahora, lo que yo haría, seria editar el txt y cambiar la tablacion que tiene ahí por un espacio " "
para que al leer el archivo sea asi:

import delimiter ' '
vendor
cliente.
end.
input close.

¡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
Imágen de perfil de Alejandro Rodeiguez
Val: 145
Oro
Ha mantenido su posición en Progress (en relación al último mes)
Gráfica de Progress

Tengo problemas al leer un archivo texto en Progress

Publicado por Alejandro Rodeiguez (125 intervenciones) el 22/07/2017 05:48:48
hola para empezar el código chr(13) no es un tabulador es un retorno de carro.
Y aunque utilices chr(9) que es un tabulador no te sugiero que delimites los campos con ese carácter de control, toda vez que representa una secuencia de espacios y la puedes tener dentro del texto.
Soluciión :

Delimita con pipes tus campos o espacios poniendo entre comillas dobles el contenido de los campos menos los numéricos. , entonces tu código seria el siguiente:

delimitando con pipes:

Ejemplo lina de campo Erika|3.1416

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
define var campo1 as char.
define car campo2 as integer.
 
input from archivo.txt.
repeat:
      import delimiter "|" campo1 campo2.
      créate tabla.
      assign campotabla1 = campo1
                  campotabla2 ) campo2.
end.
input close.
 
Si la línea  viene "Erika" 3.1416  el código debería de ser el siguiente:
 
define var campo1 as char.
define car campo2 as integer.
 
input from archivo.txt.
repeat:
      import campo1 campo2.
      créate tabla.
      assign campotabla1 = campo1
                  campotabla2 ) campo2.
end.
input close.


Saludos.

Cel. 5543101839
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