Prüfsummen
Inhaltsverzeichnis
1 Prüfsummen
Was ist eine Prüfsumme in IDL Konsis?
Eine Prüfsumme (gelegentlich auch Prüfziffer genannt) ist eine Folge von 32 Bits, die in IDL Konsis als 10-stelliger nummerischer Wert dargestellt wird. Bei Darstellung in einer Spalte für Beträge werden noch zwei Nachkommastellen (",00") angehängt.
Wie wird eine Prüfsumme gebildet?
Die Berechnung einer Prüfsumme in IDL Konsis erfolgt nach dem Verfahren CRC-32. Die relevanten Attribute einer Menge von Datensätzen werden in ihrer programminternen Darstellung dadurch in eine Prüfsumme umgesetzt.
Für welche Daten werden Prüfsummen gebildet?
- Für Kontensalden und deren Aufrisse (IC- und Controllingsalden, Bewegungen, IC-Anlagenbewegungen, IC-Bestände) werden Prüfsummen je Schlüsselkombination <Abrechnungsperiode / Datenart / Gesellschaft / Geschäftsbereich> gebildet. Diese Prüfsummen werden in der Tabelle der Verarbeitungssteuerung (Übersicht VERARB) gespeichert.
- Für Buchungen wird eine Prüfsumme je Beleg gebildet. Diese Prüfsumme wird im Belegkopf (Übersicht BEL) gespeichert.
- Für Konsolidierungsbuchungen wird eine Prüfsumme je Konsolidierungsbeleg gebildet. Diese Prüfsumme wird im Belegkopf (Übersicht KONBEL) gespeichert.
- Je Währung (Landes-/Konzern-/Parallelwährung) wird eine eigene Prüfsumme gebildet. Zeilen mit Nullwerten fließen nicht in die Prüfsummenberechnung ein. So bleiben z.B. die Prüfsummen für die Landeswährung durch die Währungsumrechnung unverändert.
- Relevante Attribute sind Kontonummer, Soll/Haben-Kennzeichen und Betrag sowie (je nach Tabelle) Buchungssschlüssel, IC-Gesellschaft, IC-Geschäftsbereich, Controllingobjekt, Produkt/Produktrguppe und/oder Anlagenobjekt. Da auch die Gesellschaft einfließt, ergeben sich für verschiedene Gesellschaften unterschiedliche Prüfsummen, auch wenn die Werte identisch sind.
Wie wird die Berechnung von Prüfsummen gesteuert?
Die Berechnung von Prüfsummen erfolgt inzwischen grundsätzlich. Eine Steuerungsmöglichkeit ist nicht mehr vorgesehen.
Wozu werden Prüfsummen verwendet?
- Prüfsummen stellen nahezu eindeutig einen Zustand der betreffenden Daten dar. Jede Änderung der relevanten Attribute führt zu einer Änderung der Prüfsumme.
- Die Änderung einer in der Tabelle VERARB geführten Prüfsumme führt zu einem Eintrag im Änderungsprotokoll der Verarbeitungssteuerungen (Übersicht VERARBLOG), so dass nachvollziehbar ist, wann, von wen und durch welche Anwendung der Datenbestand zuletzt geändert wurde.
- Bei Erstellung eines Reports wird (je Währung) die Prüfsumme der einfließenden Basisdaten gespeichert bzw. aus den Prüfsummen der Basisdaten (z.B. Salden mehrerer Gesellschaften, mehrere Konsolidierungsbelege) eine neue Report-Prüfsumme nach demselben Algorithmus gebildet.
- Bei Anzeige eines Reports (Reportübersicht REP oder Reportanzeige REPERG) wird dieser Schritt wiederholt und die ermittelte Prüfsumme mit der gespeicherten Prüfsumme verglichen. Abweichungen werden durch eine Meldung oder durch rote Zellen in den Prüfsummen-Status-Spalten visualisiert. Sie zeigen eine Veränderung der Basisdaten nach der Reporterstellung an.
Können Prüfsummen auch in anderen Systemen gebildet und verglichen werden?
Zwar ist der CRC-32-Algorithmus ein Standardverfahren, das auch in anderen Systemen angewandt werden kann, dennoch benötigen die in IDL Konsis berechneten Prüfsummen einige besondere Voraussetzungen, um zu reproduzierbaren Ergebnissen zu kommen:
- Programmintern wird für alphanummerische Attribute ein spezieller Zeichensatz (IBM 850) verwendet.
- Nummerische Werte liegen in speziellen Formaten der Programmiersprache COBOL (BCD) vor.
- Da die Reihenfolge der Daten entscheidend ist, ist eine bestimmte Sortierung einzuhalten.
- Neben den aus Vorsystemen übergeleiteten Daten gibt es in IDL Konsis ergänzte rechnerische Werte (z.B. Jahresergebnis, Vorträge), die ebenfalls in die Prüfsumme einfließen.
Aus diesen Gründen ist es praktisch ausgeschlossen, dass Prüfsummen auch in Vorsystemen (z.B. Buchhaltung, Excel-Erfassungsformulare) oder nachgelagerten Systemen gebildet werden und zur Abstimmung mit den Prüfsummen in IDL Konsis dienen können.