[RESOLVIDO] importar excel

Discussão em 'EMS , HCM e Totvs 11' iniciado por kakaos, Janeiro 25, 2011.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. kakaos

    kakaos Membro Participativo

    Boa tarde amigos,
    estou tentando importar alguns dados de um excel e nao estou conseguindo, como nao tenho muito conhecimento na linguagem estou apanhando, peguei alguns exemplos por ai, porem nao estou tendo muito sucesso, tenho criada uma tabela de preco de nome "Tlenox" preciso importar os itens para esta tabela por se tratar de muitos itens, andei fazendo um codigo que nao mais está dando erros, porem tambem nao importa nenhuma informacao, sera que alguem pode me explicar como e o que fazer, segue o codigo que estou tentando fazer:
    DEF VAR c-linha AS CHAR.
    DEF VAR i-cont AS INTEGER.

    DEF STREAM s-saida.
    DEF STREAM s-importa.

    Define Temp-table tt-preco
    FIELD it-codigo LIKE preco-item.it-codigo.

    INPUT FROM "C:\temp\tabel.csv" convert TARGET "ibm850".

    For Each tt-preco:
    Delete tt-preco.
    End.

    Repeat ON ERROR UNDO, Next:

    IMPORT UNFORMATTED c-linha.
    ASSIGN c-linha = REPLACE(c-linha,'"',"").

    Create tt-preco.
    Assign tt-preco.it-codigo = ENTRY(1,c-linha,";" ).

    END.

    OUTPUT STREAM s-saida TO "C:\temp\tabela.csv" CONVERT TARGET "iso8859-1".

    For Each tt-preco
    Break By tt-preco.it-codigo:

    PAUSE(0).

    Find First preco-item
    Where preco-item.it-codigo = tt-preco.it-codigo NO-ERROR.
    If Avail Item Then Do:

    DISP tt-preco.it-codigo.

    FOR EACH preco-item EXCLUSIVE-LOCK
    WHERE preco-item.it-codigo = ITEM.it-codigo AND
    preco-item.nr-tabpre = "teste":
    END.
    End.
    End.
  2. denilson.silva

    denilson.silva Membro Participativo

    Verifiquei o codigo e a importacao é realizada com sucesso.
    Depois você percorre a tabela tt-preco e para cada item localiza o preco-item do item. Abaixo está um erro, você testa se achou a tabela item, mas o correto é if avail preco-item.
    Mais adiante você executa o for each do preco-item, mas não faz nada dentro deste loop, não quer mostrar o preco do item?

    Segue uma versão para você verificar:
    Código:
    DEF VAR c-linha     AS CHAR NO-UNDO.
    DEF VAR i-cont      AS INTEGER NO-UNDO.
    
    
    Define Temp-table tt-preco NO-UNDO
        FIELD it-codigo AS char.
    
    EMPTY TEMP-TABLE tt-preco.
    INPUT FROM "C:\temp\item.csv" convert TARGET "ibm850".
    Repeat ON ERROR UNDO, Next:
       CREATE tt-preco.
       IMPORT DELIMITER ";" 
              tt-preco.it-codigo.
    END.
    INPUT CLOSE.
    
    OUTPUT TO c:/temp/saida.txt.
    FOR EACH tt-preco:
        FIND FIRST preco-item NO-LOCK
            WHERE preco-item.it-codigo = tt-preco.it-codigo
            AND   preco-item.nr-tabpre = "teste" NO-ERROR.
        IF AVAIL preco-item THEN
            DISP tt-preco.it-codigo
                 preco-item.nome-do-campo.
    
    END.
    OUTPUT CLOSE.
    
    
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página