UTL_FILE - Gerando Relatório TXT - Manipulando dimenções.

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
Aldo Andrade
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Qui, 05 Jun 2008 10:21 am
Localização: Recife

Pessoal, estou gerando um relatório txt utilizando o UTL_FILE e estou com o seginte problema: Preciso gerar o relatório com 132 colunas, ou seja, paisagem. Isso é possível? Obrigado.
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP
Julian de A. Campagnoli
Treinee, Desenvolvedor Oracle PL-SQL

beleza Aldo ...

É possivel sim ...

Com esse comando você gera um arquivo .txt.
você pode organizar ou concatenar valores até obter o relatorio que precisa.

Selecionar tudo

     ARQUIVO := UTL_FILE.Fopen(folder , file_name , 'A');
         UTL_FILE.PUT_LINE(ARQUIVO , 'entrar_com_valor_aqui');
     UTL_FILE.Fclose(ARQUIVO);
Qualquer coisa manda ai ...

Abraço
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP
Julian de A. Campagnoli
Treinee, Desenvolvedor Oracle PL-SQL

Mais uma coisa ...

Com as funções LPAD e RPAD, você pode definir o tamanho de cada campo.

Abraço
Aldo Andrade
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Qui, 05 Jun 2008 10:21 am
Localização: Recife

Caro Julian,

Antes de tudo obrigado pela ajuda! O meu problema é o seguinte, estou gerando um relatório com extensão .txt, até ai beleza, tudo certinho, porém desejo que ele seja formatado para 132 colunas (paisagem). Como defult ele sai 80 colunas (retrato). A questão é a seguinte: Tem como manipular a formatação do relatório para formato de “paisagem”? Tem-se como fazer isso?

Obrigado,

Aldo
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Aldo, beleza brother?

Em que ferramenta está "criando" este relatório?
Via utl_file mesmo, ou, através do reports?

Caso utl_file, com LPAD e RPAD, como citou nosso amigo Julian, você consegue fazer isso, adicionando espaços no teu texto...

Qualquer coisa, manda pra gente.
ricardorauber
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 96
Registrado em: Qua, 21 Jun 2006 11:33 pm
Localização: Canoas RS

Exatamente, basta usar algo do tipo:

utl_file.put_line(rpad(v_linha,132,'-'));
Aldo Andrade
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Qui, 05 Jun 2008 10:21 am
Localização: Recife

PessoALL, valeu mesmo pela ajuda! Seguinte: Estou enviando o meu código para análise de vocês.

Selecionar tudo

v_arquivo utl_file.file_type;

v_arquivo := utl_file.fopen('/u01/rh/hmlg/arqs', 'aldo.doc', 'w');

for r_pf in c_pf loop
    ----- Monta o cabeçalho
    if v_linha = 0 then
      v_pag := v_pag + 1;
      text  := 'chesf                         Título Legal                       Pag. ' ||
               v_pag || crlf ||
               'Matrícula       Nome                                    Data     Data:'||v_Data || crlf ||
               '--------------------------------------------------------------------------------------------------------------------';
      UTL_FILE.put_line(v_arquivo, text); 
    end if;
Responder
  • Informação