Oracle Report中加入下載超鏈接操作方法
更新時間:2012年11月15日 16:50:29 作者:
有些朋友可能會在Oracle Report中加入下載超鏈接,本文將介紹如何實現(xiàn)此更能
1、在報表頁面布局相應的位置加入文本框,一般為Download
右鍵用PL/SQL編輯器編寫成超鏈接,加入以下內(nèi)容:
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函數(shù),內(nèi)容如下:
FUNCTION linkto RETURN VARCHAR2
IS
BEGIN
RETURN (:P_URL||filename);
END linkto;
3、編寫觸發(fā)器BEFORE_REPORT,把要下載內(nèi)容追加到下載頁面中,內(nèi)容如下:
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;
右鍵用PL/SQL編輯器編寫成超鏈接,加入以下內(nèi)容:
復制代碼 代碼如下:
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函數(shù),內(nèi)容如下:
復制代碼 代碼如下:
FUNCTION linkto RETURN VARCHAR2
IS
BEGIN
RETURN (:P_URL||filename);
END linkto;
3、編寫觸發(fā)器BEFORE_REPORT,把要下載內(nèi)容追加到下載頁面中,內(nèi)容如下:
復制代碼 代碼如下:
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;
相關(guān)文章
Oracle11g RAC開啟關(guān)閉、設置歸檔小結(jié)
這篇文章主要介紹了Oracle11g RAC開啟關(guān)閉、設置歸檔,很簡單,但很實用,需要的朋友可以參考下2014-09-09Oracle密碼錯誤次數(shù)過多賬號鎖定的問題(推薦)
一般數(shù)據(jù)庫默認是10次嘗試失敗后鎖住用戶。這篇文章主要介紹了Oracle密碼錯誤次數(shù)過多賬號鎖定的問題,需要的朋友可以參考下2017-03-03Oracle 11g數(shù)據(jù)庫安裝與卸載的方法圖解
如果小編使用的是win7系統(tǒng),最好采用11g,否則很可能10g出現(xiàn)不兼容安裝不成功的情況。下面給大家分享Oracle 11g數(shù)據(jù)庫安裝與卸載的方法圖解,非常不錯,感興趣的朋友一起看看吧2016-09-09Oracle誤刪除表數(shù)據(jù)后的數(shù)據(jù)恢復詳解
這篇文章主要介紹了Oracle誤刪除表數(shù)據(jù)后的數(shù)據(jù)恢復詳解,需要的朋友可以參考下2015-08-08