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:

Die Quersumme ist: 10

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.