EBS Form開發(fā)總結(jié)_第1頁
EBS Form開發(fā)總結(jié)_第2頁
EBS Form開發(fā)總結(jié)_第3頁
EBS Form開發(fā)總結(jié)_第4頁
EBS Form開發(fā)總結(jié)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Oracle ERPE-BUSINESS SUITEForm開發(fā)總結(jié)文檔作者:何云創(chuàng)建日期:2012-02-12更新日期:2015-02-10文檔編碼:MD070當(dāng)前版本:1.1審批者:用戶項(xiàng)目經(jīng)理:信息部項(xiàng)目經(jīng)理:外包方項(xiàng)目經(jīng)理:文檔控制1.1更新記錄日期作者版本變更參考2012-02-12何云1.0建立2015-02-10何云1.1更新1.2審閱記錄姓名職位簽字1.3分發(fā)人員編碼姓名地點(diǎn)和位置簽名1234目錄文檔控制ii1.1更新記錄ii1.2審閱記錄ii1.3分發(fā)人員ii1.前言42.基本步驟52.1 環(huán)境設(shè)置52.2 新建fmb52.3 添加對象52.4 建立主體對象62.5 初始化參

2、數(shù)72.6 標(biāo)準(zhǔn)代碼92.7 ITEM調(diào)整112.8 界面調(diào)整122.9 實(shí)現(xiàn)增刪改鎖132.10 手電筒查詢182.11 上傳編譯193.常用功能203.1 TAB頁Folder203.2 彈性域233.3 LOV253.4 Form個性化263.5 彈出窗口居中263.6 警告263.7 Onetime_where與Default_where273.8 啟動功能283.9 退出form283.10 工具欄283.11 保存點(diǎn)及回滾294.其他功能304.1 消息等級304.2 顏色屬性304.3 CASE_INSENSITIVE_QUERY304.4 Clear_block304.5 禁用

3、歷史記錄305.附件325.1 觸發(fā)器執(zhí)行順序326.參考資料33EBS Form開發(fā)總結(jié)1.前言在學(xué)習(xí)form的過程中,平時有在寫一些關(guān)于form開發(fā)的筆記,不過內(nèi)容都比較零散,沒有歸納成一篇較為全面的總結(jié)文檔。在此基礎(chǔ)上,寫下一份針對form開發(fā)較為系統(tǒng)的個人總結(jié)。本次總結(jié)主要以我目前所做過的form開發(fā)為基礎(chǔ),內(nèi)容未必覆蓋form開發(fā)的全部內(nèi)容,部分功能的實(shí)現(xiàn)方法和步驟的先后順序也未必最佳,日后將不斷完善。以下出現(xiàn)的代碼中,淺藍(lán)色部分為在實(shí)際開發(fā)需要變化的部分。2.基本步驟以下為開發(fā)一個普通頭行結(jié)構(gòu),帶有非TAB 的Folder功能的Form的基本步驟。2.1 環(huán)境設(shè)置僅在第一次開發(fā)EB

4、S R12 FORM時進(jìn)行此步。從安裝EBS的服務(wù)器上下載resource文件夾,路徑位于$AU_TOP/resource。從安裝EBS的服務(wù)器上下載fmb文件,路徑位于$AU_TOP/form/ZHS和$AU_TOP/form/US。在注冊表中,將以上3個路徑寫到Forms_Path(在注冊表中搜索即可找到)中,格式是:resource路徑;form的ZHS路徑; form的US路徑。2.2 新建fmb復(fù)制模板TEMPLATE.fmb創(chuàng)建一個新的fmb文件,改名為:3位應(yīng)用簡稱+3位模塊簡稱+2位功能簡稱,名稱最好不長于11位字符。名稱不可使用小寫字母,否則在ebs中運(yùn)行會出錯。2.3 添加

