利用fnd_flex_keyval包轻松获取关键性弹性域组合描述字段
时间:2011-03-09 来源:郭振斌
在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( 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 - 分别验证字段(这个也很糊涂~)
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;
相关阅读 更多 +