| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 883 人关注过本帖
标题:ORACLE E-BUSINESS SUITE 基础与提高
只看楼主 加入收藏
oracle_bj
Rank: 1
来 自:北京
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-6-13
收藏
 问题点数:0 回复次数:0 
ORACLE E-BUSINESS SUITE 基础与提高
值和值集
值和值集概览
Oracle Application Object Library 使用值、值集和验证表作为键弹性域、说明性弹性域和标准请求提交的重要组成部分。
在首次定义弹性域时,您可以选择段的使用数量和显示顺序。您也可以选择验证每个段的方法。选择的结果将影响您如何定义值集和值。
不管是在定义弹性域段结构之前或在进行定义时,您应首先定义值集。通常您在完成定义(冻结和编译)弹性域之后才定义单个值。根据使用的值集类型,在使用弹性域之前,您不必预定义单个值。
对于在不同弹性域中的段、相同弹性域的不同结构中的段甚至相同弹性域结构内的段,您均可以共享其间的值集。您可以共享键弹性域和说明性弹性域间的值集,也可以对使用“标准请求提交”功能的报表使用报表参数的值集。
由于为值集指定的条件确定了可以与之一起使用的值,因此您应该同时计划值和值集。例如,如果要使用值 01,02 而非 1,2,您应该在定义值集时将“右对齐填零”设置为“是”。


预定义值集
许多 Oracle Applications 报表使用预定义值集,您也可以将这些值集用于弹性域段。如果弹性域段使用与“标准请求提交”报表参数关联的值集,则您对其值集所做的任何更改均会影响使用相同值集的任何报表。此外,您对 Oracle Applications 值集的更改在将来升级时可能会被改写。
Oracle Applications 提供两个可以选择用于段的预定义值集,即FND_STANDARD_DATE 和 FND_STANDARD_DATETIME。这些特殊值集确保在弹性域段中输入格式正确的日期,而不是任意字符集。所有这些值集的验证类型均为“无”,因此这些值集接受格式正确的任何日期值。使用此值集的日期值将显示在用户会话日期显示掩码范围内。如果弹性域段或报表参数使用 FND_STANDARD_DATE 或FND_STANDARD_DATETIME,则日期值的长度必须正确以符合显示格式,从而防止日期被截断。
为了向后兼容,Oracle Applications 提供可以选择用于日期段的某些预定义值集,如 FND_DATE 和 FND_DATE4。这些特殊值集确保在弹性域段中输入格式正确的日期,而不是任意字符集。FND_DATE 提供 DD-MON-RR 日期格式,而 FND_DATE4 提供DD-MON-YYYY 日期格式。这两种值集的验证类型均为“无”,因此这些值集接受格式正确的任何日期值。如果弹性域段或报表参数使用FND_DATE 或 FND_DATE4,则字符长度(分别)必须为 9 或 11 以免日期被截断。但是,我们建议您为新的弹性域段创建自己的日期值集。
为了向后兼容,Oracle Applications 提供另一种预定义值集(NUMBER15),您可以将其用于数字段。这个特殊值集确保您在弹性域段中输入正数或负数,而不是任意字符集。此值集的验证类型为“无”,因此可以接受任何长达 15 个字符的正数或负数值(包括负号)。如果使用此值集,则弹性域会去掉所输入值的任何前导零,并确保数字只有一个基数字符(如 US 格式中的 '.')。但是,我们建议您为新的弹性域段创建自己的数字值集。

计划值和值集
要计划值和值集,请执行以下操作:
选择值的格式。
确定段是否具有值列表。
选择段的相应验证类型。
考虑使用归为一类的值,以便在使用基于该范围的功能(值安全性、值层次结构等)时会更加容易。
计划相应的值和说明。
计划相应的值层次结构、交叉验证规则和值安全性规则等。

选择值格式
由于值集是值的主要“载体”,因此定义值集可以控制值集(预定义或未验证)所允许包含的值类型。您可以指定以下的值格式:

字符
数字
时间
标准日期
标准日期时间
日期
日期时间

