彈性欄位--彈性域

彈性域

1.彈性域的分成:關鍵性彈性域,說明性彈性域。

關鍵性彈性域:在使用key彈性域的基表中,只保存ID,但是可以通過ID查詢到相應的segment1.table結構中表現爲**_IDSegment1等。

說明性彈性域:針對特定用戶 擴展輸入特定信息的字段。在tablestructure中表現爲attribute_category,attribute1,attribute2字段等。

註冊關鍵性彈性域 à略。

註冊說明性彈性域:

(1).創建table

注:使用說明性彈性域的數據table必須含有attribute_category及若干attribute字段。 Attribute_category字段:指彈性域的context字段。Attribute字段:指實際使用的字段。

Create table (    ….....,

           Attribute_category varchar2(20),

           Attribute1        varchar2(40),

           ………  )

(2).註冊彈性域:

Begin

  Ad_dd.register_table(‘BND’,’CHALLENGE_FLEX’,’T’,10,10,40);

End;

Remark:BNDà application short name, CHALLENGE_FLEX àTable Name

Column type

Column name

序號

(3).註冊彈性域tablecolumns

Begin

Columns length

Ad_dd.register_column(‘BND’,’CHALLENGE_FLEX’, ’attribute_category’ ,1, ’VARCHAR2’,30,’N’,’N’);

Ad_dd.register_column(‘BND’,’CHALLENGE_FLEX’,’Attribute1’,2,‘Varchar2’,40,’N’,’N’ );

End;

(4).查看是否註冊成功

select ft.table_id

  from fnd_tables ft

 where ft.table_name = 'Challenge_flex';

select *

  from fnd_columns fc

 where fc.table_id in

       (select ft.table_id

          from fnd_tables ft

         where ft.table_name = 'CHALLENGE_FLEX')

(5).註冊彈性域列

PATH:Application Developer àFlexfieldàdescriptiveàregister

(6).註冊彈性域字段

Path: Application DeveloperàFlexfieldàDescriptiveàsegments

(7).啓用說明性彈性域

7.1先按將相應的form開發好,然後在form級的以下trrigger中加入

 PRE-QUERY:                FND_FLEX.EVENT(‘PRE-QUERY’);

 POST-QUERY:               FND_FLEX.EVENT(‘PRE-QUERY’);

 PRE-INSERT:               FND_FLEX.EVENT(‘PRE-INSERT’);

 PRE-UPDATE:              FND_FLEX.EVENT(‘PRE-UPDATE’);

 WHEN-VALIDATE-ITEM        FND_FLEX.EVENT(‘WHEN-VALIDATE-ITEM’);

 WHEN-VALIDATE-RECORD      FND_FLEX.EVENT(‘WHEN-VALIDATE-RECORD’);

   7.2pre-formtrigger中加入如下:

       Begin

     Fnd_descr_flex.define(block à’CHALLENGE_FLEX’,

                                   Field à’block_item’,---value: Desc_Flex

                        Appl_short_name à ‘BND’,

                                          Desc-flex_name à ‘TEST_FLEX’);

    End;

說明一下相應的參數:

Block:啓用彈性域的數據塊名。

Field:指後面新增的item.

Appl_short_name:指相應的模塊的簡稱(System AdminàApplicationàRegister)

Desc_flex_name:指註冊彈性域時的名稱

(8).在要啓用彈性域的數據塊中增加一個item作爲flex_item.名稱爲desc_flex

  8.1 flex_item desc_flex屬性設置如下:

       Subclass information :               text_item_desc_flex

    Database item :                             NO 

    Canvas:                                           對應的canvas name

  8.2 desc_flex項的以下trigger中加入如下代碼。

 When-validate-item :        fnd_flex.event(‘when-validate-item’);

 When-new-item-instance:       fnd_flex.event(‘when-new-item-instance’);

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章