importação de numeros gerando registros incorretos

Discussão em 'Progress 4GL' iniciado por ueluis, Maio 26, 2015.

  1. ueluis

    ueluis Membro Participativo

    Galera,

    não consigo descobrir onde está o problema nesta condição:
    tenho um range de numero em um arquivo txt (2000 registros).
    Faço a importação para uma temp-table e depois a exportação para outro txt.

    o resultado está diferente da importação, ele não importa o ultimo numero e gera 2001 linhas no novo arquivo.
    abaixo o programa e o arquivo para importar.

    programa.p

    Código:
    INPUT  FROM  VALUE("C:\TEMP\NUMEROS.txt").
    DEF VAR cont AS INT.
    DEF TEMP-TABLE tt-numero
        FIELD id                AS INTEGER
        FIELD numero            AS CHARACTER.
    
    REPEAT  WHILE  TRUE:
           CREATE tt-numero.
           ASSIGN
               cont = cont + 1
               tt-numero.id = cont.
    
           IMPORT  tt-numero.numero.
    end.
    
    INPUT  CLOSE .
    
    OUTPUT TO VALUE("c:\temp\teste.txt").
    FOR EACH tt-numero:
        DISP  tt-numero.
    END.
    txt para importação em anexo.

    Arquivos Anexados:

  2. Eilleen

    Eilleen Membro Ativo

    Boa tarde,
    O problema é que a última linha do seu arquivo não tem um enter, então o Progress não consegue lê-la.
    Para evitar isso, adicione um enter manualmente, ou via código, antes de fazer a importação. ;)
  3. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Pelo que deu pra entender, a carga da linha só é feita se houver quebra de linha.

    Ao adicionar uma nova linha no Numeros.txt consegui importar tudo.

    Outro ponto é que o campo numero, estando como CHAR está comendo o último caracter, ai eu mudei para INTEGER e carregou corretamente.

    Abraço

    Rafael
  4. Eilleen

    Eilleen Membro Ativo

    Se quiser continuar como CHAR, é só colocar um format no PUT.
    É que CHAR por padrão é "X(8)", por isso corta um, mas isso é só no PUT...
  5. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    ou usa PUT UNFORMAT
  6. Eilleen

    Eilleen Membro Ativo

Compartilhe esta Página