觸發(fā)器總結.doc_第1頁
觸發(fā)器總結.doc_第2頁
觸發(fā)器總結.doc_第3頁
觸發(fā)器總結.doc_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 form級別1、 WHEN-NEW-FORM-INSTANCE當新form的時候a、go_block(BLOCK_QUERY);b、app_window.set_window_position(QUERY,CENTER,POHEADERSALL);c、search;(主form傳過來的PO_ID參數(shù),打開這個form時,有缺省的where語句,然后執(zhí)行查詢,最后go_block到這個form中的數(shù)據(jù)塊上)。具體:寫程序單元,在這個觸發(fā)器中調用這個程序單元:SEARCH;PROCEDURE search ISls_where varchar2(2000) :=1=1;BEGIN ls_where :=ls_where | and po_id=| :parameter.PO_ID; set_block_property(HYP_PO_HEADERS_ALL_V,default_where,ls_where); go_block(HYP_PO_HEADERS_ALL_V); execute_Query;END;2、 QUERY-FIND查詢時,點擊小手電筒時go_block(BLOCK_QUERY);3、 CLOSE-WINDOW關閉窗口時exit_form;null;2、 數(shù)據(jù)塊級別1、 CLOSE-WINDOWa、 go_block(HYP_PO_HEADERS_ALL_V);一個form中有兩個數(shù)據(jù)塊,一個查詢,一個顯示查詢結果,當關掉這個數(shù)據(jù)塊時,go到顯示結果的數(shù)據(jù)塊。2、 PRE-INSERTa、:HYP_PO_HEADERS_ALL_V.PO_NUMBER :=cux_po_pkg.get_po_number(trunc(sysdate);預插入:調用cux_po_pkg包中的get_po_number函數(shù),傳入當前系統(tǒng)時間,trunc取消時分秒,賦值給某個項。b、:HYP_RECEIPT_LNIES_ALL_V.AMOUNT :=cux_po_pkg.get_quantity(:HYP_RECEIPT_LNIES_ALL_V.PO_LINE_ID);得到剩余數(shù)量:訂單數(shù)量到貨數(shù)量function get_quantity(p_po_line_id number) return number is lv_po_amount number; lv_rec_amount number; lv_amount number;begin begin select line.quantity into lv_po_amount from hyp_po_lines_all line where line.po_line_id=p_po_line_id; exception when others then lv_po_amount := 0; end ; begin select sum(quantity) into lv_rec_amount from hyp_receipt_lnies_all line where line.po_line_id=p_po_line_id; exception when others then lv_rec_amount := 0; end; lv_amount := lv_po_amount-lv_rec_amount; return nvl(lv_amount,0);end;3、 WHEN-NEW-RECORD-INSTANCEif :HYP_PO_HEADERS_ALL_V.PO_STATUS N thenset_block_property(HYP_PO_HEADERS_ALL_V,DELETE_ALLOWED,PROPERTY_FALSE);set_block_property(HYP_PO_HEADERS_ALL_V,UPDATE_ALLOWED,PROPERTY_FALSE);else set_block_property(HYP_PO_HEADERS_ALL_V,DELETE_ALLOWED,PROPERTY_TRUE);set_block_property(HYP_PO_HEADERS_ALL_V,UPDATE_ALLOWED,PROPERTY_TRUE);end if;當某個項不為N(新建)時,(其他狀態(tài)為更改中,和完成)不可以改變這個數(shù)據(jù)塊本條記錄的其他項,4、 POST-QUERY:HYP_PO_HEADERS_ALL_V.AMOUNT:=cux_po_pkg.get_po_amount(:HYP_PO_HEADERS_ALL_V.PO_ID);每個訂單的總額,是調用包中的函數(shù)function get_po_amount(p_po_id number) return number is lv_amount number;begin select sum(hv.amount) into lv_amount from hyp_po_lines_all_v hv where hv.po_id=p_po_id; return lv_amount;end;3、 項級別的觸發(fā)器1、 WHEN-BUTTON-PRESSEDa、 go_block(HYP_PO_HEADERS_ALL_V);按某個按鈕(取消)時跳轉到某個數(shù)據(jù)塊b、 查詢,在查詢塊,按所輸入條件查詢。DECLARElv_where varchar2(2000) := 1=1;BEGINif :BLOCK_QUERY.PONUMBERSTART is not null thenlv_where := lv_where | and po_number= | :BLOCK_QUERY.PONUMBERSTART | ;end if;if :BLOCK_QUERY.PONUMBEREND is not null thenlv_where :=lv_where | and po_number=to_date(| to_char(:BLOCK_QUERY.PODATESTART,yyyymmdd) | ,yyyymmdd);end if;if :BLOCK_QUERY.PODATEEND is not null thenlv_where :=lv_where | and po_dateHYPRECLINESALLV, OPEN_FLAG = Y, SESSION_FLAG

溫馨提示

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

評論

0/150

提交評論