Importação de arquivo TXT em tabela temporária

Discussão em 'Progress 4GL' iniciado por mrepetto, Junho 12, 2013.

  1. mrepetto

    mrepetto Membro Participativo

    Pessoal, boa tarde;

    Estou com uma dúvida de importação de dados de um arquivo TXT para uma temp-table numa rotina.p

    os dados no arquivo txt estão separados por ";" são 3 colunas de informações para cada linha.

    Como eu faço para atribuir por exemplo, a primeira coluna do arquivo txt para um campo da minha temp-table no progress, e assim por diante, tipo, separar o arquivo e quebrar campo a campo por delimitador, importando as informações para os campos da ttable???

    Fico no aguardo e agradeço desde já.

    Att.
  2. pedro_lemes

    pedro_lemes Membro Participativo

    Ola!

    Basta que declare sua temp-table na ordem que os campos aparecem no seu arquivo TXT.

    Vamos dizer que seu arquivo contenha os dados:
    valor1; valor2; valor3; valor4;

    Crie sua temp-table na mesma ordem:

    Código:
    DEFINE TEMP-TABLE teste
        FIELD campo1 AS CHAR
        FIELD campo2 AS CHAR
        FIELD campo3 AS CHAR
        FIELD campo4 AS CHAR.
    Dai basta fazer a rotina de importação, utilizando o comando DELIMITER:

    Código:
    INPUT FROM c:\temp\arquivotexto.txt.
    REPEAT:
       CREATE teste. /* abre o novo registro na temp-table*/
       IMPORT DELIMITER ";" teste.
    END.
    
    Caso queira, ao inves de importar TODOS os campos (prevendo que sua temp-table tenha mais campos do que o que vem pelo arquivo texto, voce pode tambem indicar quais campos (na ordem do arquivo texto):

    Código:
    INPUT FROM c:\temp\arquivotexto.txt.
    REPEAT:
       CREATE teste. /* abre o novo registro na temp-table*/
       IMPORT DELIMITER ";" campo1 campo2 campo3.
    END.
    
    Espero ter ajudado um pouco.

    abs!
  3. pedro_lemes

    pedro_lemes Membro Participativo

    Ola!

    Basta que declare sua temp-table na ordem que os campos aparecem no seu arquivo TXT.

    Vamos dizer que seu arquivo contenha os dados:
    valor1; valor2; valor3; valor4;

    Crie sua temp-table na mesma ordem:

    Código:
    DEFINE TEMP-TABLE teste
        FIELD campo1 AS CHAR
        FIELD campo2 AS CHAR
        FIELD campo3 AS CHAR
        FIELD campo4 AS CHAR.
    Dai basta fazer a rotina de importação, utilizando o comando DELIMITER:

    Código:
    INPUT FROM c:\temp\arquivotexto.txt.
    REPEAT:
       CREATE teste. /* abre o novo registro na temp-table*/
       IMPORT DELIMITER ";" teste.
    END.
    
    Caso queira, ao inves de importar TODOS os campos (prevendo que sua temp-table tenha mais campos do que o que vem pelo arquivo texto, voce pode tambem indicar quais campos (na ordem do arquivo texto):

    Código:
    INPUT FROM c:\temp\arquivotexto.txt.
    REPEAT:
       CREATE teste. /* abre o novo registro na temp-table*/
       IMPORT DELIMITER ";" campo1 campo2 campo3.
    END.
    
    Espero ter ajudado um pouco.

    abs!
  4. mrepetto

    mrepetto Membro Participativo

    Putz, certinho... já fiz e já deu certo!!!!

    Obrigado pela informação amigo!

    Att.

Compartilhe esta Página