*COMMIT

Un fichier de calculs peut contenir des formules qui dépendent du résultat de calculs effectués par le modèle et à leur tour, ces calculs dépendent des résultats d'autres formules du même calcul.

Exemple

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

Dans cet exemple, CE0661000 dépend du premier calcul, et ce calcul dépend à son tour du calcul de CE0004030.

S'il est écrit au format ci-dessus, ce calcul ne fonctionne pas correctement, car CE0004030 ne peut pas être extrait du modèle tant que son résultat n'est pas comptabilisé dans le modèle. Pour obtenir les résultats adéquats, CE0004030 doit être calculé ET stocké dans le modèle. ENSUITE, le résultat calculé peut être extrait du modèle et utilisé pour calculer CE0661000.

Pour forcer une réécriture du résultat du calcul de CE0004030 dans le modèle avant le calcul de CE0661000, vous pouvez insérer l'instruction *COMMIT entre les deux calculs. La logique de calcul fonctionne alors lorsqu'elle est écrite comme suit :

Exemple

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

Dans ce cas, CE0004030 dans la seconde formule ne comporte pas le symbole dièse (#) parce que c'est un montant stocké lu dans le modèle.

Remarque

Vous pouvez entrer autant d’instructions commit que vous le souhaitez dans un fichier de calculs. Le nombre d'instructions commit doit cependant être réduit au minimum, car ces instructions ont un impact négatif sur les performances globales d'exécution des calculs, en raison de l'augmentation des communications entre la base de données et le moteur de script de calcul. L'idéal est d'avoir un seul commit à la fin.

Tous les codes logiciels et/ou lignes/chaînes de code ("Code") inclus dans cette documentation sont fournis à titre d'exemples et ne sont en aucun cas destinés à un usage dans un environnement système productif.Le Code a pour but de mieux expliquer et d'offrir un exemple visuel des règles de syntaxe et de rédaction de certains codes.SAP ne garantit pas l'exactitude et l'exhaustivité du Code ci-après et SAP ne pourra pas être tenu responsable des erreurs ou dommages causés par l'utilisation dudit Code, sauf si de tels dommages ont été causés volontairement par SAP ou par négligence grave de SAP.