欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle Report中加入下载超链接操作方法

程序员文章站 2023-12-03 17:37:52
1、在报表页面布局相应的位置加入文本框,一般为download 右键用pl/sql编辑器编写成超链接,加入以下内容: 复制代码 代码如下: function b_13for...
1、在报表页面布局相应的位置加入文本框,一般为download
右键用pl/sql编辑器编写成超链接,加入以下内容:
复制代码 代码如下:

function b_13formattrigger return boolean is
begin
if upper(:p_action) != 'download' then
return (false);
else
srw.set_hyperlink(exp_file.linkto);
return (true);
end if;
end;

2、建立程序单元exp_file和exp_file,加入link_to函数,内容如下:
复制代码 代码如下:

function linkto return varchar2
is
begin
return (:p_url||filename);
end linkto;

3、编写触发器before_report,把要下载内容追加到下载页面中,内容如下:
复制代码 代码如下:

function beforereport return boolean is
begin
if upper(:p_action) = 'download' then
:p_session := userenv('sessionid');
:p_test := exp_file.make('vendor_item_reference_enquiry_'||to_char(sysdate,'yyyymmddhh24miss'),:p_userid,'csv',false);
exp_file.append('|'||'|'||'|'||'|'||'vendor item reference enquiry'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|');
exp_file.append('|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|');
exp_file.append('selection criteria'||'|'||'ccn:'||'|'||:p_ccn||'|'||'|'||'mas loc:'||'|'||:p_masloc||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|');
exp_file.append('|'||'division:'||'|'||:p_fr_div||'|'||'|'||'to:'||'|'||:p_to_div||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|');
exp_file.append('|'||'|'||'vendor:'||'|'||:p_fr_vendor||'|'||'|'||'to:'||'|'||:p_to_vendor||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|');
exp_file.append('|'||'|'||'item:'||'|'||:p_fr_item||'|'||'|'||'to:'||'|'||:p_to_item||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|'||'|');
exp_file.append('dept*'|| '|' ||'vendor'||'|'||'pur loc '||'|'||'item'||'|'||'make'||'|'||'description'||'|'||'env. std.'||'|'||'env. status ');
return(true);
else
return(true);
end if;
end;