【 tulaoshi.com - Oracle教程 】
                             
                               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, MAXIMIZE|MINIMIZE);
  --WINDOW标题
  Set_Window_Property(FORMS_MDI_WINDOW, title,TEXT);
  --退出是否为真
  Set_Window_Property(FORMS_MDI_WINDOW, REMOVE_ON_EXIT,PROPERTY_FALSE|TRUE);
---设置系统提示信息等级
  :System.Message_Level:= 5|10|15|20; 
---设置ITEM属性
  --设置ITEM属性ENABLED
  Set_Item_Property(Block_name.Item_name,ENABLED,PROPERTY_TRUE|FALSE);
  --设置ITEM属性NAVIGABLE
  Set_Item_Property(Block_name.Item_name,NAVIGABLE,PROPERTY_TRUE|FALSE);
  --设置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,TRUE|FALSE);
  --设置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的值