1040 (ImpUmsatzHR) liest eine HR-Datei und aktualisiert Umsätze.Ist auf vorhandenen Zeilen. Die zweistufige Zuordnung nutzt UmsKstGr. Es werden keine neuen Umsätze-Zeilen angelegt.
Der Reset und die Additionen prüfen IstFixed nicht. Der abschließende Schritt setzt Umsätze.Ist in allen Gruppen und Zeiträumen auf 0, wenn der Wert NULL ist. Ein SQL-Fehler im Hauptbatch kann trotzdem zu einer Erfolgsmeldung und True führen.
PFAD (FileImport) und FILIALE (NumberLong) sind registriert. Die Datei muss vorhanden sein. Parser: Encoding.Default, Semikolon, TrimWhiteSpace, CSV-Quotes; keine übersprungene Kopfzeile. Mindestens fünf Felder: 1 Datum (IsDate/CDate), 2 Kostenstelle, 3 weiterer Gruppierungsteil, 4 Lieferant, 5 Umsatz. Der Wert aus Feld 5 wird durch 1000 geteilt. Die genaue VB-Verkettung der Gruppierung ist in der technischen Beschreibung festgehalten. Keine Archivierung.
Zeilen werden in #Umsatz geschrieben. Im Dateizeitraum setzt der Code Umsätze.Ist für Gruppen der gewählten Filiale auf 0. Zwei Zuordnungsläufe addieren gewichtete Umsätze. Zwischen ihnen werden gematchte Temp-Zeilen entfernt und die übrige Gruppierung durch 100000000 geteilt. Danach folgt der globale NULL→0-Schritt. Keine aktive Folge-SP; auskommentierte Aufrufe zählen nicht. Keine Gesamttransaktion. Zeilenfehler landen nur mit Nummer in einer lokalen Logdatei. SQL_TIMEOUT begrenzt CREATE und Hauptbatch; Loggrenzen: GLOBAL_LOGLEVEL, GLOBAL_LOGLEVELEVLOG.
Technische Feldbeziehungen: Git-Nexus pep4desktop/interfaces/by-id/1040.md. Quellcommit f1d82a003b62f2658f06eaa943dc685ab219bdf3, statisch geprüft am 25.09.2026. Kein Importlauf oder Live-Schemaabgleich.