弹性域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产品时,应该自定义该产品中的所有关键弹性域,以使用有含义的代码段来说明每个关键弹性域实体。
系统可为每个关键弹性域确定一个实体具有多少段、每个段的含义、每个段可具有的值以及每个段值表示的含义。
系统也可以定义管理段值组合有效的规则(交叉验证规则),或定义段与段之间的相关性。
从而系统可以使用其所需的代码。
会计科目弹性域是标识唯一科目表的关键弹性域的一个实例。
一个系统可能选择将会计科目弹性域自定义为具有“公司”、“部门”和“帐户”三个段的弹性域,而另一个组织可能选择将该弹性域自定义为具有“公司”、“成本中心”、“帐户”、“子帐户”和“产品”五个段的弹性域。
说明性弹性域:
Oracle Applications无法预测可能要跟踪的所有信息,但是说明性弹性域为您提供了扩充表单的空间,系统可以使用说明性弹性域来获取业务所特有的重要附加信息。
系统可能自定义说明性弹性域,以显示存储关于员工的更多信息的字段,如下图:
值集:
弹性域中每一个段对应一个值集(Value sets),一个值集可以包含许多具体值集值。
在段中输入或选择值时,弹性域会验证每个段的有效值集(一个值集)。
值集通常是预先定义的,通过定义“验证段”,系统将会把用户输入此段的值与此段值集中的值作比较,如果终端用户输入无效的段值,则有效值列表会自动显示以使用户可以选择有效值。
下图是会计科目公司段的值集:
重要功能说明:
1:自动验证段
某些弹性域可以验证您根据有效值列表输入的段值。
如果输入无效的段值,屏幕会显示一个列表窗口,以便您可以从该列表中选择有效值
2:自动交叉验证段
键弹性域可以根据系统在自定义该键弹性域时定义的规则,对段值进行自动交叉验证。
交叉验证规则定义了特定段的值是否可与其它段的特定值相互组合。
在键弹性域窗口中完成段值输入后,应用产品会在更新数据库之前检查段值是否为有效的值组合。
如果输入的组合无效,屏幕会显示一个模态窗口,并显示一则消息告知您选择已定义的组合,例如在总账会计科目关键性弹性域中一般要设置自动交叉验证,防止公司段和部门段中出现不和实际的组合
3:动态插入
动态插入使您无需使用组合表单,即可创建键弹性域的段值组合。
在键弹性域实施期间,组织可以使用组合表单明确定义键弹性域的有效代码组合列表;或者,使您可以在表单(而不是组合表单)的键弹性域中第一次输入值时,
创建有效组合。
组织也可以为键弹性域指定交叉验证规则,以便您在动态插入期间只能定义特定的代码组合。
4弹性域快速录入
弹性域快速录入允许您使用别名快速录入键弹性域数据,这些别名表示有效的弹性域组合或有效的段值模式。
组织可以指定哪些键弹性域使用弹性域快速录入,并为这些键弹性域定义快速录入别名,以表示完整的或部分的键弹性域段值集。
一旦组织自定义键弹性域来使用弹性域快速录入,可以设置用户配置文件选项“弹性域:快速录入”来利用此功能.
5弹性域值安全性
弹性域值安全性允许组织限制录入数据时对键弹性域段值集的访问。
安全性取决于您的责任和组织所定义的访问规则。
例如单账套设置中,就需要屏蔽不同公司之间的值集访问。
譬如以上海管理部门用户登入系统,公司段就不可以选择北京。
下图是一个关键弹性域和说明性弹性域在Applications窗体中的表现示意图:
其中:帐户结构是一个关键性弹性域(Accounts Flexfields),它由六个段组成,每个段对应一个值集。
子目段中10020007(银行存款_中行虎踞路分理处)是值集“JMCC_SUBACC”中的一个值集值。
为了说明每笔体现业务对应的支票编号,系统设置了一个说明性弹性域,它由一段组成,每次录入的段值将保存在凭证行表中的atrribute1表列中。
ORACLE EBS 错误键及说明
Oracle EBS错误键及说明=============== 错误键 ===============期间错误代码------------------EP01 此日期不在任何打开的或将来可输入的期间内。
EP03 此日期不在打开保留年度的任何期间内。
EP04 此日期不是一个业务日。
EP05 在此会计期中不存在业务日。
不平衡的日记账错误代码------------------------------WU01 警告:此日记账分录不平衡。
之所以被接受是因为在此分类账中允许暂记过账。
EU02 此日记账分录不平衡,并且在此分类账中不允许暂记过账。
EU03 此保留款日记账分录不平衡,并且未定义“保留款准备金”账户。
弹性域错误代码---------------------EF01 此会计日期的会计科目弹性域不活动。
EF02 此会计科目弹性域不允许明细过账。
EF03 “不可用的会计科目编码”EF04 这是无效的会计科目弹性域。
检查您的交叉验证规则和段值。
日记账引入执行报告日期: 11-10-11 10:42并行请求ID: 631280 页: 2=============== 错误键 ===============弹性域错误代码---------------------EF05 不存在具有此代码组合标识的会计科目弹性域。
EF06 替代账户无效。
WF01 已使用替代账户代替原始账户。
WF02 已使用暂记账户代替原始账户。
外币错误代码----------------------------EC01 您必须对“用户”的一个currency_conversion_type提供一个currency_conversion_rateEC02 未提供折换日期。
EC03 在输入外币日记账分录行时,必须提供折换率类型或入账金额。
EC06 此币种、折换类型和折换日期不存在折换率。
EC08 币种代码无效。
EC09 未启用任何币种。
EC10 不能创建外币保留款日记账。
ORACLE_EBS_系统应用基础概述
ORACLE_EBS_系统应用基础概述系列之三:ORACLE EBS系统应用基础概述一、前言二、表单与查询(Form and Summary)三、事务处理(Transaction)四、并发流程(Current Process)五、文件夹(Folder)六、弹性域(Flex field)七、值集与查找代码(Value Set and Lookup Code)八、配置文件(Profile)九、单据编号(Document Sequence)十、工作流(Workflow)十一、预警(Alert)十二、应用开放接口(Open Interface and API)十三、结语一、前言有网友在论坛发帖惊呼:好不容易把EBS系统安装好了,进去一看傻眼了,不知道从哪儿下手?发出惊叹的这位网友所遇到的问题,实际上也是很多人曾经遇到或正在遇到的问题。
长期以来,国内的非专业人士(例如媒体)提及SAP 或ORACLE的时候,有不少人喜欢用“超级难懂”来形容。
那么,国内专业人士的看法又如何呢?笔者所听到过的最“雷”的说法来自一位国内软件研发的高层主管:SAP/ORACLE太复杂了,其背后的东西、深层次的东西,我们永远不可能搞懂!真是太不可思议。
一方面,国内的业内人士几乎众口一词,我们与SAP/ORACLE相比,技术上没有多大差距,平台工具都是公开的,也没有什么奥秘可言。
SAP/ORACLE由于产品做得早,我们在技术上甚至还有后发优势。
另一方面,我们也常常听到国内有些人将SAP/ORACLE神秘化,认为其包含“复杂的、深刻的管理思想”,是德国人/美国人的东西,我们中国人的企业管理水平低,用不了是正常的。
国情不同,模式不同,中国人应该寻找一条适合自己的道路!真的是这样吗?SAP/ORACLE产品真的是那么神秘、高不可攀?今天专业从事ERP工作的人员,若从个人背景角度来看,通常可以划分为“技术出身”与“业务出身”两类。
“技术出身”的人在学习熟悉系统方面可能有一定优势,但与用户沟通交流的过程中,在迅速准确把握业务本质要领方面可能存在一定困难;而“业务出身”的人,对于与用户的业务沟通交流可能感觉比较容易,但在研究掌握系统方面则可能相对困难一些。
OracleEBS关键性弹性域定义分段-CSDN博客
OracleEBS关键性弹性域定义分段-CSDN博客Oracle EBS 关键性弹性域定义分段定义分段使用分段窗口为你的弹性域定义分段。
窗口标题包含当前弹性域的名称。
如果你的弹性域定义被冻结了(就是冻结弹性域定义复选框被选中了),这个窗口只用于显示。
你的弹性域表有多少定义的分段列就可以定义多少分段。
你可以插入一行为你的弹性域创建一个新的分段。
注意:如果你的弹性域定义被冻结了,分段窗口字段不可被更新。
在定义分段之前,使用关键性弹性域分段窗口或者描述性弹性域分段窗口定义弹性域结构。
对于关键性弹性域,参考:定义关键性弹性域分段,页2-14.对于描述性弹性域,参考定义描述性弹性域分段,也3-24.要定义分段,做以下操作步骤:1. 为你想定义的分段输入一个名称。
分段名应该以字母开头,并只能使用字母,数字,空格或者下划线(_).分段提示的默认值来自于这个字段。
弹性域视图生成器使用分段名作为列名并把所有空格和特殊字符改为下划线(_).参考:分段命名规范,页8-6.注意:如果你输入的名字违反分段命名规范,你会收到一个错误消息。
2. 选中启用复选框来声明你使用这个弹性域分段。
你的弹性域不显示禁用的分段。
你的关键性弹性域组合表定义了多少分段列,就可以定义多少分段。
小建议:要保护你的数据的完整性,如果你已经用分段输入数据了,就不应该禁用这个分段。
3. 选择你想要用于弹性域分段的列名。
小建议:如果你在同一个结构一次定义多于一个分段,确认你为每个分段使用了唯一的列。
如果你尝试为同一个结构中的多于一个分段使用同一个列,你不能保存你的修改或者编译你的结构。
为你的分段选择的列不会从你的值列表中消失直到你保存你的工作。
4. 为这个分段输入分段编码。
这个号码指明了这个分段在弹性域窗口中出现的相对位置。
拥有较低的分段号出现在拥有较高分段号的分段的前面。
依赖分段在弹性域窗口上应该出现在它所依赖的分段的后面。
如果你为弹性域输入了一个已经定义的分段号码,你会收到一个警告消息。
ORACLE EBS 集值(对)的使用方法
集值对的使用方法集值的应用在EBS里已经很多了,在这里介绍下集值(对)的应用,图片如下“弹性三”的段结构如下:其中值集 EDV_LIUNAN设置如下:在值集EDV_LIU的对编辑信息中,设置了键弹性域 K_LN,也就是说,此值集(EDV_LN)将显示的是键弹性域(K_LN)的内容结构。
那么在系统程序中,应用了值集EDV_LIUNAN 的地方,将都会显示如下的界面:对此,应该看图片说明就明白了附外部关键字参考弹性域的 POPID/LOADID/VALID 调用序列(用于大多数弹性域报表参数)为: 语法#FND {POPID|LOADID|VALID}CODE="flexfield code"APPL_SHORT_NAME="application_short_name"VALIDATE="{FULL|PARTIAL|NONE|QUERY}"SEG="block.concatenated values field name"[BLOCK="block_name"][FIELD="field_name"][DERIVED=":block.field\n Segment qualifier"][READ_ONLY="{Y|N}"][DINSERT="{Y|N}"][WINDOW="{Y|N}"][ID="block.unique ID field"][REQUIRED="{Y|N}"][DISPLAY="{ALL | flexfield qualifier |segment number}"][UPDATE="{ALL | flexfield qualifier |segment number}"][INSERT="{ALL | flexfield qualifier |segment number}"][DATA_FIELD="concatenated hidden IDs field"][DESC="block.concatenated description field name"][TITLE="window title"][VDATE="date"][NAVIGATE="{Y|N}"][AUTOPICK="{Y|N}"][NUM=":structure defining field"][COPY=":block.field\n{ALL | flexfield qualifier}"][VRULE="flexfield qualifier\nsegment qualifier\n{I[nclude]|E[xclude]}\n APPL=shortname;NAME=Message Dictionary message name\nvalidation value1\nvalidation value2..."][VALATT=":block.field\nflexfield qualifier\nsegment qualifier"][USEDBFLDS="{Y|N}"][COLUMN="{column1(n) | column1alias(n)[, column2(n), ...]}][WHERE="where clause"][SET="set number"][ALLOWNULLS="{Y|N}"][QUERY_SECURITY="{Y|N}"][QBE_IN="{Y|N}"][LONGLIST="{Y|N}"][NO_COMBMSG="MESG_NAME"]代码在您使用“注册键弹性域”表单设置此弹性域时指定的弹性域代码。
EBS术语解释-中文版
Aaccount hierarchy(账户分层结构)Oracle 财务系统的一种特性,您可以用来执行汇总层资金检查。
采用账户分层结构,Oracle 采购管理系统和总账管理系统可以快速确定明细账户累计成的汇总账户。
Account segment(账户段)会计弹性域多达30 个不同节中的其中一个,这些节一起构成您的总账账户代码。
段与段之间通过一个您所选定的符号(如-、/ 或)分开。
每一个段通常表示业务结构的一个要素,如公司、成本中心或账户。
Account segment value(账户段值)定义特定值集唯一值的一系列字符和说明。
account structure(账户结构)请参阅:会计弹性域结构accounting calendar(会计日历)Oracle 总账管理系统中定义会计期和会计年度的日历。
您可以使用“会计日历”窗口来定义会计日历。
Oracle 财务分析程序可以使用会计日历自动创建“时间”维。
Accounting Flexfield(会计弹性域)用于标识Oracle 财务应用产品中的总账账户的代码。
每个会计弹性域段值与科目表中的一个汇总或累计账户对应。
Accounting Flexfield structure(会计弹性域结构)为满足组织的特定需要而定义的账户结构。
您可以在会计弹性域结构中选择段数及每个段的长度、名称和顺序。
Accounting Flexfield value set(会计弹性域值集)一组值以及这一组值的属性。
例如,您为账户段指定用于标识业务特定要素的值长度和值类型(如公司、分部、区域或产品)。
ad hoc(即席)与特殊用途相关并应用于特殊用途。
例如,即席税码或即席数据库查询。
aggregate balance(汇总余额)天数范围内的日终余额总和。
有三种汇总余额类型:期初至今(PTD)、季初至今(QTD) 和年初至今(YTD)。
所有这三种类型余额均存储在每个日历日的总账管理系统数据库中。
ORACLE+EBS+基础与提高+-+弹性域
ORACLEE-BUSINESS SUITE基础与提高——弹性域开发文档作者: Zhengang.Zhu创建日期: 2009-03-05修改日期:目录键弹性域 (3)基本弹性域概念 (4)智能关键字 (6)组合 (7)组合表 (8)键弹性域表单的类型 (9)组合表单 (9)外部关键字表单 (10)范围表单 (11)限定词 (12)动态插入 (14)键弹性域段窗口 (15)定义键值弹性域 (15)定义键弹性域结构 (16)定义段 (18)选择值集 (20)默认段值 (20)段提示和显示长度 (22)弹性域限定词 (23)Oracle EBS 基础与提高之弹性域zhengang.zhu 键弹性域基本弹性域概念段段是弹性域内的单个子字段。
您可以在自定义弹性域时定义单个段的外观和含义。
段在数据库中以单个表列表示。
对于键弹性域来说,段通常说明了由弹性域标识的实体的特性。
例如,您可以建立一个存储部件号的键弹性域,此键弹性域可以包含部件号PAD-YEL-NR-8 1/2 x 14,表示一个大小为8 1/2"x 14" 的窄方格黄色记事本。
部件号内以连字符隔开的每一节均说明了部件的一个特性。
第一段说明对象- 记事本;第二段说明对象的颜色- 黄色等等。
请注意,我们也将说明性弹性域弹出式窗口中的字段视为段,即使它们无需象键弹性域内的段那样要组成有意义的代码,但是,它们确实说明了在使用的表单的其它部分所标识的实体特性。
值、验证和值集最终用户可以在使用应用产品时将段值输入段中。
一般来说,弹性域都会根据通常预先定义的一组有效值(“值集”)来验证每个段。
“验证段”表示弹性域会将用户在此段中输入的值与值集中该段的值进行比较。
您可以设置弹性域,以使它根据有效值表自动验证最终用户输入的段值。
如果最终用户输入的段值无效,系统就会自动显示一个有效值的列表,以使用户可以选择一个有效值。
您可以将值集视为值的“容器”。
Oracle EBS FlexField 弹性域 技术专题
使用键弹性域建立灵活的业务
业务 A
_____帐户输入_____
Corporation Subsidiary Division Department Account 10 203 3003 025 203
业务 B
_____帐户输入__ ___
Company Divsion Department 21 42 502 015
创建新表格
新段域
新弹性域表格
I-26
Copyright Oracle Corporation, 1998. All rights reserved.
增加处理代码
标准应用系统 窗口
新弹性域窗口
I-27
Copyright Oracle Corporation, 1998. All rights reserved.
弹性域数据存储方式
键弹性域
描述性弹性域
... Segment1
Segment2
...
... Attribute1 Attribute2 ...
Oracle 应用系统基本表
I-22
Copyright Oracle Corporation, 1998. All rights reserved.
练习概览
Oracle应用系统部分描述性弹性域
Oracle
附加率 日历类型 价格指数
Oracle
资产
Oracle
应付
Oracle
银行支行 付款条款 地点地址 贷记历史记录信息
总帐
Daily Rates
应收
活动
Oracle
物料单
项目成本
Oracle
员工劳动率 车间状态 WIP 参数
EBS R12.2新特性:弹性域值集安全策略
R12.2新特性:弹性域值集安全策略.弹性域值集安全策略允许系统管理员限制用户访问、添加或者更新特定的值集里的值。
值集安全策略使基于角色的分类职责分离键弹性域,描述性弹性域和report参数。
举例来说,你可以设置值集安全性策略,比如特定用户可以查看、插入值到任何值集,这些值集被用来做账户弹性域。
一些其他用户可以访问、更新Oracle Human Capital Management applications模块下的所有弹性域值集的值。
你也可以通过OU、角色、职责等来实现隔离访问。
值集安全策略使用一种数据安全绑定的策略,并且在Oracle User Management中基于访问控制的。
问题:从后台查询有数据,说明fnd_load已导入。
但从前台界面,查询值集值时,选不到值集名,所下图所示:解决方法:给用户分配“弹性域值集安全性:所有权限”职责。
英文名:Flexfield Value Set Security: All privileges grant 中文名:弹性域值集安全性:所有权限1)切换“用户管理”职责,进入用户界面。
2)给指定用户分配权限(这里用sysadmin用户举例子)。
3)选择“弹性域值集安全性:所有权限”,且点“应用”(查看通知,提交OK),分配结束。
4)结果,值集就可以查看得到值集的值了。
1. 查询“数据安全性对象列表”,找到“弹性域值集安全性对象”:a. 查看用户sysadmin是否有“弹性域值集安全性对象”。
b. 也可以直接通过“用户列表”来查看。
2. 切换“功能开发员”职责,找到“弹性域值集安全性对象”:定义对象:定义对象的权限:。
[系统基础]Oracle EBS 查找说明性弹性域Title的方法(1)
[系统基础]Oracle EBS 查找说明性弹性域Title的方法日常我们维护说明性弹性域时都比较无奈,就是不知道弹性域的Title是什么,Oracle说明性弹性域有三千多个,从下拉列表一个一个找,犹如大海捞针,这里介绍一些我常用的2种方法。
1.在Form中已经起用了说明性弹性域的表,可以得到弹性域对话框的Title例如:我们查看日记帐头的弹性域Title路径:GL/Journals/…/点说明性弹性域栏位我们可以看到该说明性弹性域的Title是: Enter Journals: Journals,我们就可以去维护该弹性域了2.从来没有起用过说明性弹性域的表,这种情况我们点击说明性弹性域也跳不出弹性域对话框例如:我们查看搬运单(Mover Orders)行的弹性域路径:INV/Mover Orders/Mover Orders原理:其实只要我们客制化开发过Form,一些我们客制化的Table我们可能会在系统里注册弹性域,所以我们完全可以根据对应的Table去找弹性域的Title。
路径:定位到行/Help/Record History(在查询出记录的情况下,并且5个标准字段有值才能查找)我们可以找到对应的对象:MTL_TXN_REQUEST_LINES_V那么我们可以知道对应的Table一般就是:MTL_TXN_REQUEST_LINESPath:Application Developer/Flexfield/Descriptive/Register通过手电筒,输入Table Name进行查找点击Find按钮我们可以看到Title:Transfer Order Lines就是对应搬运单的行弹性域了.有的表对应定义有多个说明性弹性域,我们可以上下翻看看。
找到了对应的说明性弹性域,我们就可以启用该弹性域了3.查找网页界面的弹性域例如:我们查看Suppliers->Company Profile->Organization下的弹性域Action:点右下脚的About this Page我们可以看到对应的弹性域名为:JG_PO_VENDORS和PO_VENDORS通过Path:Application Developer/Flexfield/Descriptive/Register通过手电筒,输入Name进行查找从而得到弹性域的Title为Vendors。
Oracle EBS中的弹性域讲解与设置
浅谈弹性域功能及其应用弹性域是EBS中一个强有力的功能,允许添加必要和可选择的字段信息。
它是由一个或者多个段组成的字段。
段在数据库表中以单个列表示;在表单上显示为包含各段提示的弹出式窗口,可以在自定义弹性域时定义单个段的外观和含义。
每个段都有一个名称和一个有效值集,最终用户可以在使用应用产品时将段值输入段中。
一般来说,弹性域都会根据通常预先定义的一组有效值(值集)来验证每个段。
“值验证”表示弹性域会将用户在此段中输入的值与值集中该段的值进行比较。
我们知道的弹性域两种类型,一种叫Key Flexfield(KFF) ,另一种叫Descriptive flexfield(DFF)。
KFF诸如Accounting Flexfield、Key Assets Flexfield 等,这类KFF在设置系统里通常说明了由弹性域标识的实体的特性。
而DFF是允许用户自己选用及扩充的说明文字。
这两类型的弹性域都允许有不同的结构,弹性域结构是段的一种特定配置。
如果在弹性域中添加或删除段,或者将其中的段重新排序,就会得到一个不同的结构。
弹性域可以根据表单或应用数据中的数据条件,针对不同的最终用户显示不同的结构。
近期有很多人问到有关弹性域的一些基础用处,在此以举例的形式简单说说如何发挥弹性域的功能:目录:一上下文字段 (2)二自定义上下文列 (6)三与其他设置相关 (12)四多层从属的值集 (18)一 上下文字段说明性弹性有种有别于键弹性域的功能:“上下文字段”,它允许根据表单或者数据库字段的值,进行自动选择对应的段,也正是这个功能,允许同一个数据库字段可以写上不同类别的记录:可以是数量,可以是日期。
这个我们通常会在资产、设备管理等模块上感觉非常有用。
打个比方,在制造行业拥有的资产分类除了“电子设备”外还会有“房屋与建筑物”,对于电子设备,可能会比较关心它的“精度”、“强度”及其它;而房屋与建筑物则会比较关心“寿命”、“占地面积”等。
