Benutzer-Werkzeuge

Webseiten-Werkzeuge


schnittstellen:1068

Schnittstelle 1068: KaDeWe-CAR-Umsätze im Intervall berechnen

Du berechnest vorhandene CAR-Transaktionen für ein Datumsintervall. Verkäuferumsätze, Tageswerte und Stundenwerte werden dabei neu aufgebaut.

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 Datenvertrag

Art Programm, Gruppe Umsatz. Keine Eingangsdatei, kein Importarchiv. DATVON und DATBIS: Datum-Parameter, SetDatum mit Datumsmusterauswertung; beide müssen gültig sein. Keine Prüfung Von≤Bis. Datumshelfer siehe Datumsmuster (interne Referenz), Quellenverzeichnis BASE.

Öffnet Anmeldung-DB bereits vor Datumsprüfung und startet ausschließlich Calc_Umsatz_KaDeWeCar(@DatVon,@DatBis), SQL-Timeout0. Kein Import und kein Temp-Transfer Teil dieser Kennung. Shared-Einstieg reicht Instanz-Fehlerfrei() als Boolean durch; innere Verarbeiten ist untypisiert, aber hat Return.

SQL-Kette, Ausgänge und Betrieb

Die gemeinsame CAR-Berechnung ist nachfolgend mit ihren Feldern beschrieben.

Dieses Profil beschreibt vollständig die hier aufgerufene Fach-SP und ihre kanonischen Leser-/Schreiberbeziehungen: Import.dbo.Umsatz_KaDeWe_Car, ITZeitausweis, UmsKstGr, PepGruppen, Zusatzleistung → UmsatzVK, Umsätze und UmsätzeIstStunde. Globale Intervall-DELETEs von Verkäufer-/Stundenwerten, neun Tagesfelder zuerst0 für alle Gruppen, dann selektiv neu befüllt. Kein IstFixed-/SRC-Schutz. Zusatzleistung als Brutto, Netto/1.19.

Befunde und Tests

CAR-Tagesrückstellung ist breiter als Wiederbefüllung: Summengruppen werden auf0 gesetzt und anschließend nicht neu befüllt. IstKasseMenge/IstKasseKLSMenge hingegen bleiben ohne Treffer alt. Keine Transaktion zwischen DELETEs, Updates, Inserts und Rückmeldung. Vor Nutzerprüfung Intervall/Fremdgruppen, Retouren-Differenzrichtung, Mehrfachmapping und Zusatzleistungs-Schlüsselkollisionen isolieren. Keine automatische Folgekette 1069→1068 erforderlich: 1069 ruft diese SP selbst auf.

Systemeinstellungen und gemeinsame Nebenwirkungen

Gemeinsamer Rückmeldepfad: cSchnitt_Basis mit bedingtem Logging, Mail-/Outbox- und Meldungs-API-Aufruf. MANUELL/SILENT und Rückmeldeschalter beeinflussen diesen Pfad; serverseitige API-Wirkungen bleiben offen.

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

SQL-Vertrag und Ablauf

Calc_Umsatz_KaDeWeCar(@DatumVon datetime,@DatumBis datetime) (SQL) verarbeitet das geschlossene Intervall ohne Prüfung Von≤Bis und ohne Transaktion. Kein ZW-Einstellungsschlüssel innerhalb dieser SP. BASE-Rückmeldungen stehen separat in den Einzelbeschreibungen.

1. UmsatzVK im Intervall vollständig löschen. #UmsatzTmp summiert CAR-Beträge/Mengen auf Buchungsperson (Originalverkäufer, sonst Verkäufer), Buchungstag (Originaldatum, sonst Datum), FilialWarengruppe. Filter: Originaldatum NULL oder datediff(day,Datum,Originaldatum)<15, Buchungstag im Intervall, Verkäufer nicht NULL, OwnBuy=1, Menge>0 oder OriginalVerkaeufernummer>0. Die Differenzrichtung kann ältere Retouren einschließen; kein absoluter 14-Tage-Abstand. ITZeitausweis zeitgültig und numerisch >0; UmsKstGr zeitgültig. Gewichtete INSERTs. Zusatzleistung zusätzlich als Verkäuferumsatz: Artikel=PEP-Gruppe, Menge ist Brutto, Netto gerundet /1.19, Stückmenge0. 2. Neun Tagesfelder von Umsätze für sämtliche Gruppen im Intervall auf0 setzen. Kein IstFixed-/Quellsystemfilter. #UmsatzTmp2 aggregiert nach Verkaufstag und FilialWarengruppe, #UmsatzTmp3 gewichtet nach gültiger Gruppenzuordnung. OwnBuy- und Gesamtbeträge getrennt, geklebt = Ersatzverkäufer>0; fremdgeklebt = tatsächlicher Verkäufer>0 ohne passenden Personjoin. UPDATE nur vorhandener Gruppen mit AusPepGruppenUmsatz=0. Zusatzleistungsbeträge werden auf diese Gruppen addiert. 3. UmsätzeIstStunde im ganzen Intervall löschen, #UmsatzTmp5 summiert OwnBuy nach Verkaufstag/Stunde/Warengruppe, gewichtete INSERTs nach UmsKstGr. Keine Zusatzleistungs-Stundenwerte. Temp-Tabellen werden wieder entfernt; ihre Felder sind die im Text benannten Aggregationsaliase, keine persistenten Schnittstellenausgänge.

Wichtige Asymmetrie: IstKasseMenge und IstKasseKLSMenge werden nur bei Treffern überschrieben, nicht bei der globalen Tagesrückstellung auf0 gesetzt. Summengruppen werden zurückgestellt, dann vom CAR-Tagesupdate ausgeschlossen. Keine Tageszeilen-Neuanlage. UmsatzVK-Zusatzzeilen können mit CAR-Schlüsseln kollidieren; vorhandene PKs sind beim Test zu berücksichtigen.

Feldbeziehungen

Beziehung Tabelle.Feld Operation Datenfluss / Verwendung Bedingung Beleg
CAR-D001 Import.dbo.Umsatz_KaDeWe_Car.Datum SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D002 Import.dbo.Umsatz_KaDeWe_Car.OriginalDatum SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D003 Import.dbo.Umsatz_KaDeWe_Car.OriginalVerkaeufernummer SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D004 Import.dbo.Umsatz_KaDeWe_Car.Verkaeufernummer SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D005 Import.dbo.Umsatz_KaDeWe_Car.FilialWarengruppe SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D006 Import.dbo.Umsatz_KaDeWe_Car.OwnBuy SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D007 Import.dbo.Umsatz_KaDeWe_Car.Menge SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D008 Import.dbo.Umsatz_KaDeWe_Car.VK_Preis_Netto SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D009 Import.dbo.Umsatz_KaDeWe_Car.VK_Preis_Brutto SELECT Personen-/Tages-/Stundenaggregation; Detailfilter im Text Zeitraum DATVON–DATBIS SQL
CAR-D010 Import.dbo.Umsatz_KaDeWe_Car.DatumZeit SELECT DATEPART(hour) für Stundenumsatz Zeitraum DATVON–DATBIS SQL
CAR-D011 Import.dbo.Umsatz_KaDeWe_Car.Filiale SELECT (berechnet) FilialWarengruppe = Filiale * 1000000000000 + Warengruppe Schema 0792 DDL
CAR-D012 Import.dbo.Umsatz_KaDeWe_Car.Warengruppe SELECT (berechnet) FilialWarengruppe = Filiale * 1000000000000 + Warengruppe Schema 0792 DDL
CAR-D013 ITZeitausweis.PersonID SELECT Gültige Personzuordnung; Fremdverkauf über fehlenden Personjoin Zeitraum DATVON–DATBIS SQL
CAR-D014 ITZeitausweis.Zeitausweis SELECT Gültige Personzuordnung; Fremdverkauf über fehlenden Personjoin Zeitraum DATVON–DATBIS SQL
CAR-D015 ITZeitausweis.von SELECT Gültige Personzuordnung; Fremdverkauf über fehlenden Personjoin Zeitraum DATVON–DATBIS SQL
CAR-D016 ITZeitausweis.bis2 SELECT Gültige Personzuordnung; Fremdverkauf über fehlenden Personjoin Zeitraum DATVON–DATBIS SQL
CAR-D017 UmsKstGr.Kst SELECT Warengruppe auf PEP-Gruppe abbilden und Beträge/Mengen gewichten Zeitraum DATVON–DATBIS SQL
CAR-D018 UmsKstGr.Gr SELECT Warengruppe auf PEP-Gruppe abbilden und Beträge/Mengen gewichten Zeitraum DATVON–DATBIS SQL
CAR-D019 UmsKstGr.Prozent SELECT Warengruppe auf PEP-Gruppe abbilden und Beträge/Mengen gewichten Zeitraum DATVON–DATBIS SQL
CAR-D020 UmsKstGr.von SELECT Warengruppe auf PEP-Gruppe abbilden und Beträge/Mengen gewichten Zeitraum DATVON–DATBIS SQL
CAR-D021 UmsKstGr.bis2 SELECT Warengruppe auf PEP-Gruppe abbilden und Beträge/Mengen gewichten Zeitraum DATVON–DATBIS SQL
CAR-D022 PepGruppen.PEPGruppenID SELECT Existenzjoin für Zusatzleistung; Gruppenfilter für Tagesupdate Zeitraum DATVON–DATBIS SQL
CAR-D023 PepGruppen.AusPepGruppenUmsatz SELECT Existenzjoin für Zusatzleistung; Gruppenfilter für Tagesupdate Zeitraum DATVON–DATBIS SQL
CAR-D024 Zusatzleistung.Datum SELECT Artikel ist PEP-GruppenID; Menge als Bruttobetrag, Netto = Brutto/1.19 Zeitraum DATVON–DATBIS SQL
CAR-D025 Zusatzleistung.PersonID SELECT Artikel ist PEP-GruppenID; Menge als Bruttobetrag, Netto = Brutto/1.19 Zeitraum DATVON–DATBIS SQL
CAR-D026 Zusatzleistung.Artikel SELECT Artikel ist PEP-GruppenID; Menge als Bruttobetrag, Netto = Brutto/1.19 Zeitraum DATVON–DATBIS SQL
CAR-D027 Zusatzleistung.Menge SELECT Artikel ist PEP-GruppenID; Menge als Bruttobetrag, Netto = Brutto/1.19 Zeitraum DATVON–DATBIS SQL
CAR-D028 UmsatzVK.— Zeilen DELETE Alle Personen/Gruppen im Intervall, kein Quellsystemfilter Zeitraum DATVON–DATBIS SQL
CAR-D029 UmsatzVK.Datum INSERT Buchungsdatum; Zusatzleistungsdatum Zeitraum DATVON–DATBIS SQL
CAR-D030 UmsatzVK.PersonID INSERT ITZeitausweis.PersonID oder Zusatzleistung.PersonID Zeitraum DATVON–DATBIS SQL
CAR-D031 UmsatzVK.Gruppe INSERT UmsKstGr.Gr oder Zusatzleistung.Artikel Zeitraum DATVON–DATBIS SQL
CAR-D032 UmsatzVK.Menge INSERT gewichtete Stückmenge; Zusatzleistung 0 Zeitraum DATVON–DATBIS SQL
CAR-D033 UmsatzVK.VKWert INSERT gewichtete Bruttosumme; Zusatzleistung.Menge Zeitraum DATVON–DATBIS SQL
CAR-D034 UmsatzVK.VKWertNetto INSERT gewichtete Nettosumme; Zusatzleistung round(Menge/1.19,2) Zeitraum DATVON–DATBIS SQL
CAR-D035 Umsätze.Datum SELECT Datumsbereich und Gruppenjoin für vorhandene Tageszeilen Zeitraum DATVON–DATBIS SQL
CAR-D036 Umsätze.GruppenID SELECT Datumsbereich und Gruppenjoin für vorhandene Tageszeilen Zeitraum DATVON–DATBIS SQL
CAR-D037 Umsätze.Ist UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D038 Umsätze.IstKassenBon UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D039 Umsätze.IstKassenBonNetto UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D040 Umsätze.IstNetto UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D041 Umsätze.IstKasse UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D042 Umsätze.TeileIst UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D043 Umsätze.IstKassenBericht UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D044 Umsätze.IstKassenBerichtNetto UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D045 Umsätze.IstNettoIntern UPDATE Zuerst 0 für ALLE vorhandenen Gruppen im Intervall; kein IstFixed/SRC-Filter Zeitraum DATVON–DATBIS SQL
CAR-D046 Umsätze.Ist UPDATE OwnBuy-Netto + Zusatz-Netto Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D047 Umsätze.IstKassenBon UPDATE OwnBuy-Brutto + Zusatz-Brutto Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D048 Umsätze.IstKassenBonNetto UPDATE OwnBuy-Netto + Zusatz-Netto Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D049 Umsätze.IstNetto UPDATE OwnBuy-Netto + Zusatz-Netto Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D050 Umsätze.IstKasse UPDATE geklebtes OwnBuy-Netto + Zusatz-Netto Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D051 Umsätze.TeileIst UPDATE OwnBuy-Menge Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D052 Umsätze.IstKasseMenge UPDATE geklebte OwnBuy-Menge (nicht vorgängig zurückgesetzt) Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D053 Umsätze.IstKasseKLSMenge UPDATE fremdgeklebte OwnBuy-Menge (nicht vorgängig zurückgesetzt) Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D054 Umsätze.IstKassenBericht UPDATE Gesamtbrutto + Zusatz-Brutto Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D055 Umsätze.IstKassenBerichtNetto UPDATE Gesamtnetto + Zusatz-Netto Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D056 Umsätze.IstNettoIntern UPDATE geklebtes Netto minus fremdgeklebtes Netto + Zusatz-Netto Nur passende vorhandene Tageszeilen, AusPepGruppenUmsatz=0 SQL
CAR-D057 UmsätzeIstStunde.— Zeilen DELETE Alle Stunden/Gruppen im Intervall; kein Systemfilter Zeitraum DATVON–DATBIS SQL
CAR-D058 UmsätzeIstStunde.Datum INSERT Verkaufstag, nicht OriginalDatum Zeitraum DATVON–DATBIS SQL
CAR-D059 UmsätzeIstStunde.GruppenID INSERT UmsKstGr.Gr Zeitraum DATVON–DATBIS SQL
CAR-D060 UmsätzeIstStunde.Stunde INSERT DATEPART(hour, DatumZeit) Zeitraum DATVON–DATBIS SQL
CAR-D061 UmsätzeIstStunde.Umsatz INSERT SUM OwnBuy-Brutto * Prozent Zeitraum DATVON–DATBIS SQL
CAR-D062 UmsätzeIstStunde.UmsatzNetto INSERT SUM OwnBuy-Netto * Prozent Zeitraum DATVON–DATBIS SQL

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.

Übersicht der Schnittstellen

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
schnittstellen/1068.txt · Zuletzt geändert: von codex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki