使用 @FCCSImpactStatus 函数,可以根据特定计算手动将指定方案、年份、期间和实体组合的状态更改为“受影响”。例如,如果系统在对某个特定实体计算“实际”方案的“净收入”值,您可能希望该系统也影响另一个名为“预测”的方案中同一年份和期间内的同一实例。无论当前状态为何,该函数都会将计算状态更改为“受影响”。
@FCCSImpactStatus 函数可用于可配置计算(插入规则)和按需规则。请参阅“使用可配置计算”和“使用按需规则”。
语法:
@FCCSImpactStatus(Scenario, Year, Period, Entity)
可为该函数选择以下参数:
方案 - 单个成员。选择必须为 0 级成员。
年份 - 单个成员。选择必须为 0 级成员。
期间 - 单个成员。选择必须为 0 级成员(并且不得为 Q1 或 HY1 等父代)。
实体 - 单个成员、函数或列表。支持 0 级成员和父代成员。
此函数支持 @CURRMBR、@PREVSIBLING、@NEXTSIBLING、@LIST 等函数。
对于实体,支持列表类型为“成员集”(使用特定成员名称,而不是 @CURRMBR("Entity"))的函数。例如:
后代(包括)
子代(包括)
祖先(包括)
同级(包括)
父代(包括)
零级后代
左侧同级(包括)
右侧同级(包括)
上一个 0 级成员
下一个 0 级成员
上一层代
下一层代
@List
对于方案、年份、期间和实体维,支持 @CURRMBR 以指示与正在处理的当前成员相同。
对于方案、年份、期间和实体维,仅支持 @NEXTSIBLING 和 @PREVSIBLING 函数直接与 @CURRMBR 函数组合使用。使用 @CURRMBR(..) 函数时支持以下三种组合:
@CURRMBR("Scenario/Years/Period/Entity")
@PREVSIBLING(@CURRMBR(…))
@NEXTSIBLING(@CURRMBR(…))
对于实体维,支持 @LIST 函数,其中,参数项可以为 @CURRMBR("Entity") 或其有效组合。例如,在“实体”字段中,以下语句有效:
@LIST(@CURRMBR("Entity"), "LE-0011-EUR" @SIBLINGS("LE-0016-BRL"))
@LIST(@PREVSIBLING(@CURRMBR("Entity")),
@NEXTSIBLING(@CURRMBR("Entity")), @IAncestors("LE-0011-EUR"));
系统会影响 @FCCSImpactStatus 函数中指定的方案/年份/期间/实体(无论其当前计算状态为何),并影响所有适用父代和祖先。具有数据的所有未来期间都受影响。
如果实体具有共享实体,则主实体及其所有共享实体都受影响,并且其对应的父代和祖先也受影响。系统不会影响锁定的实体。
在可配置计算(插入规则)中使用 @FCCSImpactStatus 函数时,影响状态验证器会检测错误,并可能导致合并过程在脚本生成期间失败。默认情况下,名为 DisableImpactStatusConsolValidation
的替代变量处于启用状态,这允许“影响状态”规则语义验证器忽略验证错误并继续执行合并规则。如果您将该替代变量值设置为 False,则验证器将显示“影响状态”错误以及详细信息。
示例:在可配置计算中使用 @FCCSImpactStatus 函数
以下示例显示了一个“影响状态”计算脚本示例。
以下示例显示了 @FCCSImpactStatus 函数对各种方案/年份/期间/实体组合的影响。
示例 1:对特定方案/年份/期间/实体的显式影响
@FCCSImpactStatus("Budget", "FY16", "Jan", "GBP E2")
选择 "Actual/FY16/Jan/EUR #1" 以运行按需规则。
该函数将显式影响 "Budget/FY16/Jan/GBP E2" 和 Budget/FY16/Jan 中 GBP2 E2 的祖先。
父代成员 "EUR D1" 也将受影响。
示例 2:影响不同的方案,但影响相同的年份/期间/实体
@FCCSImpactStatus("Budget",@CURRMBR("Years",@CURRMBR("Period"),@CURRMBR("Entity")
选择 "Actual/FY16/Feb/EUR E1" 以运行按需规则。
该函数将显式影响 "Budget/FY16/Feb/EUR E1" 和 Budget/FY16/Feb 中 EUR E1 的祖先。
在 2 月,父代成员 "EUR D1" 也将受影响。
示例 3:影响当前方案/年份/期间,但通过使用 @List 函数影响不同实体
@FCCSImpactStatus("@CURRMBR"("Scenario"), @CURRMBR("Years"), @CURRMBR("Period"),@LIST("EUR E3", "USD E4")
选择 "Actual / FY16 / Mar / EUR E1" 以运行按需规则。
该函数将显式影响 "Actual / FY16 / Mar / EUR E3 and USD E4" 以及 Actual/FY16/Mar 中 EUR E3 和 USD E4 的祖先。
在 3 月,对应的父代 "USD D2" 也将受影响。
示例 4:影响当前方案/年份/实体,但影响下一期间
@FCCSImpactStatus("@CURRMBR"("Scenario"), @CURRMBR("Years"), @NEXTSIBLING(@CURRMBR("Period")),@CURRMBR("Entity"))
选择 "Actual/FY16/Apr/EUR E1" 以运行按需规则
该函数将显式影响 "Actual / FY16 / May / EUR E1" 和 Actual/FY16/May 中 EUR E1 的祖先。
在 5 月,对应的父代 "EUR D1" 也将受影响。
示例 5:使用 Calculation Manager RTP 值影响方案/年份/期间/实体
FIX("FCCS_Periodic", "Custom1", " Custom2", "FCCS_No Intercompany", " Custom3", "FCCS_Data Input","FCCS_Entity Input","FCCS_No Movement") "Account"( @FCCSImpactStatus({Scenario},{Years},{Period},@IDESCENDANTS({Entity})) ; ) ENDFIX
此脚本将使用按需规则执行期间提供的计算运行时提示值中的方案、年份、期间和实体值。
它将影响实体和父实体及其所有后代。
其他用例
以下示例显示了 @FCCSImpactStatus 函数的其他用例及其结果。
假设您要使用此实体层次、合并 Actua/FY19/Nov/P02 以及使用 @FCCSImpactStatus 函数:
用例 1:@FCCSImpactStatus("Actual", "FY19", "Nov", "E03")
由于实体 E03 是 P02 的后代(并且方案、年份和期间相同),将不受影响。
用例 2:@FCCSImpactStatus("Actual", "FY19","Nov", "E04")
实体 E04 不是 P02 的后代。将受影响。
用例 3:@FCCSImpactStatus("Actual", "FY19","Dec", "E03")
尽管实体 E03 是 P02 的后代,但 Dec 是 11 月之后的期间,因此它将受影响。
用例 4:@FCCSImpactStatus("Actual", "FY19", "Oct", "E03")
将不受影响。我们要合并 Actual/FY19/Nov/P02,这意味着,在 Actual/FY19/Nov 中,P02 及其所有后代(包括 E03)将变为正常。
用例 5:@FCCSImpactStatus("Actual", "FY19", "Oct", "E04")
将受影响。实体 E04 不是 P02 的后代。