弹性域的使用(整理版)
弹性域设置
浅谈弹性域功能及其应用Amwlq弹性域是EBS中一个强有力的功能,允许添加必要和可选择的字段信息。
它是由一个或者多个段组成的字段。
段在数据库表中以单个列表示;在表单上显示为包含各段提示的弹出式窗口,可以在自定义弹性域时定义单个段的外观和含义。
每个段都有一个名称和一个有效值集,最终用户可以在使用应用产品时将段值输入段中。
一般来说,弹性域都会根据通常预先定义的一组有效值(值集)来验证每个段。
“值验证”表示弹性域会将用户在此段中输入的值与值集中该段的值进行比较。
我们知道的弹性域两种类型,一种叫Key Flexfield(KFF) ,另一种叫Descriptiveflexfield(DFF)。
KFF诸如Accounting Flexfield、Key Assets Flexfield 等,这类KFF在设置系统里通常说明了由弹性域标识的实体的特性。
而DFF是允许用户自己选用及扩充的说明文字。
这两类型的弹性域都允许有不同的结构,弹性域结构是段的一种特定配置。
如果在弹性域中添加或删除段,或者将其中的段重新排序,就会得到一个不同的结构。
弹性域可以根据表单或应用数据中的数据条件,针对不同的最终用户显示不同的结构。
近期有很多人问到有关弹性域的一些基础用处,在此以举例的形式简单说说如何发挥弹性域的功能:目录:一上下文字段 (2)二自定义上下文列 (6)三与其他设置相关 (12)四多层从属的值集 (18)一上下文字段说明性弹性有种有别于键弹性域的功能:“上下文字段”,它允许根据表单或者数据库字段的值,进行自动选择对应的段,也正是这个功能,允许同一个数据库字段可以写上不同类别的记录:可以是数量,可以是日期。
这个我们通常会在资产、设备管理等模块上感觉非常有用。
打个比方,在制造行业拥有的资产分类除了“电子设备”外还会有“房屋与建筑物”,对于电子设备,可能会比较关心它的“精度”、“强度”及其它;而房屋与建筑物则会比较关心“寿命”、“占地面积”等。
Oracle弹性域
段通常会得到验证,而且指定弹性域中的每个段通常会使用不同的值集。可以将单个值集分配给多个段,甚至可以在不同的弹性域之间共用一个值集。对于大部分值集来说,在弹性域段中输入值时,只能输入分配给段的值集中已存在的值。
5.3
弹性域结构是段的一种特定配置。如果在弹性域中添加或删除段,或者将其中的段重新排序,就会得到一个不同的结构。
例如,多数企业使用“代码”来识别总帐帐户、物资编码以及其它业务实体。这些“代码”由有意义的段(智能关键字)组成。代码的每个段都可以表示实体的一个特性。例如,应用企业可能使用物资编码 PAD-NR-YEL-8 1/2"x14" 来表示一个大小为 81/2"x14" 的窄方格黄色记事本,而另一个企业则可能使用部件号 "PD-8x14-Y-NR" 来识别同样的记事本,这两个物资号均为代码,代码所包含的段说明了物资的特性。虽然这些代码表示相同的物资,但是每个代码都有不同的段结构,这些段结构只对使用这些代码的企业有意义。
5)在无需编程的情况下自定义数据字段,以满足业务需要。
6)查询智能字段以获得特定信息。
弹性域是提供多种应用功能的一种机制。关键弹性域为产品应用提供了一种灵活的方式,使其可以表示如会计代码、物资编码、职务说明等对象。例如,会计弹性域就是使用关键弹性域来表示会计代码的一项功能。描述弹性域同样也提供了一种灵活的方式,即在表单内提供可自定义的“扩展空间”;它还提供了另外一种方式,即应用产品仅在需要时才显示上下文相关字段。这两种弹性域都能够在不编程的情况下自定义应用的功能。
增加的表单包含可以自定义的描述弹性域,用于获取只与企业需要有关的资产信息,而不是尝试包含有关资产信息的所有可能字段。弹性域的结构取决于“资产类别”字段的值,并且仅显示那些适用于特定资产类型的字段(段)。例如,如果资产类别为“桌子、木材”,则描述弹性域会提示样式、大小和木材类型;如果资产类别为“计算机、硬件”,则弹性域会提示CPU、芯片和内存大小。甚至可以在以后获得新的资产类别时,将其添加至描述弹性域。
OAF笔记10 - 使用描述性弹性域和键弹性域
选择所有的属性
勾选上 View Object Class: ItemDetailsVOImpl 和 View Row Class: ItemDetailsVORowImpl 下的 Generate Java File
Author: Kevin SUN
QQ: 15417800
Mail: suniangu@ 第 10 页 共 17 页
在 Region Properties 页面,设置 Region ID 为 ResultsTable,Region Style 为 table
Author: Kevin SUN
QQ: 15417800
Mail: suniangu@ 第 8 页 共 17 页
选择所有的属性并在 Region Items 设置如下
QQ: 15417800
Mail: suniangu@ 第 7 页 共 17 页
Region Style AM Definition Window Title Title
pageLayout ks.oracle.apps.ak.flexfield.server.FlexfieldAM Framework Toolbox Tutorial: Flexfield Labs Kevin Items Kevin
Additional Text
Tutorial Application
右键单击 PageLayoutRN,选择 New -> Region,设置 ID 为 MainRN ,Region Style 为 messageComponentLayout
在 MainRN 下创建几个 Item,属性如下
Property
suniangugmailcom在mainrn下新增一个messagelayout命名为keyffrn然后再在其下创建一个item并设置属性如下propertyvalueidkeyffitemstyleflexviewinstanceitemdetailsvo1promptkeyflexfielcssclassorafieldtextapplshortnameaknamefwktypekeymainrn下新增一个messagelayout命名为descffrn然后再在其下创建一个item并设置属性如下propertyvalueiddescffitemstyleflexviewinstanceitemdetailsvo1promptdescriptiveflexfieldcssclassorafieldtextapplshortnameaknamefwkitemdfftypedescriptive添加返回链接右键单击pagelayoutrn选择newreturnnavigation设置如下propertyvalueiddescffdestinatiurioajsp
说明性弹性域
目录说明性弹性域: (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名称:弹性域名称窗口提示:默认为名称,可进行修改列:选择该弹性域的列值集:选择对应值集已显示、启用:勾选完成后,点击打开:必需:是否必需维护该弹性域,否则系统过不去.完成后,点击保存.注意:完成后,回到弹性域标准界面,勾选冻结弹性域定义.。
弹性域ORACLE EBS
弹性域文档作者:Aaron创建日期:2007.9.12确认日期:控制编码:当前版本: 1.0弹性域说明:弹性域(Flexfield)遍布于整个Oracle Application中,Oracle的许多应用性能归功于特定弹性域设计,它是Oracle描述某一事务或实体的一种法。
一个弹性域由多个段组合起来,每个段是弹性域的内单个子字段(在数据库中,段以单个的表列形式出现)。
例如,我们可以利用五段结构(公司段,成本中心段,科目段,子科目段,产品段)来描述公司内的帐户结构。
如下图:弹性域分类:Oracle应用产品中包括两中类型的键弹性域:关键弹性域(Key Flexfields)和描述性弹性域(Descriptive Flexfields)。
关键弹性域通常描述了由弹性域标识的实体的特殊特性,在Applications 中,关键弹性域包括:总帐科目,库存物品,固定资产等。
描述性弹性域虽然不需要象键弹性域内的段那样要产生有意义的代码,但是它们也描述了实体的其他特性,该实体的描述性特性在您使用的表单的其它部分被标识。
描述性弹性域在Applications数据库表中被视为属性列(attribute columns),而关键弹性域通常被视为段列(segment column)。
关键性弹性域:关键弹性域具有足够的“弹性”,它允许根据需要使用任意的代码组合以描述实体。
在开始安装Oracle Applications产品时,应该自定义该产品中的所有关键弹性域,以使用有含义的代码段来说明每个关键弹性域实体。
系统可为每个关键弹性域确定一个实体具有多少段、每个段的含义、每个段可具有的值以及每个段值表示的含义。
系统也可以定义管理段值组合有效的规则(交叉验证规则),或定义段与段之间的相关性。
从而系统可以使用其所需的代码。
会计科目弹性域是标识唯一科目表的关键弹性域的一个实例。
一个系统可能选择将会计科目弹性域自定义为具有“公司”、“部门”和“帐户”三个段的弹性域,而另一个组织可能选择将该弹性域自定义为具有“公司”、“成本中心”、“帐户”、“子帐户”和“产品”五个段的弹性域。
PMC-53A_Modbus规约_V1.3
弹性布局相关知识点总结
弹性布局相关知识点总结在这篇文章中,我们将探讨弹性布局的相关知识点,包括弹性容器和弹性项的属性、弹性布局的基本概念、常用属性和实例应用等方面。
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"等五个值。
【VIP专享】3.技术资料-弹性连接设置要点
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’选择相应的弹性域,如系统项目等。
U9_CBO公共业务组件_Unit3_弹性域_V2.0
Unit3 弹性域-公共扩展字段
公共扩展字段的特点:
跨组织、跨应用、 最多50个字段 公共扩展字段可以在上下游单据间移转 公共扩展字段在推式或拉式生单时,可以作为分单条件 公共扩展字段可以作为AAI影响因素
公共扩展字段可以登账
可以作为查询统计条件
Unit3 弹性域-公共扩展字段
段的合法取值的集合
值集类型:
实体:实体数据(如基本档案)可以定义为值集,可以针对实体定义过滤条 件
枚举:枚举类型数据可以定义为值集
自定义:自定义档案作为值集 无档案:现场录入
值级层次
段值可以是按编码级长定义的树型结构
Unit3 弹性域-值集
段值依赖关系
通常用于定义两个值集的依赖,可以定义一个值集的取值依赖另一个值集的 取值。例如用户选择了部门A,那么在后面员工段的选择中只能选择该部门的 员工 。
Unit3 弹性域-编码结构
Unit3 弹性域-编码结构
自动流水:
档案编码支持自动流水,只能有一个流水段。
必须录入流水依据段。
Unit3 弹性域-实体扩展字段
实体扩展字段:
用于为档案和单据动态增加附加信息 ,档案和单据都是实体。
实体扩展字段类型:
公共扩展字段 50个 私有扩展字段 30个 全局段 上下文相关段
Unit3 弹性域-私有扩展字段
上下文相关段示例:建立一个支付方式的描述性弹性域 上下文段:为支付方式,它是一个枚举 1 2 3 现金支付 支票支付 信用卡支付 段1 预付定金 支票号 信用卡号 到期日 段2
定义如下上下文相关段
上下文值 1 2 3
可以看到,当支付方式=1时,录入预付定金额,支付方式=2时,录入支 票号,支付方式=3时,录入信用卡号和到期日
Oracle EBS弹性域总结
Oracle EBS弹性域总结1、什么是弹性域弹性域(FlexValue)是由子字段或段组成的字段。
它在表单上显示为包含各段提示的弹出式窗口。
每个段都有一个名称和一个有效值集。
如广东移动会计弹性域由7段组成,每个段都有自己的名称,如前三个段分别为公司段、成本中心段、会计科目段。
每个段都有对应的值,该值在对应的值集范围内。
2、弹性域的分类弹性域分为键弹性域和描述性弹性域2.1键弹性域多数组织使用“代码”来识别总帐帐户、部件号以及其它业务实体,这些“代码”由有意义的段(智能关键字)组成。
代码的每个段都可以表示实体的一个特性。
例如,您的组织可能使用部件号PAD-NR-YEL-8 1/2×1 4″ 来表示一个大小为8 1/2″x14″ 的窄方格黄色记事本,而另一个组织则可能使用部件号“PD-8×14-Y-NR” 来识别同样的记事本。
这两个部件号均为代码,代码所包含的段说明了部件的特性。
虽然这些代码表示相同的部件,但是每个代码都有不同的段结构,这些段结构只对使用这些代码的组织有意义。
oracle Applications 将这些“代码”存储在键弹性域中。
键弹性域具有很大的弹性,所以任何组织无需编程就可以使用所需的代码模式。
在组织开始安装oracle Applications 时,您和组织的实施小组可以自定义键弹性域,以便合并对业务具有意义的代码段。
您可以确定每段的含义、每段可包含的值以及段值的含义。
组织可以定义一些规则,以指定哪些段值可以组成有效的完整代码(此过程也称为组合)。
此外,您还可以定义段与段之间的关系,这样做可以使您和组织使用需要的代码,而不必为了适应oracle Applications 的要求而更改代码。
例如,考虑组织用于识别总帐帐户的代码,Oracle Applications 使用一个称为“会计弹性域”的特殊键弹性域来表示这些代码。
一个组织可能选择自定义会计弹性域,使其包括五个段:公司、分部、部门、帐户及项目。
Oracle EBS弹性域总结
Oracle EBS弹性域总结1、什么是弹性域弹性域(FlexValue)是由子字段或段组成的字段。
它在表单上显示为包含各段提示的弹出式窗口。
每个段都有一个名称和一个有效值集。
如广东移动会计弹性域由7段组成,每个段都有自己的名称,如前三个段分别为公司段、成本中心段、会计科目段。
每个段都有对应的值,该值在对应的值集范围内。
2、弹性域的分类弹性域分为键弹性域和描述性弹性域2.1键弹性域多数组织使用“代码”来识别总帐帐户、部件号以及其它业务实体,这些“代码”由有意义的段(智能关键字)组成。
代码的每个段都可以表示实体的一个特性。
例如,您的组织可能使用部件号PAD-NR-YEL-8 1/2×1 4″ 来表示一个大小为8 1/2″x14″ 的窄方格黄色记事本,而另一个组织则可能使用部件号“PD-8×14-Y-NR” 来识别同样的记事本。
这两个部件号均为代码,代码所包含的段说明了部件的特性。
虽然这些代码表示相同的部件,但是每个代码都有不同的段结构,这些段结构只对使用这些代码的组织有意义。
oracle Applications 将这些“代码”存储在键弹性域中。
键弹性域具有很大的弹性,所以任何组织无需编程就可以使用所需的代码模式。
在组织开始安装oracle Applications 时,您和组织的实施小组可以自定义键弹性域,以便合并对业务具有意义的代码段。
您可以确定每段的含义、每段可包含的值以及段值的含义。
组织可以定义一些规则,以指定哪些段值可以组成有效的完整代码(此过程也称为组合)。
此外,您还可以定义段与段之间的关系,这样做可以使您和组织使用需要的代码,而不必为了适应oracle Applications 的要求而更改代码。
例如,考虑组织用于识别总帐帐户的代码,Oracle Applications 使用一个称为“会计弹性域”的特殊键弹性域来表示这些代码。
一个组织可能选择自定义会计弹性域,使其包括五个段:公司、分部、部门、帐户及项目。
Oracle EBS中的弹性域讲解与设置
浅谈弹性域功能及其应用弹性域是EBS中一个强有力的功能,允许添加必要和可选择的字段信息。
它是由一个或者多个段组成的字段。
段在数据库表中以单个列表示;在表单上显示为包含各段提示的弹出式窗口,可以在自定义弹性域时定义单个段的外观和含义。
每个段都有一个名称和一个有效值集,最终用户可以在使用应用产品时将段值输入段中。
一般来说,弹性域都会根据通常预先定义的一组有效值(值集)来验证每个段。
“值验证”表示弹性域会将用户在此段中输入的值与值集中该段的值进行比较。
我们知道的弹性域两种类型,一种叫Key Flexfield(KFF) ,另一种叫Descriptive flexfield (DFF)。
KFF诸如Accounting Flexfield、Key Assets Flexfield 等,这类KFF在设置系统里通常说明了由弹性域标识的实体的特性。
而DFF是允许用户自己选用及扩充的说明文字。
这两类型的弹性域都一二三四一上下文字段说明性弹性有种有别于键弹性域的功能:“上下文字段”,它允许根据表单或者数据库字段的值,进行自动选择对应的段,也正是这个功能,允许同一个数据库字段可以写上不同类别的记录:可以是数量,可以是日期。
这个我们通常会在资产、设备管理等模块上感觉非常有用。
打个比方,在制造行业拥有的资产分类除了“电子设备”外还会有“房屋与建筑物”,对于电子设备,可能会比较关心它的“精度”、“强度”及其它;而房屋与建筑物则会比较关心“寿命”、“占地面积”等。
我们就可以通过上下文字段,灵活的设置弹性域。
1,定义弹性域结构,注意在“上下文字段值”中的代码为上图的“资产类别”代码,然后点击“段”按钮:45二自定义上下文列――上面这个例子大家可能想到,为什么他会根据不同的类别带出不同的显示段?是因为我们在第1步骤中分配了对应于资产类别的上下文字段值。
那又为什么要分配资产类别的值呢?我能够不能够分配其他的值?答案是可以的,大家可能也留意到了,在上面的第1步骤的图中有一字段叫“参考字段”,并分配了值“ATTRIBUTE_CATEGORY_CODE”,我们可以去查询一下这个段值保存的是什么东西:从图中可见,它其实就是我们的资产类别。
弹性域学习(丁之清编制)V1.0
4).CTRL+S 保存以上资料。 5).配置弹性域的弹性字段 路径:应用开发员=>弹性域=>说明性=>段 (使用 F11 查询出标题为’弹性域 GUD_测试 1’的资料) ->提示:这里的提示是上下文 PROMPT 的信息,在这里输入信息后,在注册弹性域 “上 下文提示” 栏的内容,两者的内容是一致的 ->值集:为上下文字段的内容提供一个值的 LOV 形式选择,
1. 建立表
创建的表中必须包括描述性弹性域列:
ATTRIBUTE_CATEGORY
结构列
ATTRIBUTE1…N
弹性域列的数据库段
创建表的脚本:
create table cux_test_om_pop_validity_all(
line_id
number,
inventory_item_id
number,
2).点击‘参考字段’,填写‘参考字段’资料。 字段名:必须与弹性域中选择的表中的字段一致。 说明:对字段的描述性文字 参考字段的含义: 参考字段的主要作用是 与结构列的作用类似,可以在不选择上下文字段的情况下,系统
根据参考字段的含义来对应显示不用的弹性域, 举例说明:例如参考字段为 NAME,则在系统中输入 NAME 信息后,系统会自动根据
where ft.table_name = 'CUX_TEST_OM_POP_VALIDITY_ALL'; select * from FND_COLUMNS fc
where fc.table_id in (select ft.table_id from FND_TABLES ft where ft.table_name = 'CUX_TEST_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);
深入浅出之使用弹性域-说明性弹性域
弹性域分成键弹性域、说明性弹性域。
这两种弹性域用途是不一样的。
关键性弹性域:在使用KEY 弹性域的基表中,只保存ID。
但可以通ID 查询到相应的SEGMENT。
在表结构中表现为***_ID、SEGMENT1 等。
说明性弹性域:针对特定用户扩展输入特定信息的字段。
在表结构中表现为attribute_category、attribute1字段等。
注册说明性弹性域一、弹性域开发中需要做的前期工作1.注册一个可以使用弹性域的表,字段例子以如下表为基础,进行弹性域的说明create table hek_om_pop_validity_all(line_id number,inventory_item_id number, --物料编号189number_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 :beginad_dd.register_table('HEK','HEK_OM_POP_VALIDITY_ALL','T');--说明:HEK为新应用简称。
EBS描述性弹性域及键弹性域总结
EBS描述性弹性域及键弹性域总结⼀.描述性弹性域 前⾔介绍: 描述性弹性域的实质就是系统预留⾃定字段,系统可以使⽤说明性弹性域来获取业务所特有的重要附加信息。
系统可能⾃定义说明性弹性域,以显⽰存储更多信息的字段,提供⼀套完整的“⾃定义”机制,可以⽤值集来验证字段、字段间可以设置依赖关系等等。
1.注册表和字段到EBS(记得COMMIT): 说明: 注册表:AD_DD.REGISTER_TABLE(p_appl_short_name in varchar2, --应⽤名简称/所有者p_tab_name in varchar2, --表名p_tab_type in varchar2, --T ⾃动扩展/S ⾮⾃动扩展/Fp_next_extent in number, --下⼀区p_pct_free in number,p_pct_used in number) 注册列:AD_DD.REGISTER_COLUMN(p_appl_short_name in varchar2,p_tab_name in varchar2, --应⽤名简称/所有者p_col_name in varchar2, --列名p_col_seq in number, --序号,唯⼀p_col_type in varchar2, --类型p_col_width in number, --字段宽度p_nullable in varchar2, --是否为空p_translate in varchar2, --是否可以转换p_precision in number default null,p_scale in number default null) 2.在应⽤开发员>弹性域>说明性>注册中注册说明性弹性域,通常NAME 起名和表名⼀致,Title的值为可明显区分: 保存后,点击Columns,可以看到,系统⾃动选中了所有Attribute字段: 3.创建⾮数据库项: 在块中⼿⼯创建⼀个字段,名字通常叫DESC_FLEX,⼦类为TEXT I TEM D ESCFLEX,Prompt为⼀对⼤括号"[]",布局时通常放在最后,但不随滚动条滚动:注:为⾮数据库字段,Database Item属性为No 4.触发器: 4.1Form级:WHEN-NEW-FORM-INSTANCE fnd_descr_flex.define(BLOCK => 'BLOCKNAME', field => 'DESC_FLEX', appl_short_name => 'SCF', desc_flex_name => 'CUX_FLEXFIELD_DEMO'); 例:fnd_descr_flex.define(BLOCK =>'ORDER_HEADERS',field =>'DESC_FLEX' ,appl_short_name =>'CUX' ,desc_flex_name =>'CUX_OE_ORDER_HEADERS_25305_ALL'); 4.2块级: PRE I NSERT中追加: fnd_flex.event('PRE I NSERT'); PRE U PDATE中追加: fnd_flex.event('PRE U PDATE'); PRE Q UERY中追加: fnd_flex.event('PRE Q UERY'); POST Q UERY中追加: fnd_flex.event('POST Q UERY'); WHEN V ALIDATE R ECORD中追加: fnd_flex.event('WHEN V ALIDATE R ECORD'); 4.3Item级: WHEN N EW I TEM I NSTANCE中追加: fnd_flex.event('WHEN N EW I TEM I NSTANCE'); WHEN V ALIDATE I TEM中追加: fnd_flex.event('WHEN V ALIDATE I TEM'); 注意::可以把这些触发器(Block级和Item级)写在Form级,这样不需要每个块都写,不过如果为了其它功能在块级写了同名触发器,执⾏层次需要改为Before(修改触发器的Execution Hierarchy属性,该属性默认为Override,可以改为After,Before)。
弹性域概念概览
弹性域概念概览弹性域是由子字段或段组成的字段。
出现在表单上的弹性域是一个包含有每个段提示的弹出式窗口。
每个段都有一个名称和一个有效值集。
弹性域有两种类型:键弹性域和描述性弹性域。
请参阅:键弹性域,描述性弹性域键弹性域多数组织使用由具有意义的段(智能关键字是由一些段组成的代码,这些段中的一个或多个部分可能具有某种含义。
智能关键字“代码”仅标识如帐户或部分作业之类的对象。
由于智能关键字比唯一编号更利于用户记忆和使用,所以它们在应用产品中非常有用。
例如,部件编号 PAD-YEL-11 × 14 比唯一的部件编号 57494 更容易记住。
但是,在相关数据库应用中,维护唯一的识别码比维护智能关键字要更容易一些,因为识别码只要求一个列,而智能关键字要求多个列(一个代码段或代码段要求一个列)。
Oracle 应用产品使用键弹性域表示具有唯一识别码的智能关键字。
也就是说,终端用户能够看到和处理易于记忆的智能关键字代码,而 Oracle 应用产品在大部分表中只需存储隐藏的唯一识别码。
注意:在整个指南的实例和图形中我们都使用“部件编号键弹性域”。
使用此实例是因为它有助于说明键弹性域的使用方法和功能,且不需要任何特定的会计、人力资源或制造方面的知识。
但是在 Oracle 应用产品中不存在实际的“部件编号键弹性域”,而且您不应将它与许多 Oracle 应用产品(如 Oracle 库存管理系统)使用的“系统项目弹性域”(项目弹性域)混淆。
)组成的“代码”来标识总帐帐户、部件编号及其它业务实体。
每个代码段均可以代表实体的一个特征。
例如,您的组织可能使用部件编号 PAD-NR-YEL-8 1/2 × 14"表示一个大小为8 1/2 × 14"的窄方格黄色记事本。
而另一个组织也可能使用部件编号“PD-8 × 14-Y-NR”来表示同样的记事本。
这两个部件编号都是其段描述了部件特性的代码。
虽然这些代码代表相同的部件,但是每个代码都有不同的段结构,这些结构只对使用相应代码的组织才有意义。
为form添加定义好的弹性域
1、定义好的弹性域段如下:应用名称为:订单管理。
标题:附加题头信息2、注册的弹性域,应用产品名:订单管理,其简称名为:ONT;3、如何查看应用的简称名如下图所示4、把定义好的弹性域加到自己的form中(1)在Data Block FND_MES 中新增一个Item,命名为”DF”,其Subclass Information设置为TEXT_ITEM_DESC_FLEX,(List of Values设置为ENABLE_LIST_LAMP,Validate from List设置为NO,非必需)Database Item设置为NO(2) 给DF项和数据块添加必要的触发器和标准代码为DF项添加WHEN-NEW-ITEM-INSTANCE触发器,并将其Execution Hierarchy属性从Override修改为Before,触发器代码如FND_FLEX.EVENT('WHEN-NEW-ITEM-INSTANCE');为DF项添加WHEN-VALIDATE-ITEM触发器,其代码为FND_FLEX.EVENT('WHEN-VALIDATE-ITEM');在DF项所在Data Block下添加几个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-RECORD: FND_FLEX.EVENT('WHEN-VALIDATE-RECORD');WHEN-VALIDATE-ITEM: FND_FLEX.EVENT('WHEN-VALIDATE-ITEM');(3) 在Form级别的触发器PRE-FORM中注册弹性域在Form级别的触发器PRE-FORM中使用FND_DESCR_FLEX.DEFINE来初始化描述性弹性域,如FND_DESCR_FLEX.DEFINE(block => ' FND_MES ', field => 'DF', appl_short_name =>'ONT',desc_flex_name => 'OE_HEADER_ATTRIBUTES ');参数说明如下block: 弹性域显示项DF所在的Data Block名称field: 描述性弹性域显示字段的名称,一般都命名为DFappl_short_name: 描述性弹性域注册时的应用简称desc_flex_name: 描述性弹性域注册时的名称,一般都与表名一致(4)图2中的结构列名CONTEXT,要添加导FND_MES数据块中二、如何定义描述性弹性域,创建表,注册列create table CUX.CUX_WEBADI_DEMO( ADI_ID NUMBER,ADI_CODE VARCHAR2(30),ADI_DATE DATE,ATTRIBUTE1 VARCHAR2(240),ATTRIBUTE2 VARCHAR2(240),ATTRIBUTE3 VARCHAR2(240),ATTRIBUTE4 VARCHAR2(240),ATTRIBUTE5 VARCHAR2(240),ATTRIBUTE6 VARCHAR2(240));SELECT * FROM CUX_WEBADI_DEMO;CREATE SYNONYM CUX_WEBADI_DEMO FOR CUX.CUX_WEBADI_DEMO; INSERT INTO CUX_WEBADI_DEMO VALUES(1,'JustTest',sysdate,'','','','','','');commit;BEGINAD_DD.register_table('CUX','CUX_WEBADI_DEMO','T');AD_DD.register_COLUMN('CUX','CUX_WEBADI_DEMO','ADI_ID',1,'NUMBER',38,'Y','N');AD_DD.register_COLUMN('CUX','CUX_WEBADI_DEMO','ADI_CODE',2,'VARCHAR2',30,'Y','N');AD_DD.register_COLUMN('CUX','CUX_WEBADI_DEMO','ADI_DATE',3,'DATE',9,'Y','N');AD_DD.register_COLUMN ('CUX','CUX_WEBADI_DEMO','ATTRIBUTE1',4,'VARCHAR2',240,'Y','N');AD_DD.register_COLUMN ('CUX','CUX_WEBADI_DEMO','ATTRIBUTE2',5,'VARCHAR2',240,'Y','N');AD_DD.register_COLUMN ('CUX','CUX_WEBADI_DEMO','ATTRIBUTE3',6,'VARCHAR2',240,'Y','N');AD_DD.register_COLUMN ('CUX','CUX_WEBADI_DEMO','ATTRIBUTE4',7,'VARCHAR2',240,'Y','N');AD_DD.register_COLUMN ('CUX','CUX_WEBADI_DEMO','ATTRIBUTE5',8,'VARCHAR2',240,'Y','N');AD_DD.register_COLUMN ('CUX','CUX_WEBADI_DEMO','ATTRIBUTE6',9,'VARCHAR2',240,'Y','N');COMMIT;END;CREATE OR REPLACE view CUX_WEBADI_DEMO_V ASSELECT cad.ADI_ID,cad.adi_code,cad.adi_date,cad.attribute1,cad.attribute2,cad.attribute3,cad.attribute4,cad.attribute5,cad.attribute6,sysdate - cad.adi_date test_dateFROM CUX_WEBADI_DEMO cad;select * from CUX_WEBADI_DEMO_V2、标题:物料属性题头名称:CUX_WEBADI_DEMO_V 表:CUX_WEBADI_DEMO 应用程序:CUX3、根据标题去搜索4、填写上下文字段值5、填写每个上下文的段值6、点击打开可以设置改字段是否必输7、。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
弹性域的使用弹性域分为键弹性域和说明性弹性域,本文就针对这两种弹性域在二次开发中使用进行举例说明,并附带说明弹性域中经常使用的值集;一个弹性域由多个段组合起来,数据库中,段以单个表列形式出现。
一、弹性域开发中需要做的前期工作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 ,只要打开弹性域我们就可以像用系统弹性域一样用这些弹性域了。