弹性域的使用(整理版)
- 格式:docx
- 大小:2.42 MB
- 文档页数:27
浅谈弹性域功能及其应用Amwlq弹性域是EBS中一个强有力的功能,允许添加必要和可选择的字段信息。
它是由一个或者多个段组成的字段。
段在数据库表中以单个列表示;在表单上显示为包含各段提示的弹出式窗口,可以在自定义弹性域时定义单个段的外观和含义。
每个段都有一个名称和一个有效值集,最终用户可以在使用应用产品时将段值输入段中。
一般来说,弹性域都会根据通常预先定义的一组有效值(值集)来验证每个段。
“值验证”表示弹性域会将用户在此段中输入的值与值集中该段的值进行比较。
我们知道的弹性域两种类型,一种叫Key Flexfield(KFF) ,另一种叫Descriptiveflexfield(DFF)。
KFF诸如Accounting Flexfield、Key Assets Flexfield 等,这类KFF在设置系统里通常说明了由弹性域标识的实体的特性。
而DFF是允许用户自己选用及扩充的说明文字。
这两类型的弹性域都允许有不同的结构,弹性域结构是段的一种特定配置。
如果在弹性域中添加或删除段,或者将其中的段重新排序,就会得到一个不同的结构。
弹性域可以根据表单或应用数据中的数据条件,针对不同的最终用户显示不同的结构。
近期有很多人问到有关弹性域的一些基础用处,在此以举例的形式简单说说如何发挥弹性域的功能:目录:一上下文字段 (2)二自定义上下文列 (6)三与其他设置相关 (12)四多层从属的值集 (18)一上下文字段说明性弹性有种有别于键弹性域的功能:“上下文字段”,它允许根据表单或者数据库字段的值,进行自动选择对应的段,也正是这个功能,允许同一个数据库字段可以写上不同类别的记录:可以是数量,可以是日期。
这个我们通常会在资产、设备管理等模块上感觉非常有用。
打个比方,在制造行业拥有的资产分类除了“电子设备”外还会有“房屋与建筑物”,对于电子设备,可能会比较关心它的“精度”、“强度”及其它;而房屋与建筑物则会比较关心“寿命”、“占地面积”等。
目录说明性弹性域: (1)说明性弹性域查找: (1)诊断查找: (1)表查找: (1)说明性弹性域使用: (2)添加字段: (2)说明性弹性域:oracle每个表都存在一定的预留空间,可以在表内添加说明性字段,已满足用户的需求。
查找说明性弹性域的方法:说明性弹性域查找:诊断查找:操作路径:进行功能界面-光标定位至弹性域栏位-点击帮助-诊断-检查复制块,在块栏-选择$DESCRIPTIVE_FLEXFIELD$;字段:将复制的块粘贴到字段那里,B_BILL_OF_MATLS.DF值:值栏就会自动出现对应的说明性弹性域名称表查找:操作路径:进行功能界面-按F11清除-按ctrl+F11查找-帮助-历史记录-复制表名切换到应用开发员-弹性域-说明性弹性域-注册:点击查找,即:应用产品:选择表对应的应用产品,如:车间在制品、物料清单管理系统名称:将复制的表名粘贴到名称,并将_V去掉BOM_OPERATIONAL_ROUTINGS_V 完成后,点击查找,即:标题:显示为工艺路线弹性则为该表的弹性域名称.说明性弹性域使用:添加字段:操作路径:复制弹性域标题-弹性域-说明性弹性域-段标题:按F11清除,在标准输入弹性域标题名称,按ctrl+F11查找,即:冻结弹性域定义:定义弹性域将冻结弹性域定义勾选去掉点击-段,即:编号:序号-05名称:弹性域名称窗口提示:默认为名称,可进行修改列:选择该弹性域的列值集:选择对应值集已显示、启用:勾选完成后,点击打开:必需:是否必需维护该弹性域,否则系统过不去.完成后,点击保存.注意:完成后,回到弹性域标准界面,勾选冻结弹性域定义.。
弹性域文档作者:Aaron创建日期:2007.9.12确认日期:控制编码:当前版本: 1.0弹性域说明:弹性域(Flexfield)遍布于整个Oracle Application中,Oracle的许多应用性能归功于特定弹性域设计,它是Oracle描述某一事务或实体的一种法。
一个弹性域由多个段组合起来,每个段是弹性域的内单个子字段(在数据库中,段以单个的表列形式出现)。
例如,我们可以利用五段结构(公司段,成本中心段,科目段,子科目段,产品段)来描述公司内的帐户结构。
如下图:弹性域分类:Oracle应用产品中包括两中类型的键弹性域:关键弹性域(Key Flexfields)和描述性弹性域(Descriptive Flexfields)。
关键弹性域通常描述了由弹性域标识的实体的特殊特性,在Applications 中,关键弹性域包括:总帐科目,库存物品,固定资产等。
描述性弹性域虽然不需要象键弹性域内的段那样要产生有意义的代码,但是它们也描述了实体的其他特性,该实体的描述性特性在您使用的表单的其它部分被标识。
描述性弹性域在Applications数据库表中被视为属性列(attribute columns),而关键弹性域通常被视为段列(segment column)。
关键性弹性域:关键弹性域具有足够的“弹性”,它允许根据需要使用任意的代码组合以描述实体。
在开始安装Oracle Applications产品时,应该自定义该产品中的所有关键弹性域,以使用有含义的代码段来说明每个关键弹性域实体。
系统可为每个关键弹性域确定一个实体具有多少段、每个段的含义、每个段可具有的值以及每个段值表示的含义。
系统也可以定义管理段值组合有效的规则(交叉验证规则),或定义段与段之间的相关性。
从而系统可以使用其所需的代码。
会计科目弹性域是标识唯一科目表的关键弹性域的一个实例。
一个系统可能选择将会计科目弹性域自定义为具有“公司”、“部门”和“帐户”三个段的弹性域,而另一个组织可能选择将该弹性域自定义为具有“公司”、“成本中心”、“帐户”、“子帐户”和“产品”五个段的弹性域。
弹性布局相关知识点总结在这篇文章中,我们将探讨弹性布局的相关知识点,包括弹性容器和弹性项的属性、弹性布局的基本概念、常用属性和实例应用等方面。
1. 弹性布局的基本概念弹性布局是基于容器和项目的概念。
容器包含了一组项目,项目则是容器的子元素。
在弹性布局中,容器通常被称为"flex container",项目通常被称为"flex item"。
在弹性布局中,容器被定义为一个"flex"容器,通过设置"display: flex"或"display: inline-flex"来实现。
而项目则是容器内的子元素,它们可以通过设置"flex"属性来实现弹性布局。
2. 弹性容器的属性弹性容器有一些属性,用来控制项目的布局方式,常用的属性包括:- flex-direction:用来设置项目的排列方向,包括"row"、"row-reverse"、"column"和"column-reverse"等四个值。
- flex-wrap:用来设置项目的换行方式,包括"nowrap"、"wrap"和"wrap-reverse"三个值。
- justify-content:用来设置项目在主轴上的对齐方式,包括"flex-start"、"flex-end"、"center"、"space-between"和"space-around"等五个值。
- align-items:用来设置项目在交叉轴上的对齐方式,包括"flex-start"、"flex-end"、"center"、"baseline"和"stretch"等五个值。
midas Civil 技术资料----弹性连接的使用和设置目录midas Civil 技术资料 1 ----弹性连接的使用和设置 1 1 弹性连接的概念及理解2 2 功能介绍 2 2.1一般弹性连接 2 2.2 刚性弹性连接 52.3只受压/拉弹性连接[5]7 2.4 多折线弹性连接 7 3 总结 9 参考文献9北京迈达斯技术有限公司桥梁部 2013/04/18弹性连接是一种常用的边界条件,包含4种类型:一般弹性连接、刚性弹性连接、只受拉/压弹性连接、多折线弹性连接,下面对各种类型弹性连接的功能进行详细的介绍。
1 弹性连接的概念及理解弹性连接是一种把两个节点按照用户所要求的刚度连接而成的有限计算单元,通过定义不同方向的线刚度,来模拟节点对节点的约束,约束方向为单元坐标系。
例如用弹性连接模拟x方向的活动支座,设置如图1-1:图1-1 活动支座图1-2 单元坐标系这里SDz方向的刚度值为0,表示单元坐标系z方向没有约束,而此方向就是整体坐标轴的X方向,如图1-2所示。
2 功能介绍2.1一般弹性连接从主菜单中选择模型> 边界条件> 弹性连接...。
定义弹性连接的对话框如上图1,主要参数的含义如下:SDx、SDy、SDz:单元局部坐标系x轴、y轴、z轴方向的平动刚度SRx、SRy、SRz:绕单元局部坐标系x轴、y轴、z轴方向的转动刚度以上6个参数定义的是不同方向约束的刚度,概念比较明确,一般我们都能准确的输入。
在midas Civil中,可以通过一般弹性连接模拟板式橡胶支座,详见桥梁荟10期[2]。
下面重点介绍“剪切弹簧位置”的功能及其对分析结果的影响。
如下图2-1,勾选“剪切弹簧位置”后,参数“SDy”和“SDz”相应激活。
注意:这里的“SDy”和“SDz”表示该方向上,剪切弹簧位置距离弹性连接i端的相对距离,其值为0时,表示在弹性连接i 端,为1表示在弹性连接j端,与上述刚度参数SDy、SDz不同。
弹性域由一段或多段组成。
段可以取的值的集合为值集。
值集所包含的内容即是段值。
段与段之间是否存在关系是通过值集的验证类型来确定的。
弹性域可以认为是一种数据结构。
例如:生物学上的生物划分,‘.门.纲.目’。
我们一般用到的值集的验证类型有4种,没有:若为没有,则值可以在使用时,动态建立。
如物品弹性域,其值集一般设为没有,这样在定义物品时,可以随机输入物品代码。
独立的:若为独立的,则值要预先建立。
如库位弹性域,其值集设为独立的,则在发生事务要输入库位时,只能从已定义好的库位中选择而不能随机输入。
从属的:若为从属的,则该值集的值与前一段的值集的值有关系。
如分类弹性域中的后一段的值集若设为从属的。
中前一段的值集的值是原材料,则后一段的值集的值不能是双胶,而只能是浆板,涂布或湿部。
表验证:即通过SQL语句来从数据库取得数据。
若段与段存在依赖关系,则第一段的值集的验证类型设为独立的。
第二段的值集的验证类型设为从属的。
第一段的值集是不能设为从属的。
在设置弹性域时,先设置值集,再把段与值集相连。
最后设置值。
1. 值集。
………………………………………………………<菜单:设置-弹性域-验证-集>说明:建立值集。
必输域:值集名称,格式类型(一般为字符),最大尺寸,验证类型(若验证类型为‘从属的’,则,需要输入前一段的值集名称和本值集的缺省取值)。
操作步骤:选择菜单,进入窗口,输入,存盘。
(在验证类型为‘从属’时,还需按窗口下的‘编辑信息’按钮,输入前段值集名称和缺省取值再存盘)。
2. 段。
…………………………………………………………<菜单:设置-弹性域-键-段>说明:在这里建立弹性域,确定该弹性域有几段,段的值集是什么。
当建立完弹性域以后,一定要冻结该弹性域,否则,该弹性域不能使用。
必输域:冻结弹性域定义,编号,窗口指示,列,值集。
操作步骤:选择菜单,进入窗口,在‘应用程序’域中按‘F9’选择相应的弹性域,如系统项目等。
弹性域的使用弹性域分为键弹性域和说明性弹性域,本文就针对这两种弹性域在二次开发中使用进行举例说明,并附带说明弹性域中经常使用的值集;一个弹性域由多个段组合起来,数据库中,段以单个表列形式出现。
一、弹性域开发中需要做的前期工作1.注册一个可以使用弹性域的表,字段本范例全部以如下对象为基础,进行弹性域的说明CREATE TABLE flex_ln(name VARCHAR2(20),age NUMBER,dept VARCHAR2(20),attribute1 VARCHAR2(250),attribute2 VARCHAR2(250),attribute3 VARCHAR2(250),attribute4 VARCHAR2(250),attribute_category VARCHAR2(250));注册数据库表,列系统中的数据库表和列的注册旨在支持系统的弹性域和预警系统两个特性如果不需要这些特性不需要注册表.注册方法: 用如下的过程注册表语法:ad_dd.register_table('所有者','表名','T自动扩展/S非自动扩展','下一区','自由','已使用')execute ad_dd.register_table ('EDU','FLEX_LN','T');检查注册成功与否:select ft.table_id from fnd_tables ft where ft.table_name ='CUX_OM_POP_VALIDITY_ALL';删除注册:execute ad_dd.delete_table ('CUX','CUX_OM_POP_VALIDITY_ALL');这里说明下,EDV 是在系统注册过的一个应用简称,二次开发的程序,最好重新注册一个应用,这样便于今后的管理。
如下图:语法:execute ad_dd.register_column('所有者','表名','字段名',序号,'类型',字段宽度,是否为空,是否可以转换)execute ad_dd.register_column ('EDV','FLEX_LN','ATTRIBUTE1',1,'VARCHAR2',50,'N','N');execute ad_dd.register_column ('EDV','FLEX_LN','ATTRIBUTE2',2,'VARCHAR2',50,'N','N');execute ad_dd.register_column ('EDV','FLEX_LN','ATTRIBUTE3',3,'VARCHAR2',50,'N','N');execute ad_dd.register_column ('EDV','FLEX_LN','ATTRIBUTE4',4,'VARCHAR2',150,'N','N');execute ad_dd.register_column ('EDV','FLEX_LN','ATTRIBUTE_CATEGORY',5,'VARCHAR2',30,'N','N');注册说明性弹性域应用:选择注册的应用名称:填写注册说明弹性域的名称(必须唯一)标题:弹性域的标题,在今后的应用中,此说明弹性域将会在窗口标题上显示在此定义的标题内容表应用:在注册表,列时指定的应用(appl_short_name)表名:选择注册的表名称结构列:必须也是存在于注册过的列,结构列的意义就是存放说明性弹性域上下文提示的值上下文提示:是在说明性弹性域上下文字段的标题描述参考字段BUTTON里,如下界面:上面的界面是输入界面,系统提供输入,这里可以输入多个记录,当然最终只能有一个字段来起作用,需要在段里指定。
字段名:必须与弹性域中选择的表中的字段一致。
说明:对字段的描述性文字参考字段的含义:参考字段的主要作用是与结构列的作用类似,可以在不选择上下文字段的情况下,系统根据参考字段的含义来对应显示不用的弹性域,举例说明:例如参考字段为NAME,则在系统中输入NAME信息后,系统会自动根据NAME的信息来确定显示什么样的弹性域,这样就可以避免来选择上下文来显示需要的弹性域。
列BUTTON里,如下界面这里面显示的是注册后的列字段(如果填写了结构列字段,则这里面将不在显示结构列字段,因为系统认为结构列字段与弹性字段是不同的)如果对某个弹性字段不需要,可以将起用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中使用了的字段具体定义弹性域中需要那些弹性字段,需要在“段”BUTTON里的界面中进行定义如弹性一的段结构弹性二的段结构以本文中的为例进行说明:Global Data Elements 段中定义了一个ATTRIBUTE1字段,那么在弹性一、弹性二中的段定义的时候,无法在选择ATTRIBUTE1这个字段。
针对此弹性域的配置,在实际使用中的说明:图中红色框代表的是加载说明性弹性域的字段,点击此处,便可出现弹性域的结构。
由于在系统设置弹性域段的时候,给上下文段一个默认值= “弹性一”则系统会自动将弹性一的段结构给显示出来(定义了三个弹性字段TITLE分别为10、15、20),由于此弹性域还定义了一个Global Data Elements 的段结构,则系统会将Global Data Elements 显示在最前面,作为整个弹性域的公共字段(不论弹性域上下文AAAA 选择的是“弹性一、弹性二”)整个弹性域都将会显示Global Data Elements的段结构。
选择“弹性二”后的界面如下:下面在图文说明下定义的参考字段“NAME”的作用在应用弹性域界面中在“NAME”栏输入“弹性一”,选择弹性栏位得到的结果如下如果在“NAME”栏输入“弹性二”选择弹性栏位得到的结果如下从以上两个图可以说明参考字段也可以决定需要显示的弹性结构。
在这里需要提一个:参考字段+上下文段(不显示+不需要)这样就可以在界面中动态的控制弹性的结构,而不需要来选择上下文的内容当然,参考字段与上下文段还是有所区别的,在参考字段输入“弹性一”后,虽然显示的是弹性一的段结构,然而也可以在选择上下文段的值来重新选择需要的段结构,这样的话,参考字段的值=弹性一,而上下文的值=弹性二,也就是说,参考字段的作用是在于初始话一个弹性域的结构,一旦该弹性段有值以后,就不在作用了。
真正跟弹性结构相关的字段还是结构列字段,也就是上下文段这里可以看到,虽然参考字段是“弹性二”,但可以在继续选择上下文来需要相应的段结构。
编写FORM设置和弹性域1:加入非基表域用于容纳弹性域,我们做一个ITEM叫DESC_FLEX 注意这个ITEM的CLASS属性为TEXT_ITEM,LOV处选择ENABLE_LIST_LAMP,并把检查有效性设为NO。
2:FORM中要包含所设置的弹性域如ATTRIBUTE_CATEGORY,ATTRIBUTE1,ATTRIBUTE2…... 注意这些域为基表项,设置CANVANS为NULL或者显示在画布上都可以3:把DESC_FLEX放在CANVANS上,弄成弹性域的样子.设置其属性:值列表=ENABLE_LIST_LAMP4:在FORM中注册弹性域为了FORM识别弹性域,在FORM级别的WHEN-NEW_FORM_INSTANCE 上加上如下的代码从列表中验证=否fnd_descr_flex.define('FLEX_LN',-- form中的block namefield=>'DESC_FLEX',-- form中的弹性域的item nameappl_short_name=>'EDV',-- 注册弹性域在那个user下desc_flex_name=>'FLEX_LN'-- 注册弹性域的名称);具体参数及意思.如下含有弹性域的BLOCK 叫FLEX_LNDESC_FLEX 我们命名的那个容纳弹性域的域.FLEX_LN 我们注册的那个弹性域的名称.5:加入触发器以支持弹性域.分别在BLOCK级别加入如下的触发器.PRE-QUERYPRE-UPDATEPRE-INSERTPOST-QUERY其触发器的代码分别对应FND_FLEX.EVENT('PRE-QUERY ');FND_FLEX.EVENT('PRE-UPDATE ');FND_FLEX.EVENT('PRE-INSERT ');FND_FLEX.EVENT('POST-QUERY ');在容纳弹性域的域ITEM级别加入如下的触发器WHEN-VALIDATE_ITEMFND_FLEX.EVENT('WHEN-VALIDATE-ITEM');至此我们完成了本FORM ,只要打开弹性域我们就可以像用系统弹性域一样用这些弹性域了。