EBS鍵彈性域結構API匯入

2021-06-19 03:05:50 字數 1294 閱讀 4194

一般來說,鍵彈性域都是直接在form介面上進行建立,建立完之後會自動進行編譯。

現在專案上需要做mcat的鍵彈性域api匯入並編譯。

fnd_id_flex_structures_pkg.insert_row

fnd_id_flex_segments_pkg.insert_row

在呼叫上面2個api插入資料結構之後,提交編譯彈性域請求:彈性域檢視生成器

發現新增的彈性域結構並沒有生成在mtl_categories_b_kfv檢視當中!

檢視form**,發現在反選"凍結彈性域定義"的時候會刪除fnd_compiled_id_flexs表的資料。

trace追蹤,在選擇"凍結彈性域定義"並在當前記錄儲存的時候插入fnd_compiled_id_flexs表資料。

fnd_compiled_id_flexs在儲存的地方有這樣的**:

generate_flexfield_views為提交編譯請求。

的地方做了些什麼操作,但是看不到**。

使用乙個report將上述**加進去,fnd_compiled_id_flexs表資料沒有生成,比較奇怪

之後將鍵彈性域form user_exit這段**直接注釋,在form處編譯鍵彈性域發現fnd_compiled_id_flexs也沒有資料生成了。

如此看來fnd_compiled_id_flexs表的資料確實是在user_exit這個操作這裡生成的,但是放在report執行不知道為何行不通。

在測試當中,發現fnd_compiled_id_flexs就算沒有資料,直接提交「彈性域檢視生成器」也是可以將api新建的彈性域結構納入編譯範圍的,這樣看來,如果以api形式新建彈性域結構,為了能夠正常執行,完全希望fnd_compiled_id_flexs能夠沒有資料,之後直接提交編譯請求。

如此看來,鍵彈性域使用api匯入需要做下面的操作:

1. **新建彈性域結構,保證凍結標識為y

fnd_id_flex_structures_pkg.insert_row

fnd_id_flex_segments_pkg.insert_row

2. 刪除fnd_compiled_id_flexs相應鍵彈性域資料

以mcat為例:

delete from fnd_compiled_id_flexs t

where t.id_flex_code='mcat';

3. 提交編譯彈性域請求

l_request := fnd_request.submit_request('fnd', 'fdfvgn', '', '', false, '2', '401', 'mcat', '', 'n');

獲取鍵彈性域的段值和描述

獲取鍵彈性域的段值和描述 通過 code combination id 進行關聯 gl code combinations kfv 拼接好的段值的表 gl code combinations 未拼接好的段值的表 獲取拼接好的段值的描述 xx x xx pkg.get ccid description...

FORM中使用彈性域

form中使用彈性域 註冊和設定完彈性域後,要使用彈性域,必須把它置於form中,並通過form中的內建程式包fnd flex來定義和呼叫彈性域,象ebs的彈性域一樣的使用。要在form中使用彈性域,必須要設定下面幾個trigger trigger level procedure pre query...

如何查詢說明性彈性域

1 在form中已經啟用了說明性彈性域的表,可以得到彈性域對話方塊的title 如下面的address information site use information 那就直接去說明性彈性域段中查詢該彈性域 2 對於那種沒有啟用過說明性彈性域的表,怎麼點都出不來 那麼查詢這個彈性網域名稱稱就需要一...