乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      EBS Form: 有tab和無tab 的Foder Form 開發(fā)

       yudi117 2012-09-25


      一、建noTab的Folder Form:
      1.創(chuàng)建數(shù)據(jù)庫對(duì)象:
        create table  和相應(yīng)的view。

      2.基于模板Template.fmb創(chuàng)建一個(gè)新的Form:****.fmb
        添加一個(gè)Library:APPFLDR.pll(目錄:$AU_TOP/Resource;打開后,系統(tǒng)詢問是否去掉絕對(duì)路徑,選擇YES)
        再打開APPSTAND.fmb:將其中的對(duì)象組STANDARD_FOLDER拖到自己的FORM中,選擇Subclass

      3.添加窗口 window:
        設(shè)置屬性:Subclass information:WINDOW

      4.添加畫布:MAIN(內(nèi)容畫布) 和 CANVAS(堆疊畫布)
         MAIN的type為content ;
         CANVAS的type為stacked
                 subclass:canvas_Stacked

      5.添加數(shù)據(jù)塊:block(基于數(shù)據(jù)庫)、 block_prompt(放Title)
        設(shè)置對(duì)應(yīng)屬性:subclass都為BLOCK
                      畫布block :Number of Records Displayed--8
                                  ShowScrolbar--YES
                                  Scrollbar Canvas-- MAIN 設(shè)置滾動(dòng)條顯示的畫布
      ========== 以下對(duì)數(shù)據(jù)塊block:======
      6.添加觸發(fā)器:
        對(duì)數(shù)據(jù)塊block:添加支持FOLDER的Block級(jí)的Trigger:
        PRE-QUERY -- app_folder.event('PRE-QUERY');
        POST-QUERY -- app_folder.event('POST-QUERY');
                      app_globe.event('POST-QUERY');
        WHEN-NEW-BLOCK-INSTANCE    app_folder.event('WHEN-NEW-BLOCK-INSTANCE');
        WHEN-NEW-RECORD-INSTANCE   app_folder.event('WHEN-NEW-RECORD-INSTANCE');
      app_folder.event('KEY-PREV-ITEM');          
      app_folder.event('KEY-NEXT-ITEM');
      app_folder.event('KEY-PRVREC');
      app_folder.event('KEY-NXTREC');
      app_folder.event('KEY-CLRREC');
      app_folder.event('KEY-EXEQRY');
      app_folder.event('KEY-ENTQRY');
      app_folder.event('PRE-BLOCK');
      app_folder.event('POST-BLOCK');
      app_folder.event('KEY-CLRBLK');
      pre-insert    fnd_standard.set_who;
      7.添加ITEM: Folder_Switcher and CURRENT_RECORD_indicator
        注:這兩個(gè)item要放置在塊的最上面。
        設(shè)置屬性:SWITCHER:
                  item type:TEXT ITEM
                  SUBCLASS : SWITCHER
                  VISIBLE : yes
                  canvas   :顯示在堆疊畫布CANVAS
                  PROMPT   : 空
             ------------------------------
                  indicator:
                  ITEM TYPE: TEXT ITEM
                  SUBCLASS : CURRENT_RECORD_INDICATOR
                  VISIBLE  : YES
                  CANVAS   : 顯示在內(nèi)容畫布MAIN
                  PROMPT   : 空
      ========== 以下對(duì)數(shù)據(jù)塊block_prompt:======
      8.添加6個(gè)FOLDER特有的Item
      注:放在block中的下方,順序?yàn)椋篵y321 dummy title open
                      itemtype      subclass     visible      canvas
      FOLDER_OPEN :    push        folder_open     yes         MAIN
      FOLDER_TITLE:   Display     dynamic_title    yes         MAIN
      FOLDER_DUMMY:    TEXT        FOLDER_DUMMY    YES        TOOLBAR
      ORDER_BY1:       PUSH        FOLDER_ORDERBY   NO         CANVAS
      ORDER_BY2:       push        FOLDER_ORDERBY   no         canvas
      ORDER_BY3:      push        FOLDER_ORDERBY   NO         CANVAS

      9.添加與基于數(shù)據(jù)庫的block中的要顯示的item對(duì)應(yīng)的用于顯示title的item
      注:必須與之同名,寬度必須一致,且在block中的上下順序一致。
        設(shè)置屬性:ITEMtype : Display Item
                  subclass : FOLDER_PROMPT_MULTIROW
                  InitialValue:需要顯示的名稱
      10.更改App_custom Package 中的一些代碼:
         將wnd='****' ---改為自己的窗口名:WINDOW
                 
      11.更改Form級(jí)Trigger
         pre-form: app_window.set_window_position('WINDOW','FISRT_WINDOW');--是顯示的第一個(gè)窗口
      12.設(shè)置窗口的primary Canvas 為 主畫布MAIN

      13.添加PACKAGE: Form_pkg
      ===============================================================
      PACKAGE BODY Form_pkg IS
         procedure  new_form_instance is
      begin

         --定義Folder
           app_folder.define_folder_block('Cup_ORDER_4040_2',--客戶化自定義名
          'block',--folder_block_name
          'block_prompt',--prompt_block_name
           'canvas',--folder_canvas_name
           'window',--folder_window_name
            null,--disabled_functions
            null,--tab_canvas_name
             null);--fixed_canvas_name
          app_folder.event('INSTANTIATE');
        SYNCHRONIZE;
         end;
      END;

      ================================
      14.更改Form級(jí)trigger
       
      when-new-form-instance :
      FDRCSID('$Header: TRNORD4040.fmb 120.0 2005/05/06 23:25  appldev ship                                                                                                                                                                                                                                                                    $');
      APP_STANDARD.EVENT('WHEN-NEW-FORM-INSTANCE');
      form_pkg.new_form_instance;
       
      folder_action:  
      app_folder.event(:global.folder_action);
       
      when-window-resized: 
      if :system.event_window in ('ORDER_MAIN') then
        app_folder.event('WHEN-WINDOW-RESIZED');
      end if;

      key-CLRFRM :
      APP_STANDARD.EVENT('KEY-CLRFRM');
      app_folder.event('KEY-CLRFRM');

         更改Item級(jí)trigger
      folder_switcher:  when-new-item-instance : app_folder_move_cursor('1');
      current_record_indicator:   when-new-item-instance:  app_folder_move_cursor('1');

      二、建有Tab的Folder Form:

      *與非tab不同之處:
      1.固定列不再放在內(nèi)容畫布上,而是放在子類型為canvas_stacked_fix_field的堆疊畫布上
      2.API定義Folder時(shí)的參數(shù)不同,需指定:tab_canvas_name,fixed_canvas_name 兩個(gè)參數(shù)


      *建Tab的Folder Form:
      1.創(chuàng)建數(shù)據(jù)庫對(duì)象:
        create table  和相應(yīng)的view。

      2.基于模板Template.fmb創(chuàng)建一個(gè)新的Form:****.fmb
        添加一個(gè)Library:APPFLDR.pll(目錄:$AU_TOP/Resource;打開后,系統(tǒng)詢問是否去掉絕對(duì)路徑,選擇YES)
        再打開APPSTAND.fmb:將其中的對(duì)象組STANDARD_FOLDER拖到自己的FORM中,選擇Subclass

      3.添加窗口 window:
        設(shè)置屬性:Subclass information:WINDOW

      4.添加畫布:MAIN(內(nèi)容畫布) 和 CANVAS(堆疊畫布)
         CANVAS的subclass:canvas_Stacked
        添加Tab類型的畫布MAIN_Tab
        設(shè)置屬性:CanvasType: Tab 
                  subclass  :TAB_CANVAS
                  VISIBLE   : YES
                  WINDOW    :window
        對(duì)標(biāo)簽頁設(shè)置label(顯示標(biāo)題) 、設(shè)置subclass為TAB_PAGE


      5.添加數(shù)據(jù)庫:block(基于數(shù)據(jù)庫)、 block_prompt(放Title)
        設(shè)置對(duì)應(yīng)屬性:subclass都為BLOCK
                      畫布block :Number of Records Displayed--8
                                  ShowScrolbar--YES
                                  Scrollbar Canvas-- ***FIX 設(shè)置垂直滾動(dòng)條顯示的畫布(為fix畫布)
      ========== 以下對(duì)數(shù)據(jù)塊block:======
      6.添加觸發(fā)器:
        對(duì)數(shù)據(jù)塊block:添加支持FOLDER的Block級(jí)的Trigger:
        PRE-QUERY -- app_folder.event('PRE-QUERY');
        POST-QUERY -- app_folder.event('POST-QUERY');
                      app_globe.event('POST-QUERY');
        WHEN-NEW-BLOCK-INSTANCE    app_folder.event('WHEN-NEW-BLOCK-INSTANCE');
        WHEN-NEW-RECORD-INSTANCE   app_folder.event('WHEN-NEW-RECORD-INSTANCE');
      app_folder.event('KEY-PREV-ITEM');          
      app_folder.event('KEY-NEXT-ITEM');
      app_folder.event('KEY-PRVREC');
      app_folder.event('KEY-NXTREC');
      app_folder.event('KEY-CLRREC');
      app_folder.event('KEY-EXEQRY');
      app_folder.event('KEY-ENTQRY');
      app_folder.event('PRE-BLOCK');
      app_folder.event('POST-BLOCK');
      app_folder.event('KEY-CLRBLK');
       fnd_standard.set_who;
      7.添加ITEM: Folder_Switcher and CURRENT_RECORD_indicator
        注:這兩個(gè)item要放置在塊的最上面。
        設(shè)置屬性:SWITCHER:
                  item type:TEXT ITEM
                  SUBCLASS : SWITCHER
                  VISIBLE : yes
                  canvas   :顯示在堆疊畫布CANVAS
                  PROMPT   : 空
             ------------------------------
                  indicator:
                  ITEM TYPE: TEXT ITEM
                  SUBCLASS : CURRENT_RECORD_INDICATOR
                  VISIBLE  : YES
                  CANVAS   : 顯示在內(nèi)容畫布MAIN
                  PROMPT   : 空
      ========== 以下對(duì)數(shù)據(jù)塊block_prompt:======
      8.添加6個(gè)FOLDER特有的Item
      注:放在block中的下方,順序?yàn)椋篵y321 dummy title open
                      itemtype      subclass     visible      canvas
      FOLDER_OPEN :    push        folder_open     yes         MAIN---改為fix
      FOLDER_TITLE:   Display     dynamic_title    yes         MAIN---改為fix
      FOLDER_DUMMY:    TEXT        FOLDER_DUMMY    YES        TOOLBAR
      ORDER_BY1:       PUSH        FOLDER_ORDERBY   NO         CANVAS--更改為fix
      ORDER_BY2:       push        FOLDER_ORDERBY   no         canvas
      ORDER_BY3:      push        FOLDER_ORDERBY   NO         CANVAS

      9.添加與基于數(shù)據(jù)庫的block中的要顯示的item對(duì)應(yīng)的用于顯示title的item
      注:必須與之同名,寬度必須一致,且在block中的上下順序一致。
        設(shè)置屬性:ITEMtype : Display Item
                  subclass : FOLDER_PROMPT_MULTIROW
                  InitialValue:需要顯示的名稱
      10.更改App_custom Package 中的一些代碼:
         將wnd='****' ---改為自己的窗口名:WINDOW
                 
      11.更改Form級(jí)Trigger
         pre-form: app_window.set_window_position('WINDOW','FISRT_WINDOW');--是顯示的第一個(gè)窗口
      12.設(shè)置窗口的primary Canvas 為 主畫布MAIN

      13.添加PACKAGE: Form_pkg
      ===============================================================
      PACKAGE BODY Form_pkg IS
      ---------------------------
         procedure  new_form_instance is
      begin

         --定義TabFolder
         app_folder.define_folder_block('Cup_ORDER_4040_2',
          'ORDER_LINES',--folder_block_name
          'ORDER_LINES_PROMPT',--prompt_block_name
           'ORDER_CREATE_PROMPT,ORDER_CREATE_PROMPT_ADDITION',--folder_canvas_name
           'ORDER_TAB',--folder_window_name
            null,--disabled_functions
            'MAIN_TAB',--tab_canvas_name
             'FIX');--fixed_canvas_name
          app_folder.event('INSTANTIATE');
        SYNCHRONIZE;
         end;

      ----------------------------------
      /*隱藏標(biāo)簽頁*/  
          PROCEDURE hide_main_tab( p_tab_name  varchar2) IS 
      BEGIN
       IF p_tab_name = 'ORDER_CREATE_PROMPT' THEN
         hide_view('ORDER_CREATE_PROMPT_ADDITION'); 
       ELSIF p_tab_name = 'ORDER_CREATE_PROMPT_ADDITION' THEN  
         hide_view('ORDER_CREATE_PROMPT');
       END IF;
      END hide_main_tab;
      ----------------------------------
      /*定位光標(biāo)*/ 
          PROCEDURE go_tab_first_item(p_tab_name  varchar2) IS
      BEGIN
       IF p_tab_name = 'ORDER_CREATE_PROMPT'  THEN
        go_item('ORDER_LINES.ITEM_NUMBER');
       ELSIF p_tab_name = 'ORDER_CREATE_PROMPT_ADDITION' then
        go_item('ORDER_LINES.ADDITION1');
       END IF;
      END go_tab_first_item;
      ----------------------------------
      /*顯示標(biāo)簽頁*/
          PROCEDURE show_main_tab( p_tab_name  varchar2) is 
      begin
       IF p_tab_name = 'ORDER_CREATE_PROMPT'  THEN
        show_view('ORDER_CREATE_PROMPT');
        show_view('FIX');
        ELSIF p_tab_name = 'ORDER_CREATE_PROMPT_ADDITION' THEN
        show_view('ORDER_CREATE_PROMPT_ADDITION'); 
        show_view('FIX');    
       end if;
      END show_main_tab;
      ----------------------------------
      /*當(dāng)切換tab頁*/
      PROCEDURE when_tab_page_changed is
          new_tab varchar2(30) := :system.tab_new_page;
          prev_tab varchar2(30) := :system.tab_previous_page;
      begin
            hide_main_tab(prev_tab);
            show_main_tab(new_tab);
            go_tab_first_item(new_tab);
      end when_tab_page_changed;
      ----------------------------------
      /*當(dāng)隱藏item,不能隱藏第一個(gè)item*/
      PROCEDURE folder_return_action is
      BEGIN
       IF(:global.folder_action = 'CONFIRM-HIDE-FIELD') THEN
        IF :global.folder_field = 'ADDITION1' THEN
         :global.folder_action_allowed := 'FALSE';
        elsif :global.folder_field='ITEM_NUMBER' then
         :global.folder_action_allowed := 'FALSE';
        END IF;
       ELSIF (:global.folder_action = 'SET-WHERE-CLAUSE') THEN
        --:global.folder_action_allowed := 'FALSE';
        null;
        END IF;
      END folder_return_action;
      ----------------------------------

      /*When_New_Item_Instance */
      PROCEDURE When_New_Item_Instance IS
       
        curr_canvas_name Varchar2(30) := get_item_property(Name_In('SYSTEM.CURSOR_ITEM'),item_canvas);
       
        current_tab varchar2(30)      := get_canvas_property('MAIN_TAB',topmost_tab_page);
        tab_canvas_name    Varchar2(30) := Name_In('SYSTEM.EVENT_CANVAS');
      Begin     

       
       IF curr_canvas_name in ('ORDER_CREATE_PROMPT','ORDER_CREATE_PROMPT_ADDITION') THEN
          IF curr_canvas_name != current_tab THEN
            set_canvas_property('MAIN_TAB', topmost_tab_page, curr_canvas_name);
          END IF;
       END IF;

      END When_New_Item_Instance;
      ----------------------------------
         
      END;

      ================================
      14.更改Form級(jí)trigger
       
      when-new-form-instance :
      FDRCSID('$Header: TRNORD4040.fmb 120.0 2005/05/06 23:25  appldev ship                                                                                                                                                                                                                                                                    $');
      APP_STANDARD.EVENT('WHEN-NEW-FORM-INSTANCE');
      form_pkg.new_form_instance;
       
      folder_action:  
      app_folder.event(:global.folder_action);
       
      when-window-resized: 
      if :system.event_window in ('ORDER_MAIN') then
        app_folder.event('WHEN-WINDOW-RESIZED');
      end if;

      key-CLRFRM :
      APP_STANDARD.EVENT('KEY-CLRFRM');
      app_folder.event('KEY-CLRFRM');

      Folder_return_action: form_pkg.folder_return_action;


      添加:when-tab-page-changed: form_pkg.when_tab_page_changed;

         更改Item級(jí)trigger
      folder_switcher:  when-new-item-instance : app_folder_move_cursor('1');
      current_record_indicator:   when-new-item-instance:  app_folder_move_cursor('1');


         更改block級(jí)trigger:--解決TAB鍵在各個(gè)item之間導(dǎo)航時(shí),tab頁不變的問題
      when-new-item-instance:form_pkg.when_new_item_instance;

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多