范围弹性域(转)
范围弹性域是使用的键弹性域的一种扩展,其没有专门的弹性注册,全部来源于键弹性域的结构定义:
应用表
CREATE TABLE FLEX_RANG_LN
(
CONCATENATED_SEGMENTS_LOW VARCHAR2(300),
CONCATENATED_SEGMENTS_HIGH VARCHAR2(300),
SEGMENT1_LOW VARCHAR2(30),
SEGMENT2_LOW VARCHAR2(30),
SEGMENT3_LOW VARCHAR2(30),
SEGMENT4_LOW VARCHAR2(30),
SEGMENT5_LOW VARCHAR2(30),
SEGMENT6_LOW VARCHAR2(30),
SEGMENT7_LOW VARCHAR2(30),
SEGMENT1_HIGH VARCHAR2(30),
SEGMENT2_HIGH VARCHAR2(30),
SEGMENT3_HIGH VARCHAR2(30),
SEGMENT4_HIGH VARCHAR2(30),
SEGMENT5_HIGH VARCHAR2(30),
SEGMENT6_HIGH VARCHAR2(30),
SEGMENT7_HIGH VARCHAR2(30)
) ;
需要说明点:SEGMENTn_LOW和 SEGMENTn_HIGH 是用来存放上,下范围的段,在应用表中必须出现,
CONCATENATED_SEGMENTS_LOW与 CONCATENATED_SEGMENTS_HIGH 也必须成对出现,因为在应用脚本中,需要指定的
/* 创建同义词 */
CREATE SYNONYM FLEX_RANG_LN FOR ERP_DEV.FLEX_RANG_LN ;
FND_RANGE_FLEX.DEFINE(
BLOCK=> 'FLEX_RANG_LN', -- 操作的BLOCK
FIELD=> 'RANGE_FLEX', - 创建的ITEM,用来容纳范围弹性域(在FORM界面中无RANGE_FLEX数据项,只有
RANGE_FLEX_LOW与RANGE_FLEX_HIGH数据项)
DATA_FIELD=>'CONCATENATED_SEGMENTS', --保存范围性域的值(CONCATENATED_SEGMENTS_LOW与
CONCATENATED_SEGMENTS_HIGH的共同段名称)
APPL_SHORT_NAME=> 'EDV',
CODE=> 'K_LN', -- 键弹性域的注册代码 fnd_id_flex_structures.id_flex_code
NUM=> '101', --fnd_id_flex_structures.id_flex_num DISPLAYABLE=> '!ALL',
UPDATEABLE=> '!ALL',
INSERTABLE=> '!ALL',
ALLOWNULLS=> 'Y');
使用范围弹性域是不需要任何注册表和字段的,因为其值就保存在应用表中,引用的确实键弹性域的段结构
代码说明:
FIELD=> 'RANGE_FLEX' 在FORM界面中,不存在RANG_FLEX的项,在此 泛指的是 RANG_FLEX_LOW与
RANG_FLEX_HIGH两个范围性的项,用来加载范围弹性域
DATA_FIELD=>'CONCATENATED_SEGMENTS' 在FORM界面中,不存在CONCATENATED_SEGMENTS的项,在此 泛指的是
CONCATENATED_SEGMENTS_LOW与CONCATENATED_SEGMENTS _HIGH两个范围性的项,用来存放范围弹性域的组合信息,其中
SEGMENTn_LOW 与 SEGMENTn_HIGH 是存放上下范围的每个段信息,从上图中可以看到记录的存放形式。
成长
/ | \
学习 总结 分享
QQ交流群:122230156