====== Schnittstelle 1020 – ProHandel-Umsätze importieren ====== **1020** (''ImpUmsatzProhandel'') liest ''PEPUMS.TXT'' und füllt ''SCHNITT_Umsatz''. Anschließend aktualisiert ''SCHNITT_Umsatz_ProHandel'' vorhandene ''Umsätze.Ist'' und ersetzt ''UmsatzVK''-Werte im Dateizeitraum. Die Prozedur löscht ''UmsatzVK'' für den gesamten ermittelten Datumsbereich **ohne Quellsystem- oder Gruppenfilter**. Prüfe vor einem Lauf, welche anderen Verkäuferumsätze dort liegen. ===== Eingabedatei ===== ''PFAD'' ist eine vorhandene Datei; Dialogmuster ''PEPUMS.TXT''. Parser: ''Encoding.Default'', Semikolon, getrimmte Leerzeichen und CSV-Anführungszeichen. Es gibt zwei Durchläufe: zuerst wird das früheste/späteste gültige Datum in Position 1 ermittelt; dann werden Datensätze importiert. Kein ausdrücklicher Header-Skip; nicht als Datum erkennbare Zeilen werden übersprungen. Keine Archivierung. ^ Position ^ Bedeutung ^ Verarbeitung ^ | 1–3 | Datum, Stunde, Minute | Zusammen nach ''SCHNITT_Umsatz.Datum''. | | 4 und 8 | Filiale, Warengruppe | ''Warengruppe = Filiale*1.000.000 + Warengruppe''. | | 12 | Verkäufer | Nach ''SCHNITT_Umsatz.Verkäufer'', später ''Personen.ProHandelID''. | | 19 | Bruttoumsatz | Basis für ''PreisBrutto''. | | 20 | Nachlass | Bei ''SCHNITT_PROHANDEL_NACHLASS=True'' abziehen. | | 21 | Rabatt | Bei ''SCHNITT_PROHANDEL_RABATT=True'' abziehen. | Wenn ''SCHNITT_UMSATZ_DIVISOR'' weder 0 noch 1 ist, wird der errechnete Umsatz danach dividiert. Der Code prüft nur auf mindestens zwei Felder, liest aber bis Position 21: kurze Zeilen erzeugen Zeilenfehler, während bereits importierte Zeilen bestehen bleiben. ===== Datenfluss und Betrieb ===== ''SCHNITT_Umsatz'' wird im inklusiven Datumsintervall gelöscht und je gültigem Satz mit Datum, PreisBrutto, Verkäufer und Warengruppe gefüllt. Die SP verknüpft das zusammengesetzte Warengruppenfeld über ''UmsKstGr'' mit aktiven ''PepGruppen''. Sie aktualisiert vorhandenes ''Umsätze.Ist'' nur bei ''IstFixed=0''. Dann löscht sie ''UmsatzVK'' im ganzen Intervall und fügt ''PersonID'', ''Gruppe'', ''Datum'', ''Menge=0'', ''VKWert'' und ''Praemie=0'' für zugeordnete Verkäufer neu ein. Keine Gesamttransaktion. Zeilenfehler werden protokolliert, die SP läuft danach dennoch. Diese Klasse nutzt direkte Info-/Logmeldungen, **nicht** die gemeinsame Schnittstellenbasis. ''GLOBAL_LOGLEVEL''/''GLOBAL_LOGLEVELEVLOG'' beeinflussen das Logging; ''SQL_TIMEOUT'' wird nicht für Fach-SQL gesetzt. Technische Feldbeziehungen: Git-Nexus ''pep4desktop/interfaces/by-id/1020.md''. Quellcommit ''f1d82a003b62f2658f06eaa943dc685ab219bdf3'', statisch geprüft am 25.09.2026. **Kein Importlauf oder Live-Schemaabgleich.** [[schnittstellen:schnittstellen|Zur Schnittstellenübersicht]]