了解运行时提示

运行时提示的显示和值受以下方面的影响,如:

  • 设计时是否在规则或规则集级别设置用作覆盖值属性

  • 在表单的“页面”/“视点”上是否存在有效的成员以及业务规则属性选项卡上的使用表单上的成员隐藏提示选项是否处于选中状态(请参阅“设置业务规则属性”)

  • 运行时提示选项是在表单设计期间设置的还是在设计运行时提示时设置的(请参阅《在 Oracle Enterprise Performance Management Cloud 中使用 Calculation Manager 进行设计》

  • 在设计业务规则时,是否设置了使用上一个值属性

  • 是否在 Calculation Manager 中为业务规则选中了创建动态成员选项,并且父代成员启用了添加动态子代。如果是,则用户可通过在运行时提示中输入名称来创建新成员。

注:

在业务流程中,双引号文本中的运行时提示值不会被替换。或者,您可以使用 Groovy 规则来达到同样的目的。但是,从 Calculation Manager 启动规则会替换双引号文本中的运行时提示值。

原则:

  1. 如果设计时在规则或规则集级别设置了用作覆盖值属性,则在规则级别或规则集级别覆盖的值将优先于“页面”/“视点”中成员的值和最后保存的值。不论在何处启动规则(从表单或从导航器菜单上的规则链接)以及不论在设计期间是否隐藏运行时提示,都会发生这种情况。覆盖值可以设置为用户变量,在这种情况下将使用变量的当前值启动规则。

  2. 从一个表单启动时,如果选择了使用表单上的成员选项,则无论在设计期间是否隐藏了运行时提示,“页面”/“视点”上的成员值都优先于最后保存的值。运行业务规则时不会向用户显示隐藏的运行时提示,运行时提示值会从“页面”/“视点”成员获取。

  3. 如果在设计时选择了运行时提示使用上次值选项,并且如果存在下列任何条件,则:

    • 没有选择使用数据表单上的成员

    • 一个运行时提示通过导航器菜单上的规则链接启动

    • 无法从上下文预先填充值

    运行时提示值的优先顺序由以下规则决定:

    1. 上次保存的值优先。

    2. 如果启动了规则集,则使用设计时在规则集级别覆盖的值。

    3. 如果启动了业务规则,则使用设计时在规则级别覆盖的值。如果它在规则级别没有被覆盖,则使用设计时的运行时提示值。

    在设计时隐藏的运行时提示从不使用上次保存的值。在这种情况下,使用上次值设置被忽略。

  4. 使用表单上的成员选项和隐藏提示选项只应用于“成员”和“交叉维”运行时提示类型(“交叉维”运行时提示类型只可用于用 Calculation Manager 创建的业务规则)。

    设置用作覆盖值属性后,设计时在规则或规则集级别设置的值参与隐藏提示行为。

  5. 对于“交叉维”运行时提示:只有当运行时提示中的所有提示都可以从覆盖值或“页面”/“视点”预先填充,该运行时提示才会被隐藏。在显示运行时提示时,某些值会从覆盖值或“页面”/“视点”进行预先填充,而其他值则根据第 1 条原则、第 2 条原则和第 3 条原则进行填充。

该表描述了这些设置和条件的运行时提示上的结果:

表 24-25 成员的可用性和其他设置是如何影响运行时提示的

是否有覆盖值以及“页面”/“视点”上的成员可用 选定了使用表单上的成员选项 在运行时提示设计期间设置了隐藏运行时提示属性 为表单选择了隐藏提示选项 运行时提示的结果
设置了用作覆盖值,并且有覆盖值或“页面”/“视点”上的成员可用作运行时提示值。

是或否

忽略设置

运行业务规则时不向用户显示运行时提示。而是从覆盖值或“页面”/“视点”成员获取运行时提示值。
设置了用作覆盖值,并且有覆盖值或“页面”/“视点”上的成员可用作运行时提示值。 如果所有运行时提示都可以从覆盖值或“页面”/“视点”上下文预先填充,并且均有效且处于限制范围内,则不会显示运行时提示。但是,只要有一个运行时提示值不能从覆盖值或“页面”/“视点”上下文预先填充,所有运行时提示都将显示出来,并尽可能地预先填充值。所有其他值遵从第 1 条原则和第 3 条原则。
设置了用作覆盖值,并且有覆盖值或“页面”/“视点”上的成员可用作运行时提示值。 向用户显示运行时提示,并从覆盖值或“页面”/“视点”预先填充值。
未设置用作覆盖值,并且“页面”/“视点”上没有可用作运行时提示值的成员。

是或否

忽略设置

业务规则向用户显示运行时提示,根据第 3 条原则预先填充值。

例如,由于运行时提示的维在行上或列上,无法传递表单上下文,所以隐藏提示设置被忽略,运行时提示显示出来。

未设置用作覆盖值,并且“页面”/“视点”上没有可用作运行时提示值的成员。 将向用户显示运行时提示,并根据第 3 条原则预先填充值。
设置了用作覆盖值,并且有覆盖值可用作运行时提示值,但“页面”/“视点”上没有可用作运行时提示值的成员。 如果所有运行时提示都可以从覆盖值预先填充,并且均有效且处于限制范围内,则不显示运行时提示。但是,只要有一个运行时提示值不能从覆盖值预先填充,所有运行时提示都将显示出来,并尽可能地预先填充值。所有其他值遵从第 1 条原则和第 3 条原则。
未设置用作覆盖值,并且“页面”/“视点”上没有可用作运行时提示值的成员。 将向用户显示运行时提示,并根据第 3 条原则预先填充值。
设置了用作覆盖值,并且有覆盖值可用作运行时提示值,但“页面”/“视点”上没有可用作运行时提示值的成员。 将向用户显示运行时提示,并根据第 1 条和第 3 条原则预先填充值。
设置了用作覆盖值,并且有覆盖值或“页面”/“视点”上的成员可用作运行时提示值。 不可用 运行业务规则时不向用户显示运行时提示。而是使用设计时值。
设置了用作覆盖值,并且有覆盖值或“页面”/“视点”上的成员可用作运行时提示值。 不可用 将向用户显示运行时提示,并根据第 3 条原则预先填充值。
未设置用作覆盖值,并且“页面”/“视点”上没有可用作运行时提示值的成员。 不可用 运行业务规则时不向用户显示运行时提示。而是使用设计时值。
未设置用作覆盖值,并且“页面”/“视点”上没有可用作运行时提示值的成员。 不可用 将向用户显示运行时提示,并根据第 3 条原则预先填充值。

当隐藏的运行时提示值不明确时,请注意:

  • 如果表单上下文不能传入(例如由于维在行或列上),则隐藏的运行时提示将显示出来。

  • 对于隐藏的“交叉维”运行时提示类型,如果有些提示不能从“覆盖值”或上下文传入,运行时提示会显示从覆盖值或上下文值和设计时值预先填充的值。例如,如果“交叉维”有针对“期间”、“实体”和“方案”的运行时提示,且实体是在行上定义的,方案设置了覆盖值,则运行时提示会显示“覆盖方案”、“实体”的设计时值以及“页面期间”。

  • 如果存在覆盖值,或者可以为运行时提示值传入上下文,但是超出了限制,则运行时提示会显示预先填充的上下文值。

  • 如果有多个“成员”类型或“交叉维”类型的运行时提示结合在一起,则运行时提示会显示预先填充的覆盖值或上下文值。例如,如果有一个针对“实体”维的成员类型运行时提示和一个带有“实体”维提示的“交叉维”类型的运行时提示,则两个运行时提示都会显示。此规则不适用于 Calculation Manager 规则集。

  • 通过导航器菜单上的规则链接启动后,运行时提示会被隐藏,设计时值(在规则或规则集级别被覆盖了)用来启动业务规则。如果提供的设计时值超过了限制,则运行时提示会显示预先填充的设计时间值。

  • 在设计期间被隐藏的运行时间变量从不使用上次保存的值。使用上次值属性被忽略了,且该值未在数据库里储存。