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