Importação de Arquivo separado por ";" e ","

Discussão em 'Progress 4GL' iniciado por fasouza, Agosto 11, 2010.

  1. fasouza

    fasouza Membro Participativo

    Estou importando um arquivo CSV que é separado por ";", mas meu ultimo campo tem informações separadas por "," que devem atualizar outra tabela.

    Ex:
    Arquivo CSV:

    001;nome1;endereco1;02,03,04,05
    002;nome2;endereco2;04,05,06

    Ao importar o arquivo deve ser gravado na minha tabela_1 as informações separadas por ";" (codigo;nome;endereco), e na tabela de relacionamento os codigos separados por ",".

    Tabela 1
    001 nome1 endereco1
    002 nome2 endereco2

    Tabela 2
    001 02
    001 03
    001 04
    001 05
    002 04
    002 05
    002 06

    Alguma sugestão ?

    Grato
  2. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Fábio,

    Veja se exemplo abaixo possa te ajudar:

    Código:
    
    DEF VAR c-importa       AS CHAR NO-UNDO.
    DEF VAR c-tabela1-i     AS CHAR NO-UNDO.
    DEF VAR c-tabela1-ii    AS CHAR NO-UNDO.
    DEF VAR c-tabela1-iii   AS CHAR NO-UNDO.
    DEF VAR c-tabela2       AS CHAR NO-UNDO.
    DEF VAR i-tab           AS INT NO-UNDO.
    
    INPUT FROM...
    
    REPEAT:
    
        IMPORT UNFORMATTED c-importa.
    
        /***** Dados da tabela 1 *****/
        ASSIGN  c-tabela1-i     = ENTRY(1,c-importa,";")
                c-tabela1-ii    = ENTRY(2,c-importa,";")
                c-tabela1-iii   = ENTRY(3,c-importa,";").
        
        CREATE  tabela1.
        ASSIGN  tabela1.campo1  = c-tabela1-i
                tabela1.campo2  = c-tabela1-ii
                tabela1.campo3  = c-tabela1-iii.
        
        /***** Dados da tabela 2 *****/
        ASSIGN  c-tabela2       = ENTRY(4,c-importa,";").
        
        DO i-tab = 1 TO NUM-ENTRIES(c-tabela2,","):
        
            CREATE tabela2.
            ASSIGN tabela2.campo1   = c-tabela1-i
                   tabela2.campo2   = c-tabela2.
        
        END.
    
    END.
    
    INPUT CLOSE.
    
    
  3. fasouza

    fasouza Membro Participativo

    Maravilha problema resolvido, obrigado

Compartilhe esta Página