[RESOLVIDO] Relatório txt EMS 2.04

Discussão em 'EMS , HCM e Totvs 11' iniciado por jsinobilino, Março 22, 2011.

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

    jsinobilino Sem Pontuação

    Boa tarde amigos.

    Estou extraindo um relaótrio das tabelas it-requisicao e cotacao-item, usando o seguinte código:

    OUTPUT TO S:\temp\TAXI.txt NO-CONVERT.

    DISP "CODEMITENTE;ITEM;PRECO;DATA;NARRATIVA".

    PUT SKIP.

    FOR EACH it-requisicao,
    EACH cotacao-item
    WHERE it-requisicao.numero-ordem = cotacao-item.numero-ordem AND cotacao-item.cod-emitente = 3449 AND cotacao-item.data-cotacao > 02/28/2011.

    EXPORT DELIMITER ";"

    INT(cotacao-item.cod-emitente)
    INT(it-requisicao.it-codigo)
    STRING(cotacao-item.preco-fornec)
    string(cotacao-item.data-cotacao,"99/99/9999")
    SUBstring(it-requisicao.narrativa,1,500)


    SKIP.
    END.



    OUTPUT CLOSE.



    O Problema é que no campo narrativa os usuários utilizam varias linhas. Exemplo:

    CODEMITENTE;ITEM;PRECO;DATA;NARRATIVA
    3449;414209;"39,8";"11/03/2011";"BOLETO: 68290
    DATA:11/02/11
    TRAJETO: Libero Badaró / Margarida Galvão
    MOTIVO: Assietencia TI / residencia Jordi
    USUARIO:"

    Como podem ver os campos estão separados por ";", porém a narrativa que começa com o BOLETO e termina com a informação do USUARIO. A parte boleto quando passado para o excel esta saindo corretamente, mas as demais saem em outras células. Gostaria de saber se tem como juntar todas as informações de narrarivas, mesmo elas estando em linhas diferentes?

    Desde já agradeço.

    Obrigado

    Juan Sinobilino
  2. mcarril

    mcarril Membro Participativo

    Tentou retirar os espaços com o comando TRIM ?

    PS: Veja na parte "pesquisar" do forum lá tem a solução. Coloque na pequisa a palavra "espaços", ou consulte help do Progress.

    Veja solução dada pelo Gean abaixo.

    Grata,
  3. geanmelo.oliveira

    geanmelo.oliveira Sem Pontuação

    Boa tarde,

    Vai uma dica, ver exemplo abaixo:

    Uso do comando replace: replace(<conteúdo>,<conteúdo a substituir>,<novo conteúdo>).

    Ex: replace(nota-fiscal.observ-nota,chr(10), " ").

    Neste exemplo toda vez que encontrar uma quebra de linha na observação da nota eu substituo por espaço assim toda a informação sai em uma única linha.

    Espero ter ajudado,

    Para tudo nesta vida sempre existe mais de uma opção.
  4. jsinobilino

    jsinobilino Sem Pontuação

    Muito obrigado!!! funcionou!!!!
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página