Envio de Email com Relatorio em Anexo

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
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

Se alguém souber de uma rotina de envio de e-mail com report em anexo, Agradeço
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

Aqui no forum tem alguma coisa a respeito. Dá uma procurada por EMAIL no grupo Reports.
Abaixo, um link:
http://glufke.net/oracle/viewtopic.php? ... ight=email
tchuck
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 70
Registrado em: Seg, 04 Dez 2006 9:22 am
Localização: Maringá

cara eu aqui tava com esse mesmo problema e aprendi olhando um pdf do proprio oracle é bem simples eu não entendo muito de ingles mas foi facil.
tipo.. fiz uma procedure para enviar os parametros


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;

ah.. o relatorio tem q salvar na pasta do oracle/developer/reports/samples/demo/nome_relatorio.rdf

qualquer coisa posta ai dinovo
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

Valeu Amigo!! :-o
Responder
  • Informação
  • Quem está online

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