深入浅出之使用弹性域-说明性弹性域.docx_第1页
深入浅出之使用弹性域-说明性弹性域.docx_第2页
深入浅出之使用弹性域-说明性弹性域.docx_第3页
深入浅出之使用弹性域-说明性弹性域.docx_第4页
深入浅出之使用弹性域-说明性弹性域.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

弹性域分成键弹性域、说明性弹性域。这两种弹性域用途是不一样的。关键性弹性域:在使用KEY 弹性域的基表中,只保存ID。但可以通 ID 查询到相应的SEGMENT。在表结构中表现为*_ID、SEGMENT1 等。说明性弹性域: 针对特定用户扩展输入特定信息的字段。 在表结构中表现为attribute_category、 attribute1字段等。注册说明性弹性域一、弹性域开发中需要做的前期工作1.注册一个可以使用弹性域的表,字段例子以如下表为基础,进行弹性域的说明create table hek_om_pop_validity_all( line_id number, inventory_item_id number, -物料编号189 number_of_day number, -天数 start_date date, -开始日期 end_date date, -结束日期 -=扩展字段= created_by number, creation_date date, last_updated_by number, last_update_date date, last_update_login number, org_id number, attribute_category varchar2(30), attribute1 varchar2(50), attribute2 varchar2(50), attribute3 varchar2(50), attribute4 varchar2(150), attribute5 varchar2(150); 注册数据库表,列 系统中的数据库表和列的注册旨在支持系统的弹性域和预警系统两个特性如果不需要这些特性不需要注册表.注册方法: 用如下的过程注册表:AD_DD.register_table (p_appl_short_name in varchar2,p_tab_name in varchar2,p_tab_type in varchar2,p_next_extent in number default 512,p_pct_free in number default 10,p_pct_used in number default 70);2.注册表HEK_OM_POP_VALIDITY_ALL:begin ad_dd.register_table(HEK,HEK_OM_POP_VALIDITY_ALL,T);-说明:HEK为新应用简称。(可新注册需要的简称) commit;end;3.注册表中的列(弹性域列):beginad_dd.register_column(HEK,HEK_OM_POP_VALIDITY_ALL,ATTRIBUTE1,1, VARCHAR2, 50,N, N);ad_dd.register_column(HEK,HEK_OM_POP_VALIDITY_ALL,ATTRIBUTE2,2, VARCHAR2, 50,N, N);ad_dd.register_column(HEK,HEK_OM_POP_VALIDITY_ALL,ATTRIBUTE3,3, VARCHAR2, 50,N, N);ad_dd.register_column(HEK,HEK_OM_POP_VALIDITY_ALL,ATTRIBUTE4,4, VARCHAR2, 150,N, N);ad_dd.register_column(HEK,HEK_OM_POP_VALIDITY_ALL,ATTRIBUTE_CATEGORY,5, VARCHAR2,30,N, N);COMMIT;end;4.查看是否注册成功:select ft.table_id from FND_TABLES ft where ft.table_name = HEK_OM_POP_VALIDITY_ALL; TABLE_ID- 90060select * from FND_COLUMNS fc where fc.table_id in (select ft.table_id from FND_TABLES ft where ft.table_name = HEK_OM_POP_VALIDITY_ALL);5.如果想删除注册可以引用下面的相应的过程.procedure delete_table (p_appl_short_name in varchar2,p_tab_name in varchar2);procedure delete_column (p_appl_short_name in varchar2,p_tab_name in varchar2,p_col_name in varchar2);6.注册弹性域列路径:应用开发员=弹性域=说明性=注册 应用:选择注册的应用 名称:填写注册说明弹性域的名称(必须唯一) 标题:弹性域的标题,在今后的应用中,此说明弹性域将会在窗口标题上显示在此定义的标题内容 说明: 表应用:在注册表,列时指定的应用(appl_short_name) 表名: 选择注册的表名称 结构列:必须也是存在于注册过的列,结构列的意义就是存放说明性弹性域上下文提示的值 上下文提示:是在说明性弹性域上下文字段的标题描述上面的界面是输入界面,系统提供输入,这里可以输入多个记录,当然最终只能有一个字段来起作用,需要在段里指定。 字段名:必须与弹性域中选择的表中的字段一致。 说明:对字段的描述性文字 参考字段的含义: 参考字段的主要作用是 与结构列的作用类似,可以在不选择上下文字段的情况下,系统根据参考字段的含义来对应显示不用的弹性域, 举例说明:例如参考字段为 NAME,则在系统中输入NAME信息后,系统会自动根据NAME的信息来确定显示什么样的弹性域,这样就可以避免来选择上下文来显示需要的弹性域。这里面显示的是注册后的列字段(如果填写了结构列字段,则这里面将不在显示结构列字段,因为系统认为结构列字段与弹性字段是不同的)如果对某个弹性字段不需要,可以将起用CHECKED失效,这样在构造弹性域的时候,此弹性字段不会作用显示系统注册完弹性域的名称后,下一步需要配置弹性域的弹性字段此处的界面需要重点注意的地方:上下文字段 -提示:这里的提示是上下文PROMPT的信息,在这里输入信息后,在注册弹性域 “上下文提示” 栏的内容,两者的内容是一致的 -值集:为上下文字段的内容提供一个值的LOV形式选择, 以本例说明:值集SET_VALUE_DESC_FLEX中包括的信息是“弹性一”、“弹性二”,这样,就可以根据选择不同的信息来实现不同的弹性域,而且,选择的上下文字段信息(此处就是弹性域上下文AAAA栏)会保存在结构列中。-默认值: 设定上下文的默认值 -参考字段:此处系统提供的是一个LOV输入,此处LOV里的数据来源于在注册弹性域里的时候“参考字段:”BUTTON里的输入记录。 参考字段的含义是,可以以其他字段的输入记录来判断是否显示哪种弹性域。 上下文字段值 这里可以定义多个弹性域段:比如 弹性域1=弹性字段1+弹性字段2 弹性域2=弹性字段1+弹性字段2+弹性字段3 弹性域3=弹性字段1+弹性字段2+弹性字段3+弹性字段4 这里需要说明下:每个弹性的段信息中,都有一个默认的段定义 Global Data Elements 弹性域Global Data Elements 的段结构如下:如果我们定义的弹性域只有一种段结构的话,可以直接在 Global Data Elements段中进行定义,如果有多个的话,需要在另创建记录进行段定义的需要,有一点需要说明的是,一旦有注册了的字段在 Global Data Elements中定义了结构的话,那么用户自己在创建其他的段结构,则不会显示在Global Data Elements中使用了的字段7.启用说明性弹性域7.1先按将相应的FORM开发好,然后在FORM级的以下TRIGGER (BLOCK级)中加入PRE-QUERY: FND_FLEX.EVENT(PRE-QUERY);POST-QUERY: FND_FLEX.EVENT(POST-QUERY);PRE-INSERT: FND_FLEX.EVENT(PRE-INSERT);PRE-UPDATE : FND_FLEX.EVENT(PRE-UPDATE);WHEN-VALIDATE-ITEM: FND_FLEX.EVENT(WHEN-VALIDATE-ITEM);WHEN-VALIDATE-RECORD: FND_FLEX.EVENT(WHEN-VALIDATE-RECORD);7.2在PRE-FORM的 TRIGGER 中加入fnd_descr_flex.define ( BLOCK=HEK_OM_POP_VALIDITY,FIELD=DESC_FLEX,APPL_SHORT_NAME=HEK,DESC_FLEX_NAME=HEK_OM_POP_VALIDITY_ALL);说明一下相应参数:BLOCK:指启用弹性域的数据块名FIELD:指后面新增的ITEMAPPL_SHORT_NAME:指相应模块的简称(系统管理员-应用-注册)DESC_FLEX_NAME:指注册弹性域时的名称8.在要启用弹性域的数据块中增加一个ITEM。名称为:DESC_FLEX。8.1DESC_FLEX属性设置如下:子类信息:TEXT_ITEM_DESC_FLEX数据库项:否画布:MAIN_C8.2在DESC_FLEX 项的以下trigger 中加入:WHEN-VALIDATE-ITEM :FND_FLEX.EVENT(WHEN-VALIDATE-ITEM);WHEN-NEW-ITEM-INSTANCE:FND_FLEX.EVENT(WHEN-NEW-ITEM-INSTANCE);9.完成效果:add by guozhenbin 20100421目标:在2%销售订单(退货单)上的订单行中增加一个弹性域,记录补货编号。1.在销售单上的行上查找是否已经存在弹性域。2.在应用开发员-弹性域 查找:3.查找相关段信息其中“参考字段”是指以这个字段的值来决定显示哪种弹性域。例如:当订单行类型为“24-常态搭赠退货”的时候,显示弹性域1,订单行类型为“25-非常搭赠退货”时,显示弹性域2。4.设置“参考字段”为什么值的时候,显示什么弹性域。例如:行类型“24-常态搭赠退货”将显示两个弹性域“受益产品”“补货行号”。5.编辑相关的值集6.最终效果:结构列一般为ATTRIBUTE_CATEGORY或者CONTEXT列,在注册Discriptive Flexfield时指定AttributeN外还要指定Structure字段。一个Discriptive Flexfield 可以多种Structure,每种Structure的Segment构成、排序各不相同。下载 (93.73 KB)2009-3-16 22:25(图1-弹性域注册)上下文字段上下文字段弹性域字段的一种,对应结构列TTRIBUTE_CATEGORY。(图2)在上下文字段区域可以设置该字段的提示,值集和默认值,它的每一个值都对应一种弹性域结构(注意:Global Data Elements 不受上下文字段值影响,在任何结构中都显示)。如果勾选显示它会出现在Form弹性域窗口中,用户可选择值集的某一个值,选择不同的值,可动态改变弹性域结构。下载 (120.42 KB)2009-3-16 22:25(图2-弹性域定义)参考字段到这里,已经可以利用弹性域窗口中上下文字段的值来改变弹性域的结构,但是我们希望将弹性域结构的灵活性与业务联系起来,而不是每次由用户自己选择一个上下文字段值来取得相应的结构,如:当FORM上PO的类型不同时,用不同的弹性域段来输入信息。此时就用到了参考字段。下载 (32.89 KB)2009-3-16 22:25(图3-参考字段)参考字段是弹性域所对应的Form界面上的Block的某一个字段:block.field格式也可以是field。当上下文字段设定参考字段后,它的取值就引用该:block.field的值,如在PO头上使用:headers.type_lookup_code作为参考字段。这样,用户选择采购订单类型后,上下文字段就引用:headers.type_lookup_code的值,并根据该值选择对应的弹性域段结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论