oracle资产弹性域,EBS Form关键性弹性域中的其它的概念 - CSDN博客

EBS Form关键性弹性域中的其它的概念

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

你已经了解了下面这些基本弹性域的术语和概念:

l  弹性域(Flexfield)

l  分段(Segment)

l  结构(Structure)

l  值(Value)

l  验证(Validation(Validate))

l  值集(Value set)

你知道上面这些术语和概念同时适用于关键性弹性域和描述性弹性域,你还需要知道额外的仅适用于关键性弹性域的术语。

智能键(Intelligent Key)

一个智能键是由几个部分组成的编码,这里的一个或多个部分是有含义的。一个智能键”编码”能唯一确认一个对象,比如一个账户,一个资产,一个零件或者一个作业。智能键在应用中非常有用,因为它们比起唯一编码来说更容易为用户记住和使用。比如,一个零件的编号PAD-YEL-11×14就比一个唯一的零件编号57494更容易为用户记住。尽管如此,唯一的ID编码在关系型数据库应用中更容易维护,因为对ID号来说仅一列是必须的,但对智能键来说多列是必须的(编码中每一个部分或者分段都需要一列)。EBS产品使用带有唯一ID号码的弹性域来表示智能键。那就是说,终端用户看到的和工作用的是容易记住的智能键编码,但EBS产品在大多数表中仅需要存储一个隐藏的唯一ID编码。

重要:在整个文档中,在我们的示例图片中我们使用”PartNumber Key Flexfield”。我们使用这个示例因为它可以帮助我们演示使用关键性弹性域和它的行为,而不需要任何特别的会计,人力资源或者生产知识。尽管如实,但在EBS中没有实际的”Part Number KeyFlexfield”,而且你不应该和许多EBS产品比如库存使用的System Items 弹性域(Item弹性域)所混淆。

智能键示例

074637563859e6e70e7bd8b4f9f48c39.png

组合(Combination)

一个组合是一个特殊的完整编码,或者组成了编码的分段值的组合,其通常唯一标识了一个对象。比如,每个零件号码是一个单独的组合,就像PAD-YEL-11×14或者01-COM-876-7GB-LTN(这里”-”是分段分隔符)。如果你有10个零件,你需要定义10个组合。一个有效的组合是一个存在的或者目前可以被使用的新组合(那就是说,它没有过期,没有被禁用,并不违反交叉验证和安全规则).一个组合有不同的分段,这依赖于这个组合所使用的弹性域结构。任意一个组合仅关联到一个特殊的弹性域结构(分段的排列).

注意很多EBS产品(及其文档)不需要引用关键性弹性域组合为”组合”,它们可能使用实体的名字或者关键性弹性域本身引用组合。比如,Oracle资产使用叫做”Asset KeyFlexfield”的关键性弹性域,并引用它的其中之一的组合为”anasset key”或者”an asset keyflexfield”. 另一个示例Oracle总账和其它的EBS产品通常使用术语”账户”或者”GL账户”来引用会计弹性域组合。

组合示例

8995448490526d52d087fd876ca36e12.png

组合表(Combinations Table)

每个关键性弹性域都有一个对应的表,就是大家所知的组合表,其中弹性域存储了完整编码的列表,编码中的每个分段都有相应的一列,还有这个编码相应的唯一的ID号(一个编码组合ID号或者叫CCID)。然后,应用中的其它表有一列存储了这个编码的唯一ID号。比如,你有一个零件号码,就像PAD-YEL-11×14,”零件” 组合表存储了这个编码及其相应的ID 57494.如果你的应用允许你为这个零件做订单,你可能有一个“Orders”的表,其中存储了零件的订单。这个”Orders”表包含了一个单独的列其中存储了零件的ID 57494,而不是完整编制PAD-YEL-11×14的几个列。

组合Form(Combinations Form)

一个组合Form是仅用于维护关键性弹性域组合的form. 这个form的基础表是实际的组合表。这个表是对象(一个零件,或者一个物料,一个会计编码等等)的实体表.这个表包含了一个唯一的ID列(也叫做编码组合ID列)为主键,还有单个分段列,结构ID列和其它弹性域相关的列。这个组合form为这个表中的每个分段列包含隐藏字段,还有分段值连接(组合)的显示字段和实体需要的其它字段,比如连接描述字段。组合form有时也叫做维护form.

组合form示例

35efcc8d5fcdd1e7919ef948b535a855.png

外键form

一个外键form是其潜在的基础表仅包含关键性弹性域信息的一个或者两个列,这些列都是关联组合表的外键列(通常关联组合表CCID列一个外键列,有时也有结构ID列)。外键form的目的常常和关键性弹性域本身几乎没有关系,而是用于附属关键性弹性域到其上面。比如,如果有你有一个代表零件号的关键性弹性域,你可以使用这个组合form来第一新的零件和维护已有的零件号。你会有很多外键form,其用来操作零件。你可能有一个form用来为零件创建订单,另一个form你用来接收零件,还有一个form用来发运零件。比如,事实上零件号表现为一个关键性弹性域对你为零件创建订单是不重要的。

外键form示例

