*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 を 2 つの計算の間に挿入します。これにより、このロジックは書込時に次のように機能するようになります。
[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]
このケースでは、2 番目の計算式の CE0004030 にシャープ記号 (#) がないことに注意してください。これがモデルから読み込まれた保存済の金額であるためです。
任意の数の commit 命令をロジックファイルに入力できます。ただし、commit 命令は、データベースとスクリプトロジックエンジンの間の通信量を増やし、ロジック実行の全体的なパフォーマンスに悪影響を及ぼすため、その数を最低限に抑える必要があります。commit 命令は、最後に 1 回実行するのが理想的です。
この文書に含まれるソフトウェアコーディングおよびコード行/文字列 (以下 "コード" という) は例として示されるものであり、本稼動システム環境で使用することを意図するものではありません。コードは、特定のコーディングの構文とフレージングルールを分かりやすく説明し、視覚化することを目的としています。SAP は、ここで提供されるコードの正確性や完全性を保証せず、コードの使用によって生じたエラーまたは損害に対して責任を負いません。ただし、当該損害が SAP の故意または重大な過失によって生じた場合は除くものとします。