Form客制化_快速導(dǎo)出功能_開發(fā)_V1.0_第1頁
Form客制化_快速導(dǎo)出功能_開發(fā)_V1.0_第2頁
Form客制化_快速導(dǎo)出功能_開發(fā)_V1.0_第3頁
Form客制化_快速導(dǎo)出功能_開發(fā)_V1.0_第4頁
Form客制化_快速導(dǎo)出功能_開發(fā)_V1.0_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Form客制化快速導(dǎo)出功能_開發(fā)Author:samt007Creation Date:2013-01-07Last Updated:2013-01-07Document Ref:<Document Reference Number> Version:1.0 Copy Number_Document ControlChange Record13DateAuthorVersionChange Reference2013-01-07Sam.T1.0No Previous DocumentReviewersNamePositionDistributionCopy No.NameLocat

2、ion1234Note To Holders:If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.

3、ContentsDocument Control2XYG Form客制化_快速導(dǎo)出功能_開發(fā)4功能優(yōu)勢和缺點(diǎn)4開發(fā)邏輯以及使用約束5相關(guān)設(shè)定以及說明8開發(fā)實(shí)例8測試/預(yù)覽導(dǎo)出效果9Open and Closed Issues for this Deliverable13Open Issues13Closed Issues13XYG Form客制化_快速導(dǎo)出功能_開發(fā)本教程主要是介紹Form客制化_快速導(dǎo)出功能_開發(fā)的相關(guān)功能,包含如下幾個(gè)部分:l 功能優(yōu)勢和缺點(diǎn)l 開發(fā)邏輯以及使用約束l 相關(guān)設(shè)定以及說明l 開發(fā)實(shí)例l 測試/預(yù)覽導(dǎo)出效果功能優(yōu)勢和缺點(diǎn)該功能” Form客制化_快速導(dǎo)出功能”是

4、和標(biāo)準(zhǔn)功能的導(dǎo)出功能很類似的。都是對(duì)數(shù)據(jù)塊的內(nèi)容做批量導(dǎo)出。一、 相對(duì)于標(biāo)準(zhǔn)的導(dǎo)出功能,本次客制化開發(fā)的快速導(dǎo)出功能的優(yōu)勢在:1) 導(dǎo)出的速度快!特別是大量的數(shù)據(jù)。這個(gè)優(yōu)勢也是做這次客制化的最重要的目的。用標(biāo)準(zhǔn)的導(dǎo)出功能都有一個(gè)感覺:導(dǎo)出速度慢。其慢的原因是,標(biāo)準(zhǔn)的導(dǎo)出功能是通過對(duì)每一行的每一個(gè)Item進(jìn)行復(fù)雜的判斷,再獲取值,將對(duì)應(yīng)的值用CHR(9)分隔符寫入FND_LOBS表,再輸出的。舉個(gè)簡單的例子,如果一個(gè)Block塊有30個(gè)欄位,查詢出的數(shù)據(jù)有1000行,那標(biāo)準(zhǔn)的Export功能就需要做30*1000=30000次的Item取值。所以應(yīng)該明白為什么當(dāng)導(dǎo)出超過100行的時(shí)候,標(biāo)準(zhǔn)要問你

5、:是否要繼續(xù)。?2) 新的功能是自動(dòng)提交請(qǐng)求 導(dǎo)出數(shù)據(jù),不需要寫FND_LOBS表,所以長遠(yuǎn)來說對(duì)系統(tǒng)的優(yōu)化是一大好處!因?yàn)闃?biāo)準(zhǔn)導(dǎo)出功能,每次導(dǎo)出都要寫一筆記錄到FND_LOBS表,F(xiàn)ND_LOBS表的日益增加,對(duì)數(shù)據(jù)庫的性能是很大的挑戰(zhàn)。二、 有優(yōu)勢當(dāng)然有缺點(diǎn),它的缺點(diǎn)在:新的導(dǎo)出功能的缺陷在,對(duì)于非數(shù)據(jù)庫欄位的Item,是不可以導(dǎo)出的。是一個(gè)比較大的缺點(diǎn)。所以,如果希望用這個(gè)導(dǎo)出功能,那對(duì)應(yīng)的Item必須是基于數(shù)據(jù)庫的Item,不可以是格式化的Item或者是別的非數(shù)據(jù)庫欄位的Item。另外,List Item也只可以獲取其Value,沒辦法獲取Value對(duì)應(yīng)的Meaning。開發(fā)邏輯以及使

6、用約束 XYG公用導(dǎo)出功能代碼: XYG_FORM_EXPORT.EXPORT功能用途:Form數(shù)據(jù)導(dǎo)出。功能開發(fā)邏輯:一、 動(dòng)態(tài)抓取對(duì)應(yīng)要導(dǎo)出的Form Block的欄位。就是抓:SELECT XXX的部分。其中,欄位別名用Form BLock Item對(duì)應(yīng)的提示。特別要注意的是:新增Profile設(shè)定值:XYG_EXPORT_ALL_BLOCK_COLUMN(信義:導(dǎo)出Form所有欄位標(biāo)識(shí))。是否導(dǎo)出所有欄位。當(dāng)Profile值:XYG_EXPORT_ALL_BLOCK_COLUMN設(shè)為N的時(shí)候:報(bào)表不顯示的Item的4種情況1)非數(shù)據(jù)庫欄位的Item2)Item是對(duì)應(yīng)數(shù)據(jù)庫表格(視圖)的

7、欄位,并且不可以是ROW_ID的欄位。3)Item的屬性的顯示行數(shù)=1的欄位4)Item是隱藏的欄位。當(dāng)Profile值:XYG_EXPORT_ALL_BLOCK_COLUMN設(shè)為Y的時(shí)候:就是顯示Form中的所有欄位。對(duì)于沒有別名提示的欄位,就以欄位的名稱代替。報(bào)表不顯示的Item的3種情況1)非數(shù)據(jù)庫欄位的Item2) Item是對(duì)應(yīng)數(shù)據(jù)庫表格(視圖)的欄位,并且不可以是ROW_ID的欄位。3)Item的屬性的顯示行數(shù)=1的欄位二、 動(dòng)態(tài)抓取對(duì)應(yīng)要導(dǎo)出的Form Block的Last Query。就是抓:FROM XXX WHERE XXX的部分。三、 將第一步和第二步抓取的內(nèi)容合并起來,

8、合并為一個(gè)完整的SQL語句,將這個(gè)語句塞到臨時(shí)表:XYG_FND_FORM_REPORT_TEMP四、 根據(jù)XYG_FND_FORM_REPORT_TEMP的表格ID,傳給請(qǐng)求"XYG_信義玻璃Form導(dǎo)出報(bào)表"作為提交報(bào)表的SQL語句。然后自動(dòng)提交報(bào)表。五、 公用標(biāo)準(zhǔn)導(dǎo)出功能的GLOBAL.FND_EXPORT_DEBUG,它是調(diào)試的標(biāo)識(shí)。設(shè)為TRUE則表示會(huì)調(diào)試,空或者FALSE則為不調(diào)試。六、 公用導(dǎo)出功能的導(dǎo)出權(quán)限XYG_FILE_EXPORT_PERMISSION(信義:可導(dǎo)出Form文件標(biāo)識(shí)),如果設(shè)為N,則不可以用導(dǎo)出的功能。開發(fā)難點(diǎn):主要有2個(gè)地方:一、 如

9、何動(dòng)態(tài)逐個(gè)找對(duì)應(yīng)要導(dǎo)出的Form-Block的Item以及其欄位意義。二、 動(dòng)態(tài)欄位的報(bào)表如何實(shí)現(xiàn)。部分核心導(dǎo)出代碼:動(dòng)態(tài)欄位的報(bào)表的實(shí)現(xiàn):主要是用動(dòng)態(tài)游標(biāo)。相關(guān)設(shè)定以及說明一、 Profile值:信義:導(dǎo)出Form所有欄位標(biāo)識(shí)XYG_EXPORT_ALL_BLOCK_COLUMN作用:是否導(dǎo)出所有欄位。當(dāng)設(shè)為“是”的時(shí)候,只要是Block有的數(shù)據(jù)庫的Item,無論是否顯示,都會(huì)導(dǎo)出來。當(dāng)設(shè)為否,值會(huì)導(dǎo)出顯示的欄位。二、 Profile值:信義:可導(dǎo)出Form文件標(biāo)識(shí)XYG_FILE_EXPORT_PERMISSION作用:是否有文件導(dǎo)出的權(quán)限。設(shè)為是,則可以用導(dǎo)出的功能。否則不可以導(dǎo)出。三、

10、 全局參數(shù):調(diào)試模式GLOBAL.FND_EXPORT_DEBUG作用:是否啟用調(diào)試模式。設(shè)為TRUE則表示會(huì)調(diào)試,空或者FALSE則為不調(diào)試。開發(fā)實(shí)例第一步:如果您的Form沒有Pll文件XYGPUBCORE.pll,需要加載。1. 加載之后,如下圖:第二步:在任何一個(gè)想做導(dǎo)出功能的操作增加代碼。例如我想用戶在點(diǎn)打印按鈕的時(shí)候,做文件導(dǎo)出,則具體步驟如下:1. 在Form級(jí)觸發(fā)器增加KEY-PRINT觸發(fā)器。2. 在KEY-PRINT觸發(fā)器增加代碼”XYG_FORM_EXPORT.EXPORT;”:開發(fā)完畢,是不是很簡單?因?yàn)樗械拇a都封裝在Pll里面了。測試/預(yù)覽導(dǎo)出效果1 首先“信義:導(dǎo)出Form所有欄位標(biāo)識(shí)”設(shè)為否,測試導(dǎo)出功能:2 如果沒有點(diǎn)查詢就用導(dǎo)出,會(huì)提示:3 點(diǎn)查詢,數(shù)據(jù):4 點(diǎn)增加了數(shù)據(jù)導(dǎo)出功能的打印按鈕:5 點(diǎn)繼續(xù),直接查看導(dǎo)出的文件:6 點(diǎn)查看請(qǐng)求,確認(rèn)后臺(tái)自動(dòng)提交的數(shù)據(jù)導(dǎo)出的請(qǐng)求:7 對(duì)于非數(shù)據(jù)庫塊,點(diǎn)導(dǎo)出,會(huì)有錯(cuò)誤提示:8 將“信義:導(dǎo)出Form所有欄位標(biāo)識(shí)”設(shè)為是,測試導(dǎo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論