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/