e412beace2011ef3fd963ceab1e4c36f.png

范围form

一个范围form显示了一个范围的弹性域,它是一个特殊的弹出式窗口,其中包含了关键性弹性域分段的两个完整集合。一个范围弹性域为每个关键分段支持低和高的值而不是单个值。通常的,一个关键性弹性域范围在你的form上表现为两个相邻的弹性域,最左边的弹性域包含一个范围的低值,右边的弹性域包含了高值。用户在这个弹出式窗口上指定范围的低值和高值。比如,你可能想选择一个范围的零件号来运行一个报表。

范围form使用了一个特殊的表作为它的基础表,这个表为每个出现在组合表中的分段列包含了一个或者多个(通常两个)列。但是这些列不需要包含实际的分段值,并且这个表中行不需要包含实际有效的组合。通常这个表为每个分段包含两个列,叫做SEGMENTn_LOW和SEGMENTn_HIGH(这里n是分段列的编号),它们存储了每个分段的值的范围。

在Oracle EBS中,我们使用关键性弹性域范围来帮助你为关键性弹性域组合指定交叉验证规则。

注意:在计划你的范围弹性域的时候要小心。就像后面章节描述的,对于范围功能你不能使用ID-验证值集。ID-验证直接包含了指明ID列的表-验证值集;可翻译的独立和可翻译的依赖值集;使用精度的数字值集;日期,日期/时间,和时间值集。

一些form使用了变异的范围弹性域来为每个不必为弹性分段值的每个弹性域分段捕捉信息。比如,form可能为每个分段捕捉”Yes”或者”No”值(Assign FunctionParameter form显示一个弹出式弹性域窗口,这里你可以选择Yes或者No来指明是否你想为每个特别的分段分配一个值).

Form上范围弹性域的示例

590055a8da44514b587e23ad7707b4ca.png

动态插入

动态插入是插入一条新的有效的组合到关键性弹性域的组合表中,但是是从非组合form上插入的。如果你在设置关键性弹性域的时候允许动态插入,那么用户在外键form上通过弹性域窗口输入一个的分段值组合。如果这个新的组合满足任何存在的交叉验证规则,那么弹性域就会插入新的组合到组合表中,虽然组合表不是外键form的潜在的表。

对于一些关键性弹性域,动态插入可能是不允许的。有时对一个应用来说,允许用户从其它非组合form创建一个新的组合是没道理的。比如,用户在用输入订单form为零件创建订单的时候,用户就不应该能创建新的零件。应用就应该限制只允许用户使用创建零件form来创建新的零件编号。

动态插入对一些关键性弹性域来说在技术上是不能的。如果组合表包含了不是由弹性域维护的必填字段,那么动态插入就是不可能的。如果组合表包含了非弹性域的必填列,比如”计量单位”列,弹性域就不能从外键form上在组合表中完成整个行(因为外键form的基础表不是组合表)。弹性域不维护CCID列。

通常为每个关键性弹性域,如果有,就仅有一个组合form。在一些应用中,可能没有组合form,这样的话,你需要使用动态插入来创建组合。

注意:关于特定弹性域的动态插入的更多细节,请参考拥有这个弹性域的应用的User Guilder

可以在注册关键性弹性域form,分段form和关键性弹性域的定义form为关键性弹性域启用动态插入。

动态插入示例

6e14846d457ce3a52764ff0f9e8a9fc2.png

弹性域限定规则(Flexfield Qualifier)

一个弹性域限定规则标示了一个关键性弹性域的特定分段。

通常一个应用需要为一些应用目的而识别特定分段的方法,比如安全或者计算需要。但是,因为关键性弹性域可以被自定义那么分段可以以任意顺序和任意标签出现,应用需要一些机制来识别分段,而不是用分段名称或者分段的使用顺序。弹性域限定规则就是为了这个目的。你可以把弹性域限定规则想象为一个分段的”识别标记”。

限定规则示例

1ae4e6a9f4cc307e9bc9715d4cadcb98.png

比如,你的Oracle总账产品需要能识别会计弹性域中哪个分段包含balancing信息和哪个分段包含natural账户信息。因为你可以自定义会计弹性域,那么分段可以以任意顺序和任意标签出现,Oracle总账需要弹性域限定规则来决定你使用哪个分段用于natural账户信息。当你定义你的会计弹性域的时候,你必须指明你的哪个弹性域限定规则适用于哪个分段。

Oracle应用,比如Oracle人力资源,也使用弹性域限定规则。Oracle人力资源使用弹性域限定规则来控制谁可以访问弹性域分段中的机密信息。

一个分段限定规则用来识别在一个关键性弹性域中的一个单独分段的特殊类型的值。在Oracle EBS中,仅会计弹性域使用了分段限定规则。你可以把分段限定规则想象为一个值的”识别标记”。在会计弹性域中,分段限定规则是可以识别一个natual账户分段值的账户类型,并决定对特定的值是否运行detailposting或者budgeting.

很容易混淆两种类型的限定规则,你应该把弹性域限定规则想象为整个弹性域用于标记其分段的东西,并把分段限定规则想象为分段用于标记其值的东西。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值