Inhaltsverzeichnis
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.