====== Schnittstelle 1067: KaDeWe-Monatsvorgaben 2023 importieren und verteilen ====== Du importierst Monatsvorgaben je EK-Gruppe und verteilst sie auf bestehende Umsätze-Tageswerte. Stand: **02.10.2026**, statische Analyse von PEP4 Desktop, Commit ''f1d82a003b62f2658f06eaa943dc685ab219bdf3''. **Statisch dokumentiert; Nutzerprüfung offen**. Kein Schnittstellenlauf, Live-Schema- oder API-Test. Lokale PEP-Änderungen außerhalb dieser Schnittstellen wurden nicht einbezogen. ===== Zweck, Parameter und Dateivertrag ===== PFAD: FileImport. Fehlender Schlüssel False; **fehlende Datei meldet Fehler, liefert aber True**. TextFieldParser Encoding.Default (Laufzeit-Windowscodepage), Semikolon, TrimWhiteSpace, Quotes, erste Zeile immer Header; genau sechs Felder. ^ Position ab1 ^ Bedeutung ^ | 1 und3 | ungenutzt | | 2 | EKGruppe, varchar10-Parameter | | 4 und5 | Jahr/Monat, Datum immer erster Monatstag | | 6 | Umsatz, Float-Konvertierung kulturabhängig | Falsche Feldanzahl still übersprungen; Zeilenfehler nur im FehlerStringBuilder gesammelt, weder angezeigt noch result=False. ===== SQL-Kette, Schreibverhalten und Betrieb ===== TRUNCATE gesamte Import.dbo.Umsatz_KaDeWe_Vorgabe_temp → Einzel-INSERTs → SCHNITT_UmsatzVorgabeKadeWe2023 (SQL: persistente Vorgaben je in Temp enthaltenem Monat/Jahr/EKGruppe DELETE/INSERT) → KaDeWeVorgabeVerteilen2023 (V: **alle** persistenten Monatsvorgaben nach zeitgültigem UmsKstGr.Prozent verteilen). Tageswerte UmsatzICP und Umsatz = AnteilUmsatz/100 * Monatssumme, UPDATE-only. Keine Fixierungsprüfung, kein Reset fehlender Mappings. Der Name2023 ist kein Jahresfilter. Command-Default30 Sekunden vor den SPs, danach fest3600; kein SQL_TIMEOUT. Keine Transaktion. IMP/IMPINFO auch nach innerem SQL-Fehler, gleichnamiges Archiv wird ersetzt; geschluckte Zeilenfehler nicht in IMPINFO. SQL-Fehlerdialog trägt abweichend cSchnittUmsatzKstIcp. ===== Grenzen und Testfragen ===== Vorgabe-Importtabellen-DDL im versionierten SQLbestand nicht gefunden (Q10); Datenfluss aus SQL belegt, genaue Constraints/Defaults offen. Monatswiederholung, Prozentfaktoren, Mehrfachmapping, Zeilenfehler und Archiv bei DB-Fehler isoliert testen. ===== Systemeinstellungen und gemeinsame Nebenwirkungen ===== Direkte Dialog-/Logmeldungen über cInfoTools; keine belegte BASE-Mail-/API-Ausführung. GLOBAL_LOGLEVEL (Default50) und GLOBAL_LOGLEVELEVLOG (Default0) steuern die Protokollierung. Keine zusätzliche fachliche ZW-Einstellung im lokalen Importpfad gelesen. Timeoutwerte stehen im Betriebsabschnitt, nicht automatisch SQL_TIMEOUT zuordnen. Nur belegte Profilzuordnung; Fachdaten und Rückmeldung sind nicht atomar. Defaults sind keine Livewerte. ===== Feldbeziehungen ===== Unqualifizierte Fachobjekte in der Anmeldedatenbank; ''Import.dbo'' ausdrücklich Importdatenbank. Dateifelder stehen separat im Dateivertrag. ^ Beziehung ^ Tabelle.Feld ^ Operation ^ Datenfluss / Verwendung ^ Bedingung ^ Beleg ^ | 1067-D001 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe_temp.— gesamte Tabelle'' | TRUNCATE | Global vor Lesen | je Datei | B | | 1067-D002 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe_temp.Datum'' | INSERT/SELECT | DateSerial(Feld4,Feld5,1) | Monats-/Gruppenmapping | B,SQL | | 1067-D003 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe_temp.EKGruppe'' | INSERT/SELECT | Feld2 | Monats-/Gruppenmapping | B,SQL | | 1067-D004 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe_temp.Umsatz'' | INSERT/SELECT | Feld6 | Monats-/Gruppenmapping | B,SQL | | 1067-D005 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe.Datum'' | SELECT | Match Monat/Jahr/EKGruppe für DELETE | Monats-/Gruppenmapping | SQL | | 1067-D006 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe.EKGruppe'' | SELECT | Match Monat/Jahr/EKGruppe für DELETE | Monats-/Gruppenmapping | SQL | | 1067-D007 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe.— Zeilen'' | DELETE | Nur in Temp enthaltene Monats-/EK-Schlüssel | Monats-/Gruppenmapping | SQL | | 1067-D008 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe.Datum'' | INSERT/SELECT | Temp übernehmen; gewichtete Monatswerte | Monats-/Gruppenmapping | SQL,V | | 1067-D009 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe.EKGruppe'' | INSERT/SELECT | Temp übernehmen; gewichtete Monatswerte | Monats-/Gruppenmapping | SQL,V | | 1067-D010 | ''Import.dbo.Umsatz_KaDeWe_Vorgabe.Umsatz'' | INSERT/SELECT | Temp übernehmen; gewichtete Monatswerte | Monats-/Gruppenmapping | SQL,V | | 1067-D011 | ''UmsKstGr.ekgruppe'' | SELECT | Monatsdatum zeitgültig abbilden; Prozent*Umsatz | Monats-/Gruppenmapping | V | | 1067-D012 | ''UmsKstGr.von'' | SELECT | Monatsdatum zeitgültig abbilden; Prozent*Umsatz | Monats-/Gruppenmapping | V | | 1067-D013 | ''UmsKstGr.bis2'' | SELECT | Monatsdatum zeitgültig abbilden; Prozent*Umsatz | Monats-/Gruppenmapping | V | | 1067-D014 | ''UmsKstGr.Gr'' | SELECT | Monatsdatum zeitgültig abbilden; Prozent*Umsatz | Monats-/Gruppenmapping | V | | 1067-D015 | ''UmsKstGr.Prozent'' | SELECT | Monatsdatum zeitgültig abbilden; Prozent*Umsatz | Monats-/Gruppenmapping | V | | 1067-D016 | ''PepGruppen.PEPGruppenID'' | SELECT | Gruppe und Filiale-10000 auf Verteilung mappen | Monats-/Gruppenmapping | V | | 1067-D017 | ''PepGruppen.Filiale'' | SELECT | Gruppe und Filiale-10000 auf Verteilung mappen | Monats-/Gruppenmapping | V | | 1067-D018 | ''Import.dbo.KaDeWeVerteilung.Filiale'' | SELECT | Tagesanteil /100 * Monatsumsatz | Monats-/Gruppenmapping | V | | 1067-D019 | ''Import.dbo.KaDeWeVerteilung.Datum'' | SELECT | Tagesanteil /100 * Monatsumsatz | Monats-/Gruppenmapping | V | | 1067-D020 | ''Import.dbo.KaDeWeVerteilung.AnteilUmsatz'' | SELECT | Tagesanteil /100 * Monatsumsatz | Monats-/Gruppenmapping | V | | 1067-D021 | ''Umsätze.Datum'' | SELECT | Vorhandene Tageszeilen, passendes Jahr/Monat und Verteilung | Monats-/Gruppenmapping | V | | 1067-D022 | ''Umsätze.GruppenID'' | SELECT | Vorhandene Tageszeilen, passendes Jahr/Monat und Verteilung | Monats-/Gruppenmapping | V | | 1067-D023 | ''Umsätze.UmsatzICP'' | UPDATE | Tagesanteil/100 * gewichteter Monatsumsatz, keine Fixierung | Monats-/Gruppenmapping | V | | 1067-D024 | ''Umsätze.Umsatz'' | UPDATE | Tagesanteil/100 * gewichteter Monatsumsatz, keine Fixierung | Monats-/Gruppenmapping | V | ===== Quellen und weitere Schritte ===== Enum, aktive Registrierung, Projekteinschluss und die in der internen Einzelbeschreibung genannten VB-/SQL-Dateien wurden am Quellencommit geprüft. Konkrete fehlende Quellen und fachliche Fragen stehen oben; bei Tests benötigst du eine isolierte Umgebung und synthetische Dateien. [[schnittstellen:schnittstellen|Übersicht der Schnittstellen]]