1030 (ImpUmsatzMars) fügt Mars-Umsätze in SCHNITT_Umsatz ein. Danach aktualisiert SCHNITT_Umsatz_Mars vorhandene Umsätze.Ist über eine Kostenstellenzuordnung. Verkäufer-, Kunden- oder Stundenwerte werden in diesem Pfad nicht neu gebildet.
Anders als andere Importe leert 1030 das Staging nicht vorab. Wiederholte oder fremde SCHNITT_Umsatz-Zeilen mit passender Referenz und Datum können in die Summe eingehen. Die erste Datei-Zeile wird immer verworfen.
PFAD verlangt eine vorhandene Datei. Parser: Encoding.Default, Semikolon, getrimmte Leerzeichen und CSV-Anführungszeichen. Die erste physische Zeile wird mit ReadLine() übersprungen – auch wenn sie kein Header ist. Danach mindestens neun Felder; Datum wird mit de-DE geparst. Keine Archivierung.
| Position | Ziel / Verarbeitung |
|---|---|
| 1 | SCHNITT_Umsatz.Datum; de-DE-Datum. |
| 2 | Warengruppe; zusammen mit Position 5 für Referenz = Warengruppe*1000 + Filiale. |
| 3–7 | Artikel, Verkäufer, Filiale, Kasse, Bon. |
| 8 | Menge. |
| 9 | PreisBrutto. |
Kostenstelle, PreisNetto und Rabatt werden auf 0 gesetzt. Die Datenbank konvertiert mehrere Dateistrings erst beim INSERT in numerische Zieltypen.
Je Zeile INSERT in SCHNITT_Umsatz; es gibt kein voriges DELETE/TRUNCATE. Das früheste/späteste geparste Datum wird an dbo.SCHNITT_Umsatz_Mars übergeben. Die SP verknüpft SCHNITT_Umsatz.Referenz mit UmsKstGr.Kst, gewichtet PreisBrutto mit UmsKstGr.Prozent und schreibt Umsätze.Ist nur auf vorhandene Zeilen mit IstFixed=0. Kein INSERT neuer Umsätze-Zeilen.
Zeilenfehler werden gesammelt; die SP kann trotzdem nach einem Teilimport laufen. Keine Gesamttransaktion. CommandTimeout=0 bedeutet unbegrenzt; SQL_TIMEOUT begrenzt diesen Fachpfad nicht. Direkte Info-/Logmeldungen (GLOBAL_LOGLEVEL, GLOBAL_LOGLEVELEVLOG), keine BASE-Mail/API-Wirkung.
Technische Feldbeziehungen: Git-Nexus pep4desktop/interfaces/by-id/1030.md. Quellcommit f1d82a003b62f2658f06eaa943dc685ab219bdf3, statisch geprüft am 25.09.2026. Kein Importlauf oder Live-Schemaabgleich.