作者: JAN-1(January) FEB-2(February) MAR-3(March) 
  APR-4(April) MAY-5(May) JUN-6(June) 
  JUL-7(July) AUG-8(August) SEP-9(September) 
  OCT-10(October) NOV-11(November) DEC-12(December) 
                                                                                              ******************************************************************** 
  ****************************常用設置******************************** 
  ---on-log 觸發器編寫示范 
  Declare 
  flag varchar2(80):=null; 
  cou number:=1; 
  n number; 
  Begin 
  Loop 
  logon(USERNAME,PASSWord'@'CONNECT,PROPERTY_FALSE....); 
  flag:=Get_application_Property(DATASOURCE); 
  Exit when cou>8 or flag='Oracle'; 
  cou:=cou+1; 
  End Loop; 
  If flag<>'ORACLE' then 
  set_alert_property('a_1',alert_message_text, 
  '登錄失敗,請返回重試'); 
  n:=show_alert('a_1'); 
  raise form_trigger_failure; --中斷 FORM 
  End if; 
  End; 
  ---對基表執行查詢(只對基表) 
  Set_Block_Property('Block_Name',Default_Where,'where ......'); 
  Go_Block('Block_Name'); 
  Execute_Query; 
  *************************************************** 
  變量: 
  局部變量; 
  全局變量--------------1.:block.item 
  2.:parameter.v_name 
  3.:global.V_name 
  
  *************************************************** 
  ---同步發生顯示 
  synchronize; 
  ---實施'TRIGGER'觸發 
  EXECUTE_TRIGGER(TRIGGER_NAME); 
  ---清除模塊 
  clear_block(NO_VALIDATE); 'NO_VALIDATE'不生效 
  --建立警告欄并由警告欄選擇 
  Declare 
  n number; 
  Begin 
  Set_Alert_Property('Alert_Name',Alert_Message_Text,'message'); 
  n:=Show_Alert('Alert_Name'); 
  If n=Alert_Button1 then 
  ...; 
  ElsIf n=Alert_Button2 then 
  ...; 
  End if; 
  End; 
  ---WINDOW設置 
  --運行時最大化,最小化 
  Set_Window_Property(FORMS_MDI_WINDOW, WINDOW_STATE, MAXIMIZEMINIMIZE); 
  --WINDOW標題 
  Set_Window_Property(FORMS_MDI_WINDOW, title,'TEXT'); 
  --退出是否為真 
  Set_Window_Property(FORMS_MDI_WINDOW, REMOVE_ON_EXIT,PROPERTY_FALSETRUE); 
  ---設置系統提示信息等級 
  :System.Message_Level:= '5101520'; 
  ---設置ITEM屬性 
  --設置ITEM屬性ENABLED 
  Set_Item_Property('Block_name.Item_name',ENABLED,PROPERTY_TRUEFALSE); 
  --設置ITEM屬性NAVIGABLE 
  Set_Item_Property('Block_name.Item_name',NAVIGABLE,PROPERTY_TRUEFALSE); 
  --設置ITEM屬性VISUAL_ATTRIBUTE 
  Set_Item_Property('Block_name.Item_name',visual_attribute,'vname'); 
  --'vname'由導航器中(VISUAL_ATTRIBUTES)定義 
  --設置ITEM屬性DISPLAYED 
  Set_Item_Property('Block_name.Item_name',displayed,TRUEFALSE); 
  --設置ITEM屬性POSITION 
  Set_Item_Property('Block_name.Item_name',position,x,y);
                          
  --設置ITEM_SIZE 
  Set_Item_Property('Block_name.Item_name',item_size,x,y); 
  --設置ITEM屬性LABLE 
  Set_Item_Property('Block_name.Item_name',LABEL,'MESSAGE') 
  ---設置LIST ITEM示范 
  Declare 
  n number; 
  Begin 
  clear_list('b1.fkfs'); 
  m:=populate_group('fkfs'); 
  populate_list('b1.fkfs','fkfs'); 
  /* 
  其中FKFS 為 record group ; 
  */ 
  End; 
  ---增加'LIST ITEM' 
  Add_List_Element(list_name, list_index, list_label, list_value); 
  Add_List_Element(list_id, list_index, list_label, list_value); 
  ---刪除'LIST ITEM'項 
  Delete_List_Element(list_name, list_index); 
  Delete_List_Element(list_id, list_index); 
  例: 
  BEGIN 
  Delete_List_Element('years',1); 
  Add_List_Element('years', 1, '1994', '1994'); 
  END; 
  ---獲得'LIST ITEM'項的組成 
  1.獲得'LIST ITEM'的總和 
  GET_LIST_ELEMENT_COUNT(list_id); 
  GET_LIST_ELEMENT_COUNT(list_name); 
  2.獲得'LIST ITEM'的標簽 
  GET_LIST_ELEMENT_LABEL(list_id, list_name, list_index); 
  GET_LIST_ELEMENT_LABEL(list_name, list_index); 
  
  3.獲得'LIST ITEM'的值 
  GET_LIST_ELEMENT_VALUE(list_id, list_index); 
  GET_LIST_ELEMENT_VALUE(list_name, list_index); 
  
  ---設置'時間' 
  DECLARE 
  timer_id Timer; 
  one_minute NUMBER(5) := 60000; 
  BEGIN 
  timer_id := CREATE_TIMER('emp_timer', one_minute, REPEATNO_REPEAT); 
  END; 
  ---產生一個'EDITER'框 
  DECLARE 
  ed_id Editor; 
  status BOOLEAN; 
  BEGIN 
  ed_id:=Find_Editor('edit_name'); ---由'edit_name'導航器定義 
  
  IF NOT Id_Null(ed_id) THEN 
  Show_Editor(ed_id, NULL, :block_name.item_name, status); 
  ELSE 
  Message('Editor "Happy_Edit_Window" not found'); 
  RAISE Form_Trigger_Failure; 
  END IF; 
  END; 
  ----產生一個'LOV'框 
  DECLARE 
  lv_id LOV; 
  status BOOLEAN; 
  BEGIN 
  lv_id := Find_LOV('lov_name'); ---'lov_name' 由導航器定義 
  -- IF Id_Null(lv_id) THEN 
  -- lv_id := Find_LOV('lov_name1'); ---'lov_name1' 由導航器定義 
  -- END IF; 
  status := Show_LOV(lv_id,10,20); 
  END; 
  ---定義一個'EXCEPTION'例外 
  Declare 
  err_1 exception; 
  Begin 
  If ... then 
  Raise err-1; 
  End if; 
  Exception 
  When err_1 then 
  .... 
  END; 
  ---設置應用特性(光標類型) 
  SET_APPLICATION_PROPERTY(CURSOR_STYLE, 
  'CROSSHAIR''BUSY''HELP''DEFAULT''INSERTION'); 
  
  *********************************************************************** 
  **********************************函數********************************* 
  ---把字符串的字符變成全大寫(UPPER)全小寫(LOWER)第一個字母大寫(INITCAP) 
  UPPERLOWERINITCAP(STRING) 
  ---在文件的左('LPAD')右('RPAD')粘貼字符 
  LPADRPAD(STRING,LENGTH,'SET') "LENGTH"為總字符長"SET"為粘貼字符 
  ---在文件的左('LTRIM')右('RTRIM')刪除字符 
  LTRIMRTRIM(SRTING,'SET') "SET"為待刪除字符 
  ---找出'字符集'在字符串中的位置 
  INSTR('STRING','SET',N,M) 從'STRING'中找出'SET'從'N'位起第'M'個 
  ---數的絕對值 
  ABS(VALUE) 
  ---'MOD'模 
  MOD(VALUE,除數) 返回'除數'除'VALUE'的余數常用判定'VALUE'是否為整數 
  ---把'VALUE'從'N'位四舍五入'ROUND' 或從'N'位截斷'TRUNC' 
  ROUNDTRUNC(VALUE,N) 
  ---返回'VALUE'的符號 
  SIGN(VALUE) 
  
  ---列表的最大值 
  GREATEST(N1,N1...);
                          
  列表的最小值 
  LEAST(N1,N1...); 
  ---返回小于或等于數的最大整數 
  FLOOR(VALUE) floor(1.3)=1 floor(-1.3)=-2 
  ---返回大于或等于數的最小整數 
  CEIL(VALUE) cell (1.3)=2 cell (-1.3)=-1 
  
  ---取字符串長度 
  substr(string,start,number) number為string長度,start為string起點 
  
  
  ---DECODE函數,多重(if,then,else) 
  decode(value,if1,then1,if2,then2,.....,else) 
  ---判定'VALUE'是否為空(空值替換) 
  NVL(UALUE,'WKFHZ') 'WKFHZ'是為空返回值,不為空則為原值 
  ---字段長度 
  length(:block_name.item_id) 
  ---返回字符串的第一(最左)個字符的ascII值 
  ascII(string) 
  ---多行'VALUE'的 (作用于多'行') 
  AVG(VALUE)平均值 
  COUNT(VALUE)行數 
  MAX(VALUE)最大值 
  MIN(VALUE)最小值 
  SUM(VALUE)和 
  ---字符轉換 
  TRANSLATE(STRING,'待轉字符','轉換字符'); 
  如 TEANSLATE('AAABBB','AB','BA') 返回'BBBAAA' 
  
  ---比較單行中多個列的值獲得最大('GREATEST'最小('LEAST') 
  GREATESTLEAST(列名,列名,...) 
  ---按表達式或位置排序 
  ORDER BY '表達式'OR'位置' ASCDESC ASC'升',DESC'降' 默認'ASC' 
  *********************************************************************** 
  *********************************************************************** 
  ---游標的屬性 
  (1) %ISOPEN 打開屬性 布爾型 打開為TRUE 
  判定'光標'是否打開如未打開則打開'光標' 
  IF NOT(CORSOR_NAME%ISOPEN) THEN 
  OPEN CORSOR_NAME; 
  END IF; 
  FETCH