日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ORACLE EBS财务科目FLEX FIELD的添加

發布時間:2025/3/17 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORACLE EBS财务科目FLEX FIELD的添加 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在客制form時常常會遇到彈性欄位,如下圖所示,其實就是調用標準API來實現的。

1、添加相關item:下列名稱都可以自己定義

account_segment_values:會計科目節段,也就是上圖中顯示的費用科目,非database?

Property

Value

Name

account_segment_values

Item?Type

Text?Item

Subclass?Information

Text?Item

List?Of?Values

ENABLE_LIST_LAMP

Validate?form?list

No

Database?item

No

account_id:科目ID,這個一般寫入Database

Property

Value

Name

ACCOUNT_ID

Item?Type

Text?Item

Subclass?Information

Text?Item

Database?item

Yes

account_desc:科目描述

Property

Value

Name

ACCOUNT_DESC

Item?Type

Text?Item

Subclass?Information

Text?Item

2、使用到的函數

FND_KEY_FLEX.Define()?定義彈性域

FND_FLEX_EXT.GET_SEGS()?獲取科目節段組合

fnd_flex_ext.get_ccid()?獲取ID

FND_FLEX_KEYVAL.validate_ccid驗證ccid的有效性

FND_FLEX_KEYVAL.concatenated_descriptions?得到ccid的描述

FND_KEY_FLEX.Update_Definition()

這里使用到前兩個

formwhen-new-form-instance中定義彈性域:

FND_KEY_FLEX.Define

(

BLOCK=>?'SFC_MTL_SYSTEM_ITEM_CUSV',

FIELD=>?'EXPENSE_ACCOUNT_DSP',

ID=>?'EXPENSE_ACCOUNT',

APPL_SHORT_NAME=>?'SQLGL',

CODE=>?'GL#',

NUM=>?:PARAMETER.CHART_OF_ACCOUNTS_ID,--STRUCTURE?Number(CHART_OF_ACCOUNTS_ID')

REQUIRED=>'N',

VALIDATE=>'FULL',

USEDBFLDS=>'N',

VRULE=>'\\nSUMMARY_FLAG\\nI\\nAPPL=SQLGL;NAME=FLEX-Parent?not?allowed\\nN\\0GL_GLOBAL\\nDETAIL_POSTING_ALLOWED\\nE\\nAPPL=SQLGL;NAME=INV_VRULE_POSTING\\nN'

);

如有必要,一般在formblockpre-query,post-query,pre-insert,pre-upadte,when-validate-record,when-new-item-instance這些trigger中添加如下標準函數:

FND_FLEX.EVENT('PRE-UPDATE');

FND_FLEX.EVENT('PRE-INSERT');

FND_FLEX.EVENT('POST-QUERY');

FND_FLEX.EVENT('PRE-QUERY');

FND_FLEX.EVENT('WHEN-VALIDATE-RECORD');

FND_FLEX.EVENT('WHEN-NEW-ITEM-INSTANCE');

3、如果要在開啟form時帶出會計科目組合,則需用到FND_FLEX_EXT.GET_SEGS()函數.

可在pre-formwhen-new-form-instance中添加:

l_concat_segs?:=

fnd_flex_ext.get_segs(

application_short_name?=>?'SQLGL',

key_flex_code?=>?'GL#',

structure_number?=>:PARAMETER.CHART_OF_ACCOUNTS_ID,

combination_id?=>?:PARAMETER.ORG_EXPENSE_ACCOUNT);

if?l_concat_segs?is?null?then

FND_MESSAGE.RETRIEVE;

FND_MESSAGE.ERROR;

RAISE?FORM_TRIGGER_FAILURE;

else

--:SFC_MTL_SYSTEM_ITEM_CUSV.expense_account_dsp?:=?l_concat_segs;

:PARAMETER.EXPENSE_ACCOUNT_DSP?:=l_concat_segs;

這里注意,如果直接賦值給itemform默認進入insert模式,不允許使用F11查詢,因此可以使用參數賦值,將itemInitial?Value設置為該參數:PARAMETER.EXPENSE_ACCOUNT_DSP.

另外在POST-QUERY中,也要添加該函數,不然按CTRL+F11查詢后該欄位會為空白.

?

轉載于:https://blog.51cto.com/thomaszhou/1227097

總結

以上是生活随笔為你收集整理的ORACLE EBS财务科目FLEX FIELD的添加的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。