[原创]如何使用Run_report_object 和web.show_document 从窗体发送邮件_Hadoop,ERP及大数据讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Hadoop,ERP及大数据讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 6037 | 回复: 0   主题: [原创]如何使用Run_report_object 和web.show_document 从窗体发送邮件        下一篇 
csslanding
注册用户
等级:列兵
经验:112
发帖:9
精华:0
注册:2012-3-20
状态:离线
发送短消息息给csslanding 加好友    发送短消息息给csslanding 发消息
发表于: IP:您无权察看 2012-3-20 11:31:02 | [全部帖] [楼主帖] 楼主

¡¡


应用于:

Oracle Reports Developer - Version: 9.0.4.0 to 10.1.2.0.0 - Release: Oracle9i to 10gr2
Oracle Forms - Version: 9.0 to 10.1.2.0.2   [Release: 9 to Oracle10g]
Information in this document applies to any platform.
Checked for relevance on 20-Jan-2009


目的

使用Run_Report_Object、参数列表、web.show_document还有包含在窗口或网页中的对象、发送方、接收方、CC、Bcc等信息发送邮件。

假设服务器已经确认按照一个邮件服务器的配置文件使用它

例如:

<pluginParam name="mailServer">mail.oracle.com</pluginParam>


实现方法:

一、下面创建一个简单的窗口例子来提供一个实体以便能够用来发送邮件

(1)创建实体包括:发送方、接收方、发送对象、协议、端口

例如:Block name :email

field names: To, From, CC, BCC, Subject, reportserver


(2)创建另一个窗体包含:控制按钮和步骤(1)创建的实体

例如:

Send email via run_report_object
Send email via web.show_document.


二、创建控制按钮

(1)创建两个按钮:‘发送’按钮、‘收件箱’按钮

(2)创建在窗体中能被看见的报告代码:Note 207396.1 How to Run Reports From Forms 9i / 10g Using RUN_REPORT_OBJECT?:

(3)创建按钮下按的触发器

三、触发器代码的实现

(1)发送按钮:

declare
v_rep varchar2(1000):='a';
v_rep_status varchar2(1000):='a';
v_url varchar2(1000):='';
--v_rep_server varchar2(1000):='';
repid REPORT_OBJECT;
thelist paramlist;
begin
thelist := get_parameter_list('rep_paramlist');
if not id_null(thelist) then
destroy_parameter_list(thelist);
end if;
thelist := CREATE_PARAMETER_LIST('rep_paramlist');
ADD_PARAMETER(thelist, 'FROM',TEXT_PARAMETER, :email.from);
ADD_PARAMETER(thelist, 'BCC',TEXT_PARAMETER, :email.bcc);
ADD_PARAMETER(thelist, 'CC',TEXT_PARAMETER, :email.cc);
ADD_PARAMETER(thelist, 'SUBJECT',TEXT_PARAMETER, :email.subject);
repid := find_report_object('REPORT30');
set_report_object_property(repid,REPORT_SERVER,:email.repserver);
--v_rep_server := get_report_object_property(repid,report_server);
set_report_object_property(repid,REPORT_DESTYPE,MAIL);
set_report_object_property(repid,REPORT_DESFORMAT,'html');
set_report_object_property(repid,REPORT_DESNAME,:email.too);
v_rep:=run_report_object(repid,thelist);
end;


(2)发件箱按钮:

该触发器可直接调用报告服务而不通过run_report_object

declare
vc_url varchar2(1000):='a';
begin
vc_url:=('/reports/rwservlet?server='||:email.repserver||'&report=test.rdf&destype=mail&desformat=html&desname='||:email.too||'&from='||:email.from||'&subject='||:email.subject||'&cc='||:email.cc||'&bcc='||:email.bcc);
web.show_document(vc_url,'_blank');
end; 




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论