Arquivo txt com quebras de linhas

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

Prezados, boa tarde!

Tenho uma package desenvolvida em ambiente de homologação para geração de arquivo txt posicional, o arquivo é gerado praticamente sem erros quanto à sua estrutura, porém há 01 registro que na posição de x a y deveria ficar na mesma linha, mas acaba ocorrendo uma quebra desta string nas próximas linhas conforme o exemplo abaixo:

Exemplo válido:
xxxxxxx xxxxxxxxyyyyyyzzzzzz
Exemplo inválido:
xxxxxxx xxxxxxxx
yyyyyy
zzzzzz

Há alguma função para tratar esse tipo de situação acima? Lembrando que o conteúdo está dentro do tamanho definido para o campo.
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

cristhianlor escreveu:Prezados, boa tarde!

Tenho uma package desenvolvida em ambiente de homologação para geração de arquivo txt posicional, o arquivo é gerado praticamente sem erros quanto à sua estrutura, porém há 01 registro que na posição de x a y deveria ficar na mesma linha, mas acaba ocorrendo uma quebra desta string nas próximas linhas conforme o exemplo abaixo:

Exemplo válido:
xxxxxxx xxxxxxxxyyyyyyzzzzzz
Exemplo inválido:
xxxxxxx xxxxxxxx
yyyyyy
zzzzzz

Há alguma função para tratar esse tipo de situação acima? Lembrando que o conteúdo está dentro do tamanho definido para o campo.
Oracle 11g
Win 10 Pro
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

cristhianlor escreveu:
cristhianlor escreveu:Prezados, boa tarde!

Tenho uma package desenvolvida em ambiente de homologação para geração de arquivo txt posicional, o arquivo é gerado praticamente sem erros quanto à sua estrutura, porém há 01 registro que na posição de x a y deveria ficar na mesma linha, mas acaba ocorrendo uma quebra desta string nas próximas linhas conforme o exemplo abaixo:

Exemplo válido:
xxxxxxx xxxxxxxxyyyyyyzzzzzz
Exemplo inválido:
xxxxxxx xxxxxxxx
yyyyyy
zzzzzz

Há alguma função para tratar esse tipo de situação acima? Lembrando que o conteúdo está dentro do tamanho definido para o campo.
Oracle 11g
Win 10 Pro
Explicando melhor o caso acima, é retirar o enter de um registro com strings.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Dá pra usar REPLACE pra transformar o CHAR(10) em um espaço ou mesmo em nada...
Veja um exemplo:

Selecionar tudo

SQL> set serveroutput on
SQL> 
SQL> declare
  2    v varchar2(100) :='xxxxxx
  3  yyyyyyy';
  4  begin
  5    dbms_output.put_line('Variavel inicial COM quebra de linha:');
  6    dbms_output.put_line( v );
  7    dbms_output.put_line('Agora transformamos o ENTER em um espaco');
  8    dbms_output.put_line( replace(v,chr(10),' ') );
  9  end;
 10  /

Variavel inicial COM quebra de linha:
xxxxxx
yyyyyyy
Agora transformamos o ENTER em um espaco
xxxxxx yyyyyyy

PL/SQL procedure successfully completed

cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

Dr_Gori, tudo bem? Muito obrigado pela ajuda, mas tenho uma dúvida quanto ao uso da função CHR, esse 10 que vai como argumento da função, é referente ao tamanho da string ou não?
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

cristhianlor escreveu:Dr_Gori, tudo bem? Muito obrigado pela ajuda, mas tenho uma dúvida quanto ao uso da função CHR, esse 10 que vai como argumento da função, é referente ao tamanho da string ou não?
Dr. Gori...

Já vi aqui do que se trata o argumento!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

As vezes tem um CHR(13) junto. O 10 e o 13.
Então tem que dar uma olhada se apenas o 10 vai resolver!
:-o
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

Dr. Gori,

Funcionou!!!

Muito obrigado.
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

dr_gori escreveu:As vezes tem um CHR(13) junto. O 10 e o 13.
Então tem que dar uma olhada se apenas o 10 vai resolver!
:-o
Utilizei somente o 10 e foi de boa.
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Por prudência é melhor deixar logo os dois. Para não ter que alterar mesmo código no futuro.
Já que é um caractere indesejado mesmo, retira logo.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes