*COMMIT

逻辑文件可包含取决于模型执行计算所得结果的公式,这些计算又取决于同一逻辑中其他公式的结果。

示例

[P_ACCT].[#CE0004030] = ( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] ) * 0.15

[P_ACCT].[#CE0661000] =

( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] + [P_ACCT].[#CE0004030] ) / [P_ACCT].[CE0652000]

在该示例中,CE0661000 取决于第一个计算,而第一个计算又取决于 CE0004030 的计算。

如果逻辑按上述格式写入,则不会正常工作,因为直到计算结果过账给模型之后,才能在模型中检索 CE0004030。要获得正确的结果,必须在模型中计算并存储 CE0004030。然后才可以从模型中检索计算结果,并用于计算 CE0661000。

要在计算 CE0661000 之前,强制将 CE0004030 计算结果回写到模型中,可以在两个计算之间插入指令 *COMMIT。这样,当逻辑按如下方式写入时,可以正常运行:

示例

[P_ACCT].[#CE0004030] = ( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] ) * 0.15

*COMMIT

[P_ACCT].[#CE0661000] =

( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] + [P_ACCT].[CE0004030] ) / [P_ACCT].[CE0652000]

在这种情况中,第二个公式中的 CE0004030 不包含磅字符(#),因为它是从模型中读取的存储数量。

注意

可以在逻辑文件中输入任意数量的 Commit 指令。但是,Commit 指令的数量应保持在最小数量,因为如果数据库和脚本逻辑引擎之间的通讯增加,Commit 指令会对逻辑执行的总体性能造成负面影响。理想情况是在末尾处放一个 Commit。

“本文档中包括的任何软件编码和/或代码行/字符串(“代码”)仅为示例,不可用于生产系统环境中。”“代码仅为更好、更直观地解释特定编码的语法和语法规则。”SAP 不担保本文中代码的正确性和完整性,且 SAP 不对因使用代码而造成的错误或损害负责,除非这些损害是由 SAP 故意或因其重大疏忽所造成。