You are on page 1of 15

ORACLE

E-BUSINESS SUITE
基础与提高
—— 弹性域开发

文档作者: Zhengang.Zhu
创建日期: 2009-03-15
修改日期:

i
Company Confidential - For internal use only
目 录

说明性弹性域.............................................................................................................3
说明性弹性域的概念..............................................................................................4
说明性弹性域段 ...................................................................................................4
段使用基本列的方法 ...........................................................................................5
参考字段 ...............................................................................................................6
段的不同排列 ..........................................................................................................8
定义说明性弹性域 ................................................................................................12
定义说明性弹性域结构........................................................................................13
上下文字段值 ........................................................................................................15

ii
Company Confidential - For internal use only
Oracle EBS 入门与提高

说明性弹性域

MARPOSS ERP PROJECT


说明性弹性域的概念

说明性弹性域段
说明性弹性域包括两种不同类型的段:全局段和上下文相关段。您可以
决定要在说明性弹性域结构中使用的段。
1. 全局段:
全局段:是始终显示在说明性弹性域弹出式窗口中的段,它与上下
文(表单中的任何其它信息)无关。
2. 上下文相关段:
上下文相关段:是可能会显示的段,是否显示要取决于表单中的其
它信息。

同一个说明性弹性域不同的结构

上下文相关段

如果存在上下文相关段,则说明性弹性域需要上下文信息(上下文
值)来确定要显示的上下文相关段。说明性弹性域可以从表单上的某个
字段,或说明性弹性域弹出式窗口中的特殊字段(上下文字段)中获取
上下文信息。如果说明性弹性域从某个表单字段(可能对用户显示,也
可能隐藏)中导出上下文信息,则该表单字段称为说明性弹性域的参考
字段。

4
Company Confidential - For internal use only
在最终用户看来,上下文字段只是自身具有提示的另一个段。但上
下文字段与普通弹性域段(全局或上下文相关段)的作用不同。用户将
上下文值输入上下文字段后,将会看到不同的上下文相关段,这取决于
用户输入的上下文值。您也可以定义不同的上下文字段。如果没有适合
作为参考字段的表单字段,或者需要用户直接控制显示哪些上下文相关
段,则可以使用上下文字段来代替参考字段。
一旦选择了适当的上下文信息,上下文相关段就会随之出现。如果
上下文信息是在用户输入说明性弹性域之前从表单字段中导出的,则上
下文相关段会立即出现。
对于含上下文相关段的说明性弹性域,一个单一的“结构”由全局
段,加上某一特定上下文字段值的上下文相关段组成。也就是说,一个
结构包含(在选定此结构后)同时显示在弹出式窗口中的所有段。

段使用基本列的方法

说明性弹性域示意

说明性弹性域使用添加至数据库表的列。该数据库表包含实体所需
的任何列,如主关键字列和其它信息列。例如,“供应商”表可能包含用
于标准供应商信息(如供应商名称、地址和供应商编号)的列。说明性
弹性域列提供了“空白”列,用于存储尚未在该表的其它列中存储的信
息。说明性弹性域要求每个可能存在的段都有一列,并且要求有一个用
来存储结构信息(即上下文值)的附加列。您只需将单一结构中的段数

5
Company Confidential - For internal use only
定义为与表中说明性弹性域段的列数相同。说明性弹性域列通常被命名
为 ATTRIBUTEn,此处的 n 是一个数字。

全局段对表中的所有行使用相同的列。一个结构的上下文相关段要
使用指定的列,但是不同结构中的上下文相关段可以“重复使用”同一
列。在定义说明性弹性域时,您始终应先定义全局段,以确保全局段可
以为所有结构“保留”该列。然后,您可以使用其它列定义上下文相关段。
请注意,在使用含上下文相关段的说明性弹性域时,如果将现有的
上下文值更改为新的上下文值,则该弹性域会自动清除所有上下文相关
段的列,并重新默认含默认值的所有段。