5、對象1.STANDARD_FOLDER如果不用forlder可以跳過此步,但考慮到日后對form布局的維護(hù),一般情況下的多行塊都建議做成folder形式。從APPSTAND.fmb中復(fù)制STANDARD_FOLDER對象組至在開發(fā)中的form,復(fù)制時選擇子類,不可修改。2.APPFLDR如果不用forlder可以跳過此步。在附加的庫中添加APPFLDR.pll,選擇移除絕對路徑。2.4 建立主體對象1.窗口刪除模板自帶窗口BLOCKNAME并新建窗口,主WINDOW建議起名為MAIN或MAIN_WIN,便于維護(hù)。為主WINDOW設(shè)置窗口名稱、最小化窗口名稱和主畫布,并把子類設(shè)置為WINDOW。

6、在form級觸發(fā)器pre-form中添加以下代碼:app_window.set_window_position('MAIN', 'FIRST_WINDOW');有時候自己做的form運(yùn)行時跑出來的界面卻不是自己做的界面,很可能就是因?yàn)闆]有刪除BLOCKNAME對象且沒有修改以上這句代碼中的第一個參數(shù)。2.畫布刪除模板自帶畫布BLOCKNAME并新建畫布,主CANVAS建議起名為MAIN,便于維護(hù)。為主畫布設(shè)置窗口,并把子類設(shè)置為CANVAS。為實(shí)現(xiàn)folder功能,還至少需要一個用來放置非固定列的畫布,子類選擇CANVAS_STACKED。畫布的上下順序?qū)Χ询B的

7、效果有影響,將置于底層的畫布放置在上方。3.數(shù)據(jù)塊刪除模板自帶數(shù)據(jù)塊BLOCKNAME。先在數(shù)據(jù)庫中創(chuàng)建好需要的視圖,需要帶有基表的ROWID,并起別名為ROW_ID。一般較少直接使用基表,這樣會降低程序的靈活性。再使用數(shù)據(jù)庫創(chuàng)建向?qū)Ы?yīng)的數(shù)據(jù)塊。Header塊及Line塊的固定列放置在主畫布上,Line塊的非固定列放置在堆疊畫布上。Line塊需要有滾動條,且滾動條放置于MAIN畫布上。在Header塊中找到剛創(chuàng)建的關(guān)系,在屬性中把防止無主記錄操作選成是。手動創(chuàng)建一個數(shù)據(jù)塊CONTROL(一般按鈕放于此),屬性中的數(shù)據(jù)庫數(shù)據(jù)塊選擇否。手動創(chuàng)建一個提示數(shù)據(jù)塊(folder需要),屬性中的數(shù)據(jù)

8、庫數(shù)據(jù)塊選擇否。Header塊的導(dǎo)航,導(dǎo)航器樣式選擇改變數(shù)據(jù)塊,前一個數(shù)據(jù)塊選擇自身,后一個數(shù)據(jù)塊選擇Line塊,使用戶能從Header導(dǎo)航至Line。Line塊的導(dǎo)航,導(dǎo)航器樣式選擇改變記錄,前一個數(shù)據(jù)塊選擇Header塊,后一個數(shù)據(jù)塊選擇自身,使用戶能從一行導(dǎo)航至下一行。將全部塊的子類設(shè)置為BLOCK。根據(jù)需要對Header塊和Line塊的數(shù)據(jù)庫屬性,包括允許查詢、允許插入、允許更新和允許刪除等,做出調(diào)整。注意點(diǎn):1.塊名長度不可大于22。2. 頭行結(jié)構(gòu)設(shè)置級聯(lián)刪除時,系統(tǒng)會自動添加一個pre-delete觸發(fā)器代碼。2.5 初始化參數(shù)1.庫存組織參數(shù)如果form中的操作不需要區(qū)別不同的庫

9、存組織,可以跳過此步。增加4個參數(shù):number型的ORG_ID;char型的ORG_CODE;char型的ORG_NAME;number型的CHART_OF_ACCOUNTS_ID??梢允謩觿?chuàng)建。也可以從INVSTAND.fmb的對象組中將INV_PARAMS拖到正在開發(fā)的form的對象組中,選擇子類。在form級觸發(fā)器pre-form中添加以下代碼:FND_ORG.CHOOSE_ORG;用戶在打開form前就需要選擇庫存組織,庫存組織的相應(yīng)信息會被保存在以上4個參數(shù)中。在form級觸發(fā)器when-new-form-instance中添加以下代碼:app_window.set_title(&

10、#39;QUERY_FIND',name_in('PARAMETER.ORG_NAME');app_window.set_title('MAIN',name_in('PARAMETER.ORG_NAME');使form中的窗口名稱后面都帶上庫存組織名稱,便于用戶操作。例如:交貨平臺(中彈組織)。在Header塊級觸發(fā)器when-new-block-instance中添加以下代碼:set_block_property('HEADER_BLOCKNAME',DEFAULT_WHERE,'ORGANIZATION_ID

11、= '|:parameter.ORG_ID|' ');From后續(xù)開發(fā)中使用ORG_ID區(qū)別不同庫存組織。2.配置文件參數(shù)如果form功能不涉及配置文件,可以跳過此步。創(chuàng)建參數(shù)用以保存配置文件的值,參數(shù)初始值設(shè)置為當(dāng)配置文件值為空時所希望的缺省值。如item_ updatability_control,初始為N。在form級觸發(fā)器PRE-FORM中添加以下代碼:if fnd_profile.VALUE('CUX_XXX_XXX_CONTROLS') is not null then:parameter.item_updatability_control:

12、=fnd_profile.VALUE('CUX_XXX_XXX_CONTROLS');end if;form后續(xù)功能開發(fā)通過此類參數(shù)達(dá)到配置文件控制的作用。3.業(yè)務(wù)實(shí)體參數(shù)如果form中的操作不需要區(qū)別不同的業(yè)務(wù)實(shí)體,可以跳過此步。實(shí)際上,業(yè)務(wù)實(shí)體參數(shù)是一個名稱為“ORG_ID”的特定的配置文件參數(shù)。創(chuàng)建參數(shù)用以保存業(yè)務(wù)實(shí)體ID,一般起名為ORG_ID。在form級觸發(fā)器PRE-FORM中添加以下代碼:if fnd_profile.VALUE('ORG_ID') is not null then:parameter.ORG_ID:=fnd_profile.VAL

13、UE(' ORG_ID ');end if;From后續(xù)開發(fā)中使用ORG_ID區(qū)別不同業(yè)務(wù)實(shí)體。2.6 標(biāo)準(zhǔn)代碼1.APP_CUSTOM在程序單元app_custom. close_window中修改以下代碼:if (wnd = 'MAIN') then app_window.close_first_window;表現(xiàn)的效果是:當(dāng)用戶點(diǎn)擊MAIN窗口右上方的叉,整個form會退出;而當(dāng)用戶點(diǎn)擊form的其他窗口右上方的叉,僅會隱藏當(dāng)前窗口。2.FORM同名PACKAGE在程序單元中增加一個與form同名的package,package頭里定義如下procedur

14、e:procedure event_handler(event varchar2);form級觸發(fā)器里的代碼都建議寫在這個event_handler內(nèi),尤其是行數(shù)多于3行時。在package body里添加以下代碼(不用folder可以跳過):PROCEDURE event_handler(event VARCHAR2) ISBEGIN IF event = 'WHEN-NEW-FORM-INSTANCE' THEN app_folder.define_folder_block('FOLDER_NAME', 'LINE_BLOCKNAME', &

15、#39;LINE_PROMPT_BLOCKNAME', 'FOLDER_STACKED_CANVAS', 'MAIN', NULL, NULL, NULL); app_folder.event('INSTANTIATE'); END IF;END event_handler;3.FORM級觸發(fā)器 以下代碼均為實(shí)現(xiàn)folder。 名稱代碼When-window-resizedif :system.event_window in ('MAIN') thenapp_folder.event('WHEN-WINDOW-RE

16、SIZED');end if;FOLDER_ACTIONapp_folder.event(:global.folder_action);KEY-CLRFRMapp_folder.event('KEY-CLRFRM');WHEN-NEW-FORM-INSTANCEFORM_NAME.event_handler('WHEN-NEW-FORM-INSTANCE');注意點(diǎn):如果When-window-resized中的window名不正確,在form實(shí)際運(yùn)行時會發(fā)現(xiàn)folder區(qū)域不會隨窗口寬度的變化而變化。4.BLOCK級觸發(fā)器為實(shí)現(xiàn)folder功能,一共需

17、要在Line塊添加BLOCK級觸發(fā)器14個:觸發(fā)器名稱代碼WHEN-NEW-RECORD-INSTANCEapp_folder.event('WHEN-NEW-RECORD-INSTANCE');WHEN-NEW-BLOCK-INSTANCEapp_folder.event('WHEN-NEW-BLOCK-INSTANCE');PRE-QUERYapp_folder.event('PRE-QUERY');POST-QUERYapp_folder.event('POST-QUERY');app_globe.event('PO

18、ST-QUERY');PRE-BLOCKapp_folder.event('PRE-BLOCK');POST-BLOCKapp_folder.event('POST-BLOCK');KEY-ENTQRYapp_folder.event('KEY-ENTQRY');KEY-EXEQRYapp_folder.event('KEY-EXEQRY');KEY-PREV-ITEMapp_folder.event('KEY-PREV-ITEM');KEY-NEXT-ITEMapp_folder.event('K

19、EY-NEXT-ITEM');KEY-PRVRECapp_folder.event('KEY-PRVREC');KEY-NXTRECapp_folder.event('KEY-NXTREC');KEY-CLRRECapp_folder.event('KEY-CLRREC');KEY-CLRBLKapp_folder.event('KEY-CLRBLK');2.7 ITEM調(diào)整1.Header Item增加需要的非數(shù)據(jù)庫項(xiàng)。ROW_ID項(xiàng)的子類選擇ROW_ID。所有顯示的項(xiàng)都需要設(shè)置對應(yīng)的子類,以保持與EBS一致的風(fēng)格。對各

20、項(xiàng)的細(xì)節(jié),如是否可更新、項(xiàng)導(dǎo)航順序、數(shù)據(jù)有效性、初始值、數(shù)字格式和提示文字等,做出調(diào)整。2.Line Item增加需要的非數(shù)據(jù)庫項(xiàng)。ROW_ID項(xiàng)的子類選擇ROW_ID。所有顯示的項(xiàng)都需要設(shè)置對應(yīng)的子類,以保持與EBS一致的風(fēng)格。刪除所有folder顯示項(xiàng)的提示文字。對各項(xiàng)的細(xì)節(jié),如是否可更新、項(xiàng)導(dǎo)航順序、數(shù)據(jù)有效性、初始值和數(shù)字格式等,做出調(diào)整。增加以下兩個項(xiàng):名稱子類畫布FOLDER_SWITCHERSWITCHERFOLDER的堆疊畫布CURRENT_RECORD_INDICATORCURRENT_RECORD_INDICATORMAIN并且分別在它們的項(xiàng)級觸發(fā)器WHEN-NEW-ITE

21、M-INSTANCE中添加以下代碼:app_folder_move_cursor('1');3.提示塊Item從LINE塊復(fù)制全部使用folder的項(xiàng)至提示塊,子類全都選擇FOLDER_PROMPT_MULTIROW,初始值分別設(shè)置為相應(yīng)的列標(biāo)題。注意項(xiàng)序保持與LINE塊一致。增加以下六個項(xiàng):名稱子類畫布ORDER_BY1FOLDER_ORDERBYFOLDER的堆疊畫布ORDER_BY2FOLDER_ORDERBYFOLDER的堆疊畫布ORDER_BY3FOLDER_ORDERBYFOLDER的堆疊畫布FOLDER_DUMMYFOLDER_DUMMYTOOLBARFOLDER

22、_TITLEDYNAMIC_TITLEMAINFOLDER_OPENFOLDER_OPENMAIN4.CONTROL塊Item按照需求添加相應(yīng)的控制組件,多為按鈕。按鈕的子類:BUTTON。按鈕的標(biāo)簽:顯示文本(&快捷鍵字母),如清除(&C)。注意:導(dǎo)航到一個數(shù)據(jù)塊上時,如果塊上一個可導(dǎo)航的項(xiàng)都沒有,將出現(xiàn)畫面死機(jī)的BUG。2.8 界面調(diào)整以下僅考慮Header項(xiàng)皆位于Line項(xiàng)上方、Control項(xiàng)皆位于Line項(xiàng)下方、帶folder的情況。1.Folder堆疊畫布 在畫布屬性中設(shè)置顯示水平滾動條。 參考下面表格做出調(diào)整。名稱坐標(biāo)/數(shù)值提示項(xiàng)和ORDER_BY項(xiàng)(0,0)Li

23、ne塊的內(nèi)容項(xiàng)(0,0.25)高度0.25*(Line塊顯示的記錄數(shù)+1)寬度窗口寬度-固定列區(qū)域?qū)挾龋o固定列時為0)-0.5視圖端口高度0.25*(Line塊顯示的記錄數(shù)+1)視圖端口寬度窗口寬度-固定列區(qū)域?qū)挾龋o固定列時為0)-0.5視圖端口的X軸位置0.25+固定列區(qū)域?qū)挾纫晥D端口的Y軸位置按實(shí)際情況設(shè)置(一般保持與Header區(qū)域相差0.25)注意點(diǎn):1.提示項(xiàng)與內(nèi)容項(xiàng)的寬度保持一致。2.內(nèi)容項(xiàng)最好與提示項(xiàng)在Y軸方向上緊貼,如果離得過遠(yuǎn)(大于0.1),在多行記錄滾動時會出現(xiàn)內(nèi)容項(xiàng)移位的bug。2.MAIN畫布對Header項(xiàng)的位置做適當(dāng)調(diào)整,確定Header區(qū)域坐標(biāo)及高寬。參考以下

24、表格做出調(diào)整。名稱坐標(biāo)/數(shù)值畫布高度窗口高度畫布寬度窗口寬度FOLDER_OPEN(0.25,Header區(qū)域Y坐標(biāo)+Header區(qū)域高度)FOLDER_TITLE(0.5, Header區(qū)域Y坐標(biāo)+Header區(qū)域高度+0.05)CURRENT_RECORD_INDICATOR(0.15, Header區(qū)域Y坐標(biāo)+Header區(qū)域高度+0.5)Line塊滾動條(窗口寬度-0.25,Header區(qū)域Y坐標(biāo)+Header區(qū)域高度+0.5) Control項(xiàng)置于Line區(qū)域與窗口下邊界之間,做適當(dāng)調(diào)整。2.9 實(shí)現(xiàn)增刪改鎖基于視圖的form的增刪改鎖操作需要我們添加代碼完成。以下程序包代碼可以通過

25、漢得的公共程序包HAND_PLSQL_AUTOCREATE自動生成。注意點(diǎn):HAND_PLSQL_AUTOCREATE切忌小寫。 首先創(chuàng)建以下兩個程序包規(guī)格:名稱內(nèi)容Header_BlockName_privatePACKAGE Header_BlockName_private IS PROCEDURE insert_row; PROCEDURE lock_row;PROCEDURE update_row;PROCEDURE delete_row;END Header_BlockName_private;Line_BlockName_privatePACKAGE Line_BlockName_

