Show TOC

Syntax*COMMIT Dieses Dokument in der Navigationsstruktur finden

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

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

Ende des Beispiels.

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 Cube abgerufen werden kann, wenn das Ergebnis an den Cube übermittelt wurde. Um die richtigen Ergebnisse zu erhalten, muss CE0004030 berechnet UND im Cube gespeichert werden. Das berechnete Ergebnis kann ERST DANN vom Cube abgerufen und für die Berechnung von CE0661000 herangezogen werden.

Um ein Write-Back des Ergebnisses der Berechnung von CE0004030 in den Cube 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 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 Cube gelesen wird.

Ende des Beispiels.

Hinweis 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.

Ende des Hinweises

Alle in dieser Dokumentation enthaltenen Software-Quelltextzeilen oder -Strings („Code“) dienen nur als Beispiele und sind nicht für die Anwendung in einem Produktivsystem vorgesehen. Der angegebene Quelltext soll lediglich die Syntax und die Ausdrucksregeln bestimmter Softwarecodes erläutern. 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.