*COMMIT

Eine Logikdatei kann Formeln enthalten, die vom Ergebnis der vom Modell durchgeführten Berechnungen abhängen, und diese Berechnungen hängen wiederum von den Ergebnissen anderer Formeln in derselben Logik ab.

Beispiel

[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]

In diesem Beispiel hängt CE0661000 von der ersten Berechnung ab, und diese hängt wiederum von der Berechnung von CE0004030 ab.

Diese Logik funktioniert nicht korrekt, wenn sie im obigen Format geschrieben wird, da CE0004030 erst vom Modell abgerufen werden kann, wenn das Ergebnis an das Modell übermittelt wurde. Um die richtigen Ergebnisse zu erhalten, muss CE0004030 berechnet UND im Modell gespeichert werden. Das berechnete Ergebnis kann ERST DANN vom Modell abgerufen und für die Berechnung von CE0661000 herangezogen werden.

Um ein Write-Back des Ergebnisses der Berechnung von CE0004030 in das Modell vor der Berechnung von CE0661000 zu erzwingen, können Sie die Anweisung *COMMIT zwischen den beiden Berechnungen einfügen. Dann funktioniert die Logik, wenn sie wie folgt geschrieben wird:

Beispiel

[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]

In diesem Fall hat CE0004030 in der zweiten Formel nicht das Rautenzeichen (#), da es sich um einen gespeicherten Betrag handelt, der aus dem Modell gelesen wird.

Hinweis

In eine Logikdatei kann eine beliebige Anzahl von Commit-Anweisungen eingefügt werden. Dennoch sollte ihre Anzahl auf ein Minimum reduziert werden, da sie sich wegen der umfangreicheren Kommunikation zwischen der Datenbank und der Skriptlogik-Engine negativ auf die Gesamt-Performance der Logikausführung auswirken. Der Idealfall wäre eine Commit-Anweisung am Ende.

Alle in dieser Dokumentation enthaltenen Software-Quelltextzeilen und/oder -Strings („Code“) dienen nur als Beispiele und sind nicht für die Anwendung in einem Produktivsystem vorgesehen. Der Code soll lediglich dazu dienen, die Syntax- und die Phrasierungsregeln bestimmter Kodierungen besser zu erklären und zu veranschaulichen. SAP übernimmt keine Verantwortung für die Richtigkeit und Vollständigkeit des angegebenen Quelltextes und übernimmt keine Haftung für Fehler oder Schäden, die aus dessen Anwendung entstehen könnten; es sei denn, derartige Schäden wurden von SAP vorsätzlich oder fahrlässig hervorgerufen.