范围弹性域(转)

范围弹性域是使用的键弹性域的一种扩展,其没有专门的弹性注册,全部来源于键弹性域的结构定义:
应用表
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 是存放上下范围的每个段信息,从上图中可以看到记录的存放形式。

原文地址:https://www.cnblogs.com/benio/p/1619474.html