Oracle Forms Triggers

 

Trigger is a set of statements that executed when an action take a place.

There is some types depends on event level (Form, Block, Record, Item) for Triggers,

 if the same trigger found in more than one level then the lowest level will run ex: when_validate_item

on (form, block, item) then only the item level will run. The second types of triggers depends

on the time for run (pre, when, post, on, custom) each type is different from other in time to run.

Pre: before the chosen event ex: pre_query (before execute the query).

When: during the event ex: when_validate_item (when item data validation).

Post: after the event ex: Post_Query (after execution of query).

On: this type unpredictable cause we don’t know when it will run, may during a trigger execution or just when you try to enter data in protected field.

Custom: you can add a custom trigger and call it from any were (execute_trigger(‘custome_tri’);) 

Here are some of the most important trigger can the programmer use in any program: 

 

  trigger exe purpose level ex
1 When_new_form_instance 1 To initial some variable values form :global.datetime:=sysdate; 
:time_text:=sysdate;
:user_text:=user;
2 On_error 1 To handle error during run time, or to display it in good way to user. form If error_code = 14015 then 
Message('錯誤');
Message('錯誤');
End if;
3 Pre_insert, pre_update 1 To set some fields value implicitly in code. Form, Block :username := user;
4 Post_query Return rows To get description for code field. Block Select ename into :name_txt 
From emp where empno=:empno;
5 Pre_query 1 To set default where to block block Set_block_property ('block1',default_where,'deptno=1');
6 When_new_record_instance 1 To set initial values to block items when add new record. block Select max(empno)+1 into :empno 
From emp;
7 When_validate_item 1 To get description for the code entered in item. item Select ename into :name_txt 
From emp where empno=:empno;
8 Post_change 1 Executes only when item value is changed. item Select ename into :name_txt 
From emp where empno=:empno;
**Note: we preferred When_validate_item, cause it’s execute every time in item.
9 Key_next_item 1 Executes when you press enter-key after entered value in item. item Select ename into :name_txt 
From emp where empno=:empno;
**Note: it’s executes instead of going to the next item (:name_txt).
10 When_button_pressed 1 Executes when mouse click or by keyboard enter-key. item Message('clicked');pause; 
**Note: set property MOUSE NAVIGATE to NO
11 When_checkbox_changed 1 When you change the selection of radio, checkbox. item If :box = 1 then 
Message('open');
End if;

System Variables
1 : System.current_block Get the current block.
2 : SYSTEM.current_item Get the current item.
3 :System.block_status New, enter-query, changed

arrow
arrow
    全站熱搜

    oracleD2K 發表在 痞客邦 留言(0) 人氣()