26、private IS PROCEDURE insert_row; PROCEDURE lock_row;PROCEDURE update_row;PROCEDURE delete_row;END Line_BlockName_private;再創(chuàng)建對應(yīng)的程序包主體,Header與Line相似,以下僅列出Header_BlockName_private主體代碼:PACKAGE BODY header_blockname_private IS /*= * PROCEDURE: insert_row() *=*/ PROCEDURE insert_row IS CURSOR row_id IS SE

27、LECT ROWID FROM header_table_all WHERE header_table_primary_key = :header_blockname.header_table_primary_key; BEGIN fnd_standard.set_who; IF :header_blockname.header_table_primary_key IS NULL THEN SELECT header_table_all_s.nextval INTO :header_blockname.header_table_primary_key FROM sys.dual; END IF

28、; INSERT INTO header_table_all (creation_date, created_by, last_updated_by, last_update_date, last_update_login, header_table_primary_key, header_table_col1, header_table_col2, header_table_col3, attribute_category, attribute1, attribute2, attribute3, attribute4, attribute5, attribute6, attribute7,

29、attribute8, attribute9, attribute10, attribute11, attribute12, attribute13, attribute14, attribute15) VALUES (:header_blockname.creation_date, :header_blockname.created_by, :header_blockname.last_updated_by, :header_blockname.last_update_date, :header_blockname.last_update_login, :header_blockname.h

30、eader_table_primary_key, :header_blockname.header_table_col1, :header_blockname.header_table_col2, :header_blockname.header_table_col3, :header_blockname.attribute_category, :header_blockname.attribute1, :header_blockname.attribute2, :header_blockname.attribute3, :header_blockname.attribute4, :heade

31、r_blockname.attribute5, :header_blockname.attribute6, :header_blockname.attribute7, :header_blockname.attribute8, :header_blockname.attribute9, :header_blockname.attribute10, :header_blockname.attribute11, :header_blockname.attribute12, :header_blockname.attribute13, :header_blockname.attribute14, :

32、header_blockname.attribute15); OPEN row_id; FETCH row_id INTO :header_blockname.row_id; IF (row_id%NOTFOUND) THEN CLOSE row_id; RAISE no_data_found; END IF; CLOSE row_id; END insert_row; /*= * PROCEDURE: lock_row() *=*/ PROCEDURE lock_row IS CURSOR c_row IS SELECT * FROM header_table_all WHERE ROWID

