利用fnd_flex_keyval包輕鬆擷取關鍵性彈性域組合描述欄位

來源:互聯網
上載者:User

在Oracle Forms客戶化開發中,如果遇到有在Form上提供關鍵性彈性域(以下簡稱“鍵彈性域”)功能支援的時候,我們可以利用FND_KEY_FLEX.DEFINE函數來輕鬆完成所有的初始化工作。其中也包括鍵彈性域的組合描述欄位的顯示的初始化:只要在FND_KEY_FLEX.DEFINE調用時指定了DESCRIPTION參數即可。然而有時我們僅是想要顯示這個描述組合欄位,僅此而已。並不需要提供完整的鍵彈性域功能。那麼我們有什麼快速而有效方法來得到這個描述組合欄位呢?試試下面的fnd_flex_keyval包裡的方法吧~

 

執行個體:擷取庫存物料的物料類別集中的類別組合“描述”欄位

 

需要用到的方法:

  • fnd_flex_keyval.validate_segs()
  • fnd_flex_keyval.concatenated_descriptions()
fnd_flex_keyval.validate_segs 的參數很多,對於擷取物料類別組合欄位我們僅需要其中的五個參數,如下:
fnd_flex_keyval.validate_segs(          operation        => <OPERATIONS>        , appl_short_name  => <Application Short Name>        , key_flex_code    => <Key Flex Code>        , structure_number => <ID_FLEX_NUM>        , concat_segments  => <CONCATENATED_SEGMENTS>);

參數說明:- operation 可選值有:

  • FIND_COMBINATION - 所給定的組合欄位必須在系統中已經被定義
  • CREATE_COMBINATION - 如果組合欄位不存在,則在系統中建立該組合
  • CREATE_COMB_NO_AT - 功能和CREATE_COMBINATION相同,只是不像前者要使用相對獨立的子事務autonomous transaction
  • CHECK_COMBINATION - 只是檢查一下給定的組合欄位是否合法,不管檢查結果如何,都不建立新的組合
  • DEFAULT_COMBINATION - 返回預設的最小組合(這個參數值我也沒太搞懂,呵呵)
  • CHECK_SEGMENTS - 分別驗證欄位(這個也很糊塗~)
- appl_short_name 應用程式簡稱,例如庫存模組對應的應用簡稱為INV- key_flex_code 鍵彈性域代碼,可以在鍵彈性域定義介面找到,例如MCAT, GL#等等- structure_number  指定鍵彈性域下的某個結構NUM,可以在鍵彈性域定義介面找到,對應欄位為ID_FLEX_NUM- concat_segments  要擷取組合描述欄位的對應的“值“組合欄位,例如: A.000.MISC一旦初始化驗證欄位成功,那麼描述組合欄位便可以通過調用fnd_flex_keyval.concatenated_descriptions()來得到了。完整代碼如下:
FUNCTION get_concat_descriptions(p_concat_segs IN VARCHAR2) RETURN VARCHAR2    IS    BEGIN      IF fnd_flex_keyval.validate_segs(          operation        => 'FIND_COMBINATION' -- 請根據情況自行修改        , appl_short_name  => 'INV' -- 請根據情況自行修改        , key_flex_code    => 'MCAT' -- 請根據情況自行修改        , structure_number => 101 -- 請根據情況自行修改        , concat_segments  => p_concat_segs) THEN                RETURN (fnd_flex_keyval.concatenated_descriptions());      ELSE        RETURN '';      END IF;    END;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.