您也可以指定值的最大长度,以及值集可以采用的最小值和最大值。值集的最大长度取决于值集所属的弹性域。值集的长度必须小于或等于弹性域表中基本段列的长度。Oracle Applications 不允许您将弹性域表中不合适的值分配给值集。
您需要为适合组织运行方法的值指定最大长度。一般来说,如果您使用包含说明的值,则值较短,而说明更长。例如,值为 02,说明则为“新奥尔良地区”。如果您计划对 Oracle Applications 的值采取右对齐并填零(因此 7 的三个字符值集中的值自动变为 007),则值集的最大长度不能太长,以便用户不需要填充太多零,但是也不能太短,以便于您的组织以后可以在其中添加更多的值。
不能更改值,但是可以更改说明。例如,您不能更改部门代码 340,但是其说明可以从“销售”更改为“公司帐户”。您可以禁用值,并且在需要时创建新的值。
 
值格式
在“格式类型”字段中指定的格式类型即为段或参数值的格式。如果使用此值集的验证表,不管您是否指定隐藏标识列,此格式类型对应于在“验证表信息”区域中指定的值列的格式类型。
因为您的更改影响了所有使用相同值集的弹性域和报表参数,所以您不能更改现有值集的格式类型。
所有这些格式选项影响您在“段值”窗口和弹性域段及报表参数中输入的值。

格式类型
字符
字符类型使您可以输入任意字符值,包括字母、数字和特殊字符,如 # $?% ( ) . / , & 和 *。如果您选择此格式类型,但输入的值显示为数字,如 100 或 20,则您应该知道这些值在行为方面仍然作为字符值。例如,值 20 将“大于”值 100。如果要这样的值在行为和分类方面更象数值,则应该选定“仅限于数字”复选框或“右对齐和填零数字”复选框。如果选择此格式类型,但是输入值显示为日期,如 DD-MON-RR 或DD-MON-YYYY,则您应该知道这些值在行为方面仍然象字符值。例如,值 01-SEP-2002 将“大于”值 01-DEC-2002。如果要这样的值在行为和分类方面更象日期值,您应该使用“标准日期”格式类型。

数字
“数字”类型使您可以确保用户输入数值。数字格式允许您输入基数字符('D' 或小数点分隔符)和正号或负号(尽管正号不显示在段中)。所有前导零和正号均被隐藏,并且输入的数据在 Oracle 表单中作为“数字”字段,或者在数据库中作为“数字”列。请注意,此格式与“仅限于数字”格式的行为不同,“仅限于数字”格式实际上是字符格式。
系统在存储实数时会在其内部存储 '.',并使用当前基数分隔符来显示实数。弹性域不使用组分隔符。对于字符格式和“仅限于数字”值集,这也是正确的。
一旦选择了“数字”格式,您可以在“精确度”字段中输入值。“精确度”表示应在数字值小数点后出现的位数。例如,要显示 18.758,您应选择精确度为 3。同样,要显示 1098.5,您应选择精确度为 1。要显示整数,如 7,您应选择精确度为 0。

时间
“时间”类型强制使用时间格式,如 HH24:MI,这取决于此值集的最大长度。以下是支持的时间格式和您可以使用的值集最大长度:
最大长度 时间格式
5 HH24:MI
8 HH24:MI:SS
对于其值集使用以上长度之一的段,您可以使用相应的默认值。在定义段或报表参数时,您可以定义这些默认值。
您可以将这些值作为时间值进行处理和分类。

标准日期
“标准日期”类型强制使用用户的首选日期格式。在输入数据、查询数据和使用“值列表”时,用户可以查看在“日期”字段中以首选格式显示的日期。
对于弹性域段使用带此格式类型的值集,如果存储值的列为 VARCHAR2 类型,则此日期值会以格式 YYYY/MM/DD HH24:MI:SS 存储在应用表中。对于使用这些值集的报表参数,并发管理器将此格式的日期传送到报表。因为“标准日期”类型值集值没有时间分量,所以时间分量是 00:00:00。
注:基础列长度至少为 20。
在第 11i 版中,值集的格式如果为“标准日期”和“标准日期时间”,则验证类型可能为“无”、“表”、“独立”、“从属”、“特殊”或“成对”。
在定义值集时,您可以为这些采用当前 NLS 日期格式的值集指定上限和下限值。
使用“标准日期”或“标准日期时间”格式的验证表值集不能使用标识列。“值”列应为“日期”列或 VARCHAR2 列(列中的日期值应采用规范格式 YYYY/MM/DD HH24:MI:SS)。如果表中现有的值没有采用规范格式,您应该创建一个视图,将其转换为规范格式或日期列,而值集应在此视图中定义。
由于您可以将这些值作为日期值进行处理和分类,因此 01-DEC-2002“大于”01-SEP-2002。

标准日期时间
“标准日期时间”类型强制使用用户的日期/时间格式。在输入数据、查询数据和使用“值列表”时,用户可以查看在“日期”字段中以首选格式显示的日期。
对于弹性域段使用带此格式类型的值集,如果存储值的列为 VARCHAR2 类型,则此日期值会以格式 YYYY/MM/DD HH24:MI:SS 存储在应用表中。对于使用这些值集的报表参数,并发管理器将此格式的日期传送到报表。
注:基础列长度至少为 20。
在第 11i 版中,值集的格式如果为“标准日期”和“标准日期时间”,则验证类型可能为“无”、“表”、“独立”、“从属”、“特殊”或“成对”。
在定义值集时,您可以为这些采用当前会话日期格式的值集指定上限和下限值。
使用“标准日期”或“标准日期时间”格式的验证表值集不能使用标识列。“值”列应为“日期”列或 VARCHAR2 列(列中的日期值应采用规范格式 YYYY/MM/DD HH24:MI:SS)。如果表中现有的值没有采用规
范格式,您应该创建一个视图,将其转换为规范格式或日期列,而值集应在此视图中定义。
由于您可以将这些值作为日期-时间值来处理和分类,因此01-DEC-2002 00:00:00“大于”01-SEP-2002 00:00:00。

日期
“日期”类型强制使用日期格式,如 DD-MON-RR 或DD-MON-YYYY,取决于此值集允许使用的最大长度。以下是支持的日期格式和您可以使用的值集最大长度:
最大长度日期格式
9 DD-MON-RR
11 DD-MON-YYYY
对于其值集使用以上长度之一的段,您可以使用相应的默认值。在定义段或报表参数时,您可以定义这些默认值。
由于您可以将这些值作为日期值进行处理和分类,因此 01-DEC-2002“大于”01-SEP-2002。

日期时间
“日期时间”强制使用日期格式,如 DD-MON-RR HH24:MI,这取决于此值集的最大长度。以下是支持的日期-时间格式和您可以用于“日期时间”的值集最大长度:
最大日期
长度格式
15 DD-MON-RR HH24:MI
17 DD-MON-YYYY HH24:MI
18 DD-MON-RR HH24:MI:SS
20 DD-MON-YYYY HH24:MI:SS
对于其值集使用以上长度之一的段,您可以使用相应的默认值。在定义段或报表参数时,您可以定义这些默认值。
由于您可以将这些值作为日期时间值来处理和分类,因此 01-DEC-2002 “大于”01-SEP-2002。

集最大长度
此长度表示您可以在使用此值集的段中输入的最长值,以及在定义弹性域段或报表参数时可以指定的最长“显示大小”。
注:大小是指字节数,而指不是字符数。
在多数情况下,对于使用此值集的弹性域,最大长度不能超过基础表中段列的长度。如果设置的最大长度大于该列的长度,则在定义弹性域段或报表参数时,您不能选择此值集。
如果使用小于此最大长度的“显示大小”来定义段或报表参数,则弹出式窗口将显示此段中值最左边的字符。用户可以滚动段来查看任何剩余字符。
对于报表参数,您可以使用的最大长度是 240。
如果“格式类型”是“标准日期”,则最大长度是 11。如果“格式类型”是“标准日期时间”,则最大长度是 20。
如果您要定义使用验证表值集,最大长度应该反映指定为值列的列大小。最大长度也必须等于或小于目标段列的宽度。因此,在选择值列大小之后,您可能会获得一则消息,指示您修改值集最大长度以便与值列宽度相匹配。
但是,如果您还指定了值集的隐藏标识列,则弹性域会确定隐藏标识值是否更适合于基础列,而不是值列。例如,如果您指定的最大长度为 60(它也是值列的大小),但是还指定了大小为 15 的隐藏标识列,则应仍使用弹性域的值集,而它的基础段列的大小仅为 20。在定义弹性域段或报表参数时,这样的值集一定会出现在您所看到由值组成的值集列表中。