33、 = :header_blockname.row_id FOR UPDATE OF header_table_primary_key NOWAIT; rec c_row%ROWTYPE; i NUMBER := 0; BEGIN LOOP BEGIN i := i + 1; OPEN c_row; FETCH c_row INTO rec; IF (c_row%NOTFOUND) THEN CLOSE c_row; fnd_message.set_name('FND', 'FORM_RECORD_DELETED'); fnd_message.error; RAI

34、SE form_trigger_failure; END IF; CLOSE c_row; IF (rec.creation_date = :header_blockname.creation_date) OR (rec.creation_date IS NULL) AND (:header_blockname.creation_date IS NULL) AND (rec.created_by = :header_blockname.created_by) OR (rec.created_by IS NULL) AND (:header_blockname.created_by IS NUL

35、L) AND (rec.last_updated_by = :header_blockname.last_updated_by) OR (rec.last_updated_by IS NULL) AND (:header_blockname.last_updated_by IS NULL) AND (rec.last_update_date = :header_blockname.last_update_date) OR (rec.last_update_date IS NULL) AND (:header_blockname.last_update_date IS NULL) AND (re

36、c.last_update_login = :header_blockname.last_update_login) OR (rec.last_update_login IS NULL) AND (:header_blockname.last_update_login IS NULL) AND (rec.header_table_primary_key = :header_blockname.header_table_primary_key) AND (rec.header_table_col1 = :header_blockname.header_table_col1) OR (rec.he

37、ader_table_col1 IS NULL) AND (:header_blockname.header_table_col1 IS NULL) AND (rec.header_table_col2 = :header_blockname.header_table_col2) OR (rec.header_table_col2 IS NULL) AND (:header_blockname.header_table_col2 IS NULL) AND (rec.header_table_col3 = :header_blockname.header_table_col3) OR (rec.

38、header_table_col3 IS NULL) AND (:header_blockname.header_table_col3 IS NULL) AND (rec.attribute_category = :header_blockname.attribute_category) OR (rec.attribute_category IS NULL) AND (:header_blockname.attribute_category IS NULL) AND (rec.attribute1 = :header_blockname.attribute1) OR (rec.attribut

39、e1 IS NULL) AND (:header_blockname.attribute1 IS NULL) AND (rec.attribute2 = :header_blockname.attribute2) OR (rec.attribute2 IS NULL) AND (:header_blockname.attribute2 IS NULL) AND (rec.attribute3 = :header_blockname.attribute3) OR (rec.attribute3 IS NULL) AND (:header_blockname.attribute3 IS NULL)

40、 AND (rec.attribute4 = :header_blockname.attribute4) OR (rec.attribute4 IS NULL) AND (:header_blockname.attribute4 IS NULL) AND (rec.attribute5 = :header_blockname.attribute5) OR (rec.attribute5 IS NULL) AND (:header_blockname.attribute5 IS NULL) AND (rec.attribute6 = :header_blockname.attribute6) O

41、R (rec.attribute6 IS NULL) AND (:header_blockname.attribute6 IS NULL) AND (rec.attribute7 = :header_blockname.attribute7) OR (rec.attribute7 IS NULL) AND (:header_blockname.attribute7 IS NULL) AND (rec.attribute8 = :header_blockname.attribute8) OR (rec.attribute8 IS NULL) AND (:header_blockname.attr

42、ibute8 IS NULL) AND (rec.attribute9 = :header_blockname.attribute9) OR (rec.attribute9 IS NULL) AND (:header_blockname.attribute9 IS NULL) AND (rec.attribute10 = :header_blockname.attribute10) OR (rec.attribute10 IS NULL) AND (:header_blockname.attribute10 IS NULL) AND (rec.attribute11 = :header_blo

43、ckname.attribute11) OR (rec.attribute11 IS NULL) AND (:header_blockname.attribute11 IS NULL) AND (rec.attribute12 = :header_blockname.attribute12) OR (rec.attribute12 IS NULL) AND (:header_blockname.attribute12 IS NULL) AND (rec.attribute13 = :header_blockname.attribute13) OR (rec.attribute13 IS NUL

44、L) AND (:header_blockname.attribute13 IS NULL) AND (rec.attribute14 = :header_blockname.attribute14) OR (rec.attribute14 IS NULL) AND (:header_blockname.attribute14 IS NULL) AND (rec.attribute15 = :header_blockname.attribute15) OR (rec.attribute15 IS NULL) AND (:header_blockname.attribute15 IS NULL)

45、 THEN RETURN; ELSE fnd_message.set_name('FND', 'FORM_RECORD_CHANGED'); fnd_message.error; RAISE form_trigger_failure; END IF; EXCEPTION WHEN app_exception.record_lock_exception THEN app_exception.record_lock_error(i); END; END LOOP; END lock_row; /*= * PROCEDURE: update_row() *=*/ PR

46、OCEDURE update_row IS BEGIN fnd_standard.set_who; UPDATE header_table_all SET creation_date = :header_blockname.creation_date, created_by = :header_blockname.created_by, last_updated_by = :header_blockname.last_updated_by, last_update_date = :header_blockname.last_update_date, last_update_login = :h

47、eader_blockname.last_update_login, header_table_primary_key = :header_blockname. header_table_primary_key, header_table_col1 = :header_blockname.header_table_col1, header_table_col2 = :header_blockname.header_table_col2, header_table_col3 = :header_blockname.header_table_col3, attribute_category = :

48、header_blockname.attribute_category, attribute1 = :header_blockname.attribute1, attribute2 = :header_blockname.attribute2, attribute3 = :header_blockname.attribute3, attribute4 = :header_blockname.attribute4, attribute5 = :header_blockname.attribute5, attribute6 = :header_blockname.attribute6, attribute7 = :header_blockname.attribute7, attribute8 = :header_blockname.attribute8, attribute9 = :header_blockname.attribute9, attribute10 = :header_b

溫馨提示

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

最新文檔

評論

0/150

提交評論