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;