Die einfachste Lösung besteht hier darin, den Ausgangswert, für den die Quersumme berechnet werden soll, in einer neuen Integer-Variable zu speichern und aus dieser dann mit Hilfe einer WHILE
-Schleife sowie der Funktion MOD
die Quersumme zu bilden.
Hierfür legen wir beispielhaft eine Codeunit an, in deren OnRun
-Trigger wir folgenden lokale Variablen anlegen:
Name | Typ |
---|---|
Wert | Integer |
Quersumme | Integer |
Anschließend fügen wir folgenden Code ein, um uns die Quersumme von 1234 ausgeben zu lassen:
Wert := 1234; Quersumme := 0; WHILE Wert <> 0 DO BEGIN Quersumme += Wert MOD 10; Wert /= 10; END; MESSAGE('Die Quersumme ist: ' + FORMAT(Quersumme));
Wenn wir diesen Code nun im Web-Client von Microsoft Dynamics 365 Business Central ausführen, erhalten wir folgende Meldung:
Hierbei wird bei jedem Durchlauf der Schleife, solange die Variable Wert
ungleich 0 ist, die jeweils letzte Stelle von Wert
durch die Funktion MOD
auf die Variable Quersumme
hinzuaddiert und anschließend über das Teilen durch 10 aus der Variable Wert
herausgetrennt.
Wichtig ist zu beachten, dass der Wert, von dem die Quersumme berechnet werden soll, entweder nur als Wert und nicht per Referenz übergeben werden sollte, oder in eine Variable zwischengespeichert wird, um versehentliche Änderungen an dem Wert zu vermeiden.