Reports gerando E-mail com nome do Reports no Assunto

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Responder
cespinosavaz
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 05 Dez 2005 12:46 pm
Localização: Dois Irmãos

Necessito gerar um email onde do anexo(arquivo .PDF) seja o nome do Reports, ou outro nome qualquer pré-definido anteriormente.
Alguém sabe como posso fazer isso ?
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

Você quer que o nome do PDF seja um outro nome?
Explique melhor o que você quer fazer...
cespinosavaz
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 05 Dez 2005 12:46 pm
Localização: Dois Irmãos

Sim, o nome do arquivo gerado é REPORT.PDF. Gostaria de colocar outro nome, exemplo ORÇAMENTO.PDF.
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

Para gerar o PDF no NOME e LOCAL desejado, é necessário informar alguns parâmetros para o relatório:

DESTYPE - Coloque FILE
DESNAME - O caminho completo e nome do relatório. (Ex: c:\listagem.pdf)
DESFORMAT - Coloque PDF

Agora é só rodar o relatório que ele vai ser criado o no C: com o nome especificado acima.
cespinosavaz
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 05 Dez 2005 12:46 pm
Localização: Dois Irmãos

Ok, só que eu necessito usar a opção MAIL do Report e colocar, por exemplo c:\listagem.pdf no Anexo do e-mail.
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

Andei procurando umas coisas no Metalink e parece que ainda não é possível fazer isso.

Selecionar tudo

References:
------------
Bug 1273155 : Changing the name of the attachment which is send (Enhancement Request)
Bug 583949  : Possibility to send a subject line  (Enhancement Request)
Desenvolvedor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 23
Registrado em: Qua, 26 Dez 2007 12:40 pm
Localização: SP

Selecionar tudo

PL_ID := CREATE_PARAMETER_LIST('TMPDATA');
ADD_PARAMETER(PL_ID,'RUNDEBUG' ,TEXT_PARAMETER,'NO');
ADD_PARAMETER(PL_ID,'PARAMFORM',TEXT_PARAMETER,'NO');
ADD_PARAMETER(PL_ID,'destype',TEXT_PARAMETER,'MAIL');
--
ADD_PARAMETER(PL_ID,'DESNAME',TEXT_PARAMETER,
('teste@oracle.com.br,teste1@oracle.com.br,'));  
--
ADD_PARAMETER(PL_ID,'DESFORMAT',TEXT_PARAMETER,'PDF');
ADD_PARAMETER(PL_ID,'P_INICIO',TEXT_PARAMETER,:INICIO);
ADD_PARAMETER(PL_ID,'P_FIM'   ,TEXT_PARAMETER,:FIM);
v_reports := v_caminho || '\FAT_EMB.rep';
RUN_PRODUCT(REPORTS,v_reports,SYNCHRONOUS,RUNTIME,FILESYSTEM,PL_ID, NULL);

Espero ter ajudado,


Rômulo (Desenvolvedor)
vindalencio
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 140
Registrado em: Qui, 16 Fev 2006 9:42 am
Localização: Curitiba
Vanderlei Indalencio

Rotina pra envio de Report via E-mail

Selecionar tudo

PROCEDURE PRC_RUN_EMAIL( 
         report_file_name       in varchar2,                      -- Nome do arquivo de reports( crie um com qualquer nome(reports) 
         report_server_name    in VARCHAR2,                    -- Nome do servidor de reports 
         reports_servlet       in VARCHAR2,                       -- Nome do servidor de servlet 
         report_format          in VARCHAR2,                        -- Formato de saida do arquivo(relatorio) 
         report_destype_name in NUMBER,                       -- Tipo de saida (no seu caso MAIL) mas pode ser outros como PRINTER(impressora), CACHE(Tela) e outros 
      --   report_otherparam    in VARCHAR2,                      -- Parametros que devem ser passados para o relatorio que devem ser separados com espacos em branco ex: ('param1=0 parama2=1 param3=22/01/07'); 
         report_name              in varchar2) is              -- 'Email_destinatario FROM="nome de quem esta mandando" SUBJECT="Assunto" 
          
         report_id REPORT_OBJECT := find_report_object('reports');                
         report_message VARCHAR2(100) :=''; -- Mensagem do reports  
         rep_status VARCHAR2(100) :='';     -- Status 
         vjob_id VARCHAR2(4000) :='';       -- Id do Job 
         v_erro_ao_gerar Exception; 
          

BEGIN 
         SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE, SYNCHRONOUS);             --Modo de comunicacao 
         SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME, report_file_name);      --Nome do arquivo de relatorios 
         SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,   report_server_name);    --Nome do servidor de Reports 
         SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE, report_destype_name);  --Tipo de relatorio 
         SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESFORMAT, report_format);      --Formato (HTML, PDF...) 
         SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESNAME, report_name);          --PARA    
     --  SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER, report_otherparam);      --Parametros do usuario 


         report_message := run_report_object (report_id);         -- Executa o relatorio no servidor 
         rep_status := report_object_status (report_message);    -- Retorna o status da compilação 
          
          
         if report_destype = MAIL and rep_status = 'FINISHED' then 
               Message('Email enviado com Sucesso'); 
         else 
            raise v_erro_ao_gerar; 
         end if; 
         exception when v_erro_ao_gerar then 
            Message('Erro ao gerar relatorio "'|| rep_status||'"'); 
end; 




Depois coloquei no when-button-pressed

Selecionar tudo

declare 
   v_type_name number(5); 
    
Begin 
   v_type_name := MAIL; 
               PRC_RUN_EMAIL('nome_relatorio','nom_servidor_de_reports', 'servidor_de_sevlet','PDF', v_type_name, ----aqui não precisa de extensao se for .rtf-- 
                                               '"'||:BLOCO.CAMPO_PARA||'"'||' FROM="'||:BLOCO.CAMPO_DE||'"'||' SUBJECT="'||:BLOCO.CAMPO_ASSUNTO||'"'); 

end;
Responder
  • Informação
  • Quem está online

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