精确度
对于包含数值的值集(数字格式或字符格式,并且选定了“仅限于数字”),此属性表示基数字符后面的位数。系统存储数值时会在基数字符后面保留此位数,并且根据需要添加零或进行四舍五入。如果将此字段留空(“空精确度”),则只要满足其它大小和数值约束条件,基数字符可以出现在值中的任何位置。
仅限于数字 (0-9)
使用“仅限于数字”选项,您不可以在使用此值集的段中输入字符A-Z, a-z 或特定字符如 ! , @ 或者 #。在使用此值集的任意段或参数中,您只能输入值 0-9、负号、正号、基数分隔符 (D) 以及组分隔符(G)。此外,另请注意,“字符”格式类型的值集即使没有字母字符仍保留为“字符”,则值的行为和分类将作为字符值处理。
右对齐和填零数字 表示您在为此值集输入值时,弹性域是否应该自动右对齐并填零数字。此选项影响仅包含字符 0-9 的值,而不管您是否选择“仅限于数字”选项。此选项不影响包含字母字符或特殊字符的值,如句点或连字符。
例如,如果存在 5 个字符的值集,并且定义的值为 7,则弹性域将值作为 00007 来存储和显示。如果您定义弹性域段以使显示长度小于最大长度,并要右对齐和填零数字,则弹性域段通常可能只显示零(弹性域段仅显示由显示长度指定的字符数)。在这些情况下,用户需要滚动弹性域段来查看有含义的值,这样就降低了数据录入或查询速度。
通常您可以使用此选项,以便确保显示为数字的字符值如同真正的数字值(例如,用于交叉验证规则、值安全性规则以及报告功能的数字值)一样进行分类并按顺序显示。您也可以使用此选项来确保所有看上去象数字的值具有相同的字符数,以便在报表中排列时美观又整齐。如果将“右对齐和填零数字”设置为“是”,则应当确保此值集中的数值使用“右对齐”和“填零”。

最小值和最大值的范围
最小值
输入用户可以在使用此值集的段中输入的最小值。最小值不可以违背格式选项,如您为此值集指定的最大值的长度。
您可以使用“最小值”和“最大值”字段来定义值集的有效值范围。一旦指定了值的范围,您就无法定义此范围以外的新的有效值。因此,“最小值”和“最大值”字段可以允许您创建验证类型为“无”(非验证,任何值均有效)的值集,用户不能在其中输入指定范围以外的值。
例如,您可能创建了格式类型为“数字”的值集,用户只能在其中输入介于 0 与 100 之间的值。或者,您可能创建了格式类型为“标准日期”的值集,用户只能在其中输入特定年份的日期(例如,在01-JAN-2002 至 31-DEC-2002 的范围内)。既然最小和最大值强制使用这些限定,则不需要定义包含各个独立数字或日期的值集。
对于已包含值的值集,您可以定义其值的范围。使用有效范围以外的现有组合或现有数据将象包含过期段值一样处理。
最小值或最大值可能随格式类型的不同而不同。例如,如果格式类型为“字符”,则 1000 小于 110;但如果格式类型为“数字”,则 110 小于 1000。此外,在您将“字符”格式类型用于多数平台(ASCII 平台)时,数字字符“小于”字母字符(即 9 小于 A),但是对于某些平台(EBCDIC 平台),数字字符则“大于”字母字符(也就是说,Z 小于0 )。如果您指定的最小值大于平台的最大值,则此窗口会显示错误消息。
最大值
输入用户可以在使用此值集的段中输入的最大值。最大值不可以长于为此值集指定的最大长度。
如果将此字段留空,则此值集的最大值可能自动成为您的值集的最大值。

最小值和最大值实例
如果值集使用字符格式,而且仅限于数字,最大长度为 3,则最小值为 '-99' 最大值为 '999'。
如果值集使用数字格式,最大长度为 5,精确度为 2,则最小值为'-9.99',最大值为 '99.99'(使用 US 基数字符 '.')。
搜索更多相关主题的帖子: Object 
2011-06-13 13:55
快速回复:ORACLE E-BUSINESS SUITE 基础与提高
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044252 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved