Descriptive Flexfields的定义与使用

1. 建表时包含Flexfields segment字段及Flexfields category字段,也可同时包含Global Flexfields segment 及Global Flexfields category字段.

Attribute1….attribute30.

Attribute_category_code.

Global_attribute1….global_attribute20.

Global_attribute_category.

2. 注册表及字段

EXECUTE AD_DD.REGISTER_TABLE('appl name','table name','T',2,10,40);
EXECUTE AD_DD.REGISTER_COLUMN('appl name','table name,'fields name’,1,'NUMBER',38,'N','N');

3. 注册Descriptive Flexfields

Path: Application Developer/Flex fields/Descriptive/Register

 

Structure column 即为上下文字段,用来对segments 进行分组的. Context prompt 为上下文提示.

 

一旦你的上下文字段定义为Attribute_category后,oracle 会自动选取相应的attribute字段。

当然,如果你的上下文字段定义为global_attribute_category, oracle也会自动选取global字段。

从此可以看出,global attribute 为attribute的补充,可以单独开启,单独在form上调用。

4. 定义 Descriptive Flexfields segments

Path: System administrator/application/flexfields/descriptive/segment

 

Global data elements 是oracle 默认的弹性域集。可在里面定义需要的segments.当然也以禁用此code,自已定义新的集。这里定义了一个china 集,也就是如果category 为china时,启用china集下的segments.

如果定义了多个集的话,那么在输入弹性域时,context可以选择多个category.

 

如果需要对context 进行控制,有两种方法:

1. 针对context field 定义value set. 此value set 可灵活定义,比如按照用户的职责或从某一张表中提取相应信息,按照一定的逻辑返回相应的context value.

2. 针对 context field定义reference field. 此field应定义为调用此弹性域的form中的某一字段。根据此字段的值来决定context value. 这里看一个很典型的定义(启用value set 值定义中的flexfield).

 

这里的context field的reference field为:GLOBALS.FLEX_VALUE_SET_NAME. 通过对应的form可知,此field里存的是当前的value set 的名字。因此我们在定义code 时,应输入需要的value set 的名字,这样的话,当你在对相应的名字的value set 进行值录入的时候,即可使用对应的flexfields了.

5. 在form. 开发中布署Descriptive flexfields

1. 在block 中增加flexfields 字段: DESC_FLEX , subclass 为: TEXT_ITEM_DESC_FLEX. 一般放在行尾,用大括号。

2. 在when-new-form-instance中定义flexfields.

fnd_descr_flex.define( BLOCK => 'MAIN',

field => 'DESC_FLEX',

appl_short_name => 'FAC',

desc_flex_name => 'USER_INFORMATION' );

3. 在block 级的trigger中编写脚本.

PRE-INSERT中追加:

fnd_flex.event('PRE-INSERT');

PRE-UPDATE中追加:

fnd_flex.event('PRE-UPDATE');

PRE-QUERY中追加:

fnd_flex.event('PRE-QUERY');

POST-QUERY中追加:

fnd_flex.event('POST-QUERY');

WHEN-VALIDATE-RECORD中追加:

fnd_flex.event('WHEN-VALIDATE-RECORD');

4. 在item 级的trigger 中编写脚本.

WHEN-NEW-ITEM-INSTANCE中追加:

fnd_flex.event('WHEN-NEW-ITEM-INSTANCE');

WHEN-VALIDATE-ITEM中追加:

fnd_flex.event('WHEN-VALIDATE-ITEM');

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10359218/viewspace-677413/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10359218/viewspace-677413/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值