参考字段
将一个字段用作参考字段对字段本身并无影响。也就是说,参考字
段只是一个普通的表单字段,与弹性域无关,除非您定义该弹性域并将
其用作参考字段。通常,在表单内建立说明性弹性域时,应用开发员会
将表单上的一个或多个字段指定为潜在的参考字段,您可以从中决定要
使用的参考字段(如果有)。参考字段提供了一种方法,可以将获取的
说明性弹性域信息的上下文相关性与业务数据中的现有条件联系在一
起。
如果您使用参考字段,则该字段的值将填入它本身的列中。例如,
如果表单上的参考字段是“国家/地区”字段,则其填入表中的也会是“国
家/地区”列(请记住,在选择将其作为参考字段使用之前,参考字段只

6
Company Confidential - For internal use only
是一个普通的表单字段)。但是,由于参考字段值指定了弹性域显示的
结构,因此该值也会填入表内的结构(上下文)列中。如果在弹性域弹
出式窗口中提供了一个上下文字段,则除了使用参考字段之外,参考字
段还提供了一个上下文字段的默认值,使用户可以选择不同的上下文
值。在这种情况下,参考字段列和结构列可能包含不同的值。如果在没
有显示上下文字段的情况下使用参考字段,则两列的值将会相同。不管
您是否选择在弹出式窗口中显示上下文字段,表单均包含一个具有结构
选项的隐藏上下文字段。
所选字段所处的块必须与说明性弹性域所处的块相同。此外,如果
说明性弹性域出现在几个不同的窗口或块中,则同一字段必须存在于包
含此说明性弹性域的所有块中。您可以使用字段名本身或使
用 :block.field 表示法来指定字段。
例如,根据在应用窗口的字段中指定的国家/地区,应用窗口中的
说明性弹性域可用于获取该国家/地区的不同信息。在这种情况下,国
家/地区字段就可用作参考字段。
通常,您要为参考字段所包含的每个值定义不同的说明性弹性域段
结构。虽然您不必为参考字段可能包含的所有值都定义一个结构,但一
个包含数千个可能值的字段可能不适合作为参考字段。一般来说,您应
该仅使用含相对简短、静态的可能值列表的字段,如仅提供“是”和“否”
两种选择,或一个国家/地区列表的字段;而不应使用包含无数个唯一
值的字段,如“PO 编号”字段或日期字段(除非日期字段包含一个仅含
几个特殊日期的列表,如始终不会更改的季度末日期)。通常有特殊业
务用途的窗口都会指明哪些字段(如果有)可作为参考字段。

7
Company Confidential - For internal use only
段的不同排列
对于说明性弹性域结构的外观和行为,您可以有多种选择。下图显
示了段的不同排列,您可以通过选择不同的说明性弹性域设置选项来定
义这些排列。

请注意,“允许改写”选项控制用户能否在弹性域弹出式窗口中看到
上下文字段。如果需要在说明性弹性域弹出式窗口中显示上下文字段,
您应该将“允许改写”设置为“是”。如果不想用户从弹出式窗口中选择结
构,应该将“允许改写”设置为“否”。
在这些图中,“确定”意味着无论您为选项指定“是”还是“否”都无关
紧要(另一个选项可能具有“改写”作用)。例如,如果您有一个默认的
上下文字段值(结构选择),但也有一个上下文字段,则上下文字段中
会显示默认值,但用户可以选择另一个值。

一个结构

定义弹性域最简单的方式是创建一个仅包含全局段的结构,但是,
如果您将所有可用列用于全局段,则没有剩余的列供上下文相关段使
用,因此,这种排列将来便不会有太大的灵活性。

获得类似效果的另一种方式,就是定义一个仅包含上下文相关段的
单个结构。您也要定义一个默认的上下文值,并且不提供上下文字段或

8
Company Confidential - For internal use only
参考字段。此设置的结果是用户始终看到相同的段结构,以便使该段从
行为方式来看就好象是全局段的结构。但是,如果以后需要添加更多的
上下文相关段结构,就需要通过启用上下文字段或参考字段、禁用默认
的上下文字段值和定义新的上下文相关段结构来做到这一点。请注意,
如果您在第一个上下文相关结构中已使用了所有的可用段列,您将无法
将更多的段添加至该结构;您只能定义附加结构。仅使用上下文相关段
这一策略的一个缺陷就是,如果所有上下文(所有结构)的某些段应该
显示,则必须为每一个上下文相关结构分别定义那些段。

当然,最初您可以定义一个混合结构,它包括一些全局段和一些上
下文相关段,但只有一个具有默认上下文字段值(但没有上下文字段或
参考字段)的上下文相关结构。

9
Company Confidential - For internal use only
多个结构

一旦确定需要多个(上下文相关)结构,则对于如何排列全局段和
(或)上下文相关段、参考字段或非参考字段、上下文字段或非上下文
字段等的各种组合,您有多种选择。下图显示这些不同排列(适用于使
用了两个上下文相关结构的设置)。

10
Company Confidential - For internal use only
11
Company Confidential - For internal use only
定义说明性弹性域
定义说明性弹性域
要定义说明性弹性域,您需要定义构成说明性弹性域结构的段,以
及结构中每个段的说明性信息和验证信息。您还要确定说明性弹性域窗
口的外观,包括窗口的大小、段的数目和顺序以及段说明和段默认值。
单一结构内可包含的最大段数取决于要定义的说明性弹性域。
要在应用中充分利用说明性弹性域的弹性和强大功能,您必须定义
弹性域结构。如果没有定义任何说明性弹性域段,则不能使用窗口中的
说明性弹性域,但不会影响其它功能。
一旦定义或更改了弹性域,您必须冻结弹性域定义并保存所作的更
改。此时,Oracle Applications 会自动编译弹性域以提高联机性能。
一旦冻结了弹性域定义并保存了所作的更改,Oracle Applications
会提交一个并发请求,用于为包含弹性域段列的表生成一个数据库视
图。您可以使用这些视图在您的地点自定义报表。请参阅:弹性域视图
概览
在冻结并重新编译弹性域之后,您可以看到弹性域会立即发生变
化。但是,这些更改不会影响其他用户,除非他们更改责任或退出正在
使用的应用产品并重新登录。

12
Company Confidential - For internal use only
定义说明性弹性域结构
1. 定位至“说明性弹性域段”窗口。
2. 选择要定义的说明性弹性域的标题和应用名。您不能使用此窗
口创建新的弹性域。
3. 通过键入覆盖旧名的新名来更改弹性域标题。每次选定说明性
弹性域,您都会看到此名称,并且每次用户输入说明性弹性域时,此名
称均将作为窗口标题出现。
如果要定义新的结构、设置或修改弹性域段,或者更改说明性弹性
域窗口的外观,请不要冻结弹性域。在弹性域被冻结期间,您不能做太
大的改动。
在设置弹性域之后将其冻结,然后保存所做的更改。此时,窗口会
自动编译弹性域。在可以使用弹性域之前,您必须冻结并编译弹性域定
义。如果决定更改弹性域定义,请确保一旦做出更改,就立即冻结并再
次保存弹性域定义。
此字段的默认值为“否”。
4. 在级连说明字段中输入用于分隔段的字符。
在选择分隔符时务必小心,以免与弹性域数据发生冲突;请不要使
用段值中使用的字符。例如,如果货币或数字值中的数据经常包含句点
(.),则不应将句点用作段分隔符。
上下文字段会自动为此弹性域显示任何现有的上下文窗口提示。您
可以通过键入覆盖当前提示的新提示来更改此提示。如果您可以在输入
弹性域时选择所需的上下文相关弹性域结构(即允许改写),则弹性域
会在弹性域窗口内显示此提示。
在选择提示时,应记住弹性域窗口中所显示的上下文字段对用户来
说只是一个普通的字段或段。例如,假定有一个“客户类型”的说明性弹
性域,它的两种不同的段结构分别称为“客户”(对外部客户而言)和“员
工”(对内部客户而言),则您可以将提示定义为“客户类型”。
5. 输入弹性域使用的默认上下文字段值,以确定要显示的说明性
弹性域结构。在可以编译弹性域之前,您必须在“上下文字段值”区域内
将默认上下文字段值定义为结构。如果没有定义参考字段,则弹性域会
自动使用此默认上下文字段值。
如果没有任何上下文相关段,或者希望在填入参考字段之前,上下
文字段保留为空,您应将此字段留空。
6. 指明是否需要上下文字段值。如果需要上下文字段值,则弹性
域不会允许您在未输入有效值的情况下退出弹性域窗口。否则,您无需
选择上下文字段值。在这种情况下,您可以在没有看到任何上下文相关
结构时退出弹性域窗口。
7. 输入参考字段名称,弹性域可以从此参考字段自动导出上下文
字段值。您可以从预定义的潜在参考字段列表中选择一个参考字段。某
些说明性弹性域可能不包含任何预定义的参考字段。

13
Company Confidential - For internal use only
8. 指明是否可以改写上下文字段值,此值由弹性域从参考字段中
导出或作为默认值获取。如果可以更改此值,则弹性域会在弹性域窗口
中显示上下文窗口提示。
如果未指定默认值或参考字段,则除非仅使用全局段,否则应始终
允许改写;如果不允许改写,则弹性域必须根据参考字段或默认值来确
定上下文字段值。

14
Company Confidential - For internal use only
上下文字段值
您可以使用此块为此说明性弹性域定义有效的上下文字段值(该值
也可用作结构名称)。您可以为所定义的每个值设置一个不同的说明性
弹性域段结构。
此块中总是出现一个“全局数据元”值。您可以使用“全局数据元”
来设置要用于各个段结构的全局段。在弹性域窗口中,这些段出现在任
何上下文字段或上下文相关段之前。
例如,假设您有一个“客户类型”弹性域。您有“员工”(内部客户)
和“客户”(外部客户)两个上下文相关结构,您需要不同的段来捕获这
两个结构的不同信息。但是,您也需要捕获这两个结构的某些共同信息。
您可以使用“全局数据元”值来定义全局段以捕获公用信息。您也可以为
“员工”和“客户”两个结构分别定义上下文相关段,以捕获两组不同信
息。
1. 在“代码”列中输入唯一的上下文字段值(也称为弹性域结构
名)。弹性域使用此值(从参考字段中导出的值,或用户在初始说明性
弹性域窗口中输入的值)来确定要显示的弹性域结构。此值将写出到基
础表的结构列。
如果您使用的是参考字段,则在此处输入的值必须与您认为参考字
段将要提供的值完全相符,包括字母大小写。例如,参考字段可能是一
个显示字段,它提供 "Item" 和 "Tax" 两个值,因此您将指定这些值。
但是,如果您使用了相应的隐藏字段作为参考字段,并且该字段提供了
值 "I" 和 "T",则您指定的那些值将无效。
一旦保存了上下文字段值,您就不能删除或更改它,因为该值在系
统的其它地方被引用。但是您可以禁用某个值。
2. 输入此说明性弹性域上下文值的名称。
系统会默认一个上下文代码。对于已设置的说明性弹性域(以便显
示上下文字段),应在上下文字段中输入上下文名称。上下文字段中的
LOV 将显示上下文名称和说明。
3. 输入此说明性弹性域上下文字段值的说明。您可以利用此说明,
更好地解释此说明性弹性域结构的内容或用途。每次您从弹性域窗口中
选择说明性弹性域上下文时,就会看到此说明以及上下文名称。在您定
位至下一区域时,此窗口会自动保存待定更改。
如果您的弹性域定义被冻结,则您不能启用新结构。
4. 选择“段”按钮,打开“段”窗口,然后定义弹性域段。

15
Company Confidential - For internal use only

You might also like