====== Schnittstelle 3031: Planumsatz aus PEP-Gruppen berechnen ====== Dokumentation ins Wiki übernommen am **02.10.2026**. Das ist keine Laufzeitabnahme. Diese technische Referenz beschreibt die Eingänge, Datenwirkung und Ausgänge dieser Kennung im statisch geprüften Desktop-Quellenstand. Nutzerprüfung offen. Dokumentiert / statisch geprüft: **2026-10-02**. Statisch dokumentiert; Nutzerprüfung offen. Keine Schnittstelle ausgeführt. ===== Identität und Quellenstand ===== ''eProgramm.CalcUmsatzAusGruppenPlan = 3031''. Aktive feste Registrierung → ''cSchnittUmsatzAusPepgruppen.AusführenPlan'' (E,P). Projekteinschluss der genannten VB-Quellen geprüft (PRJ). Active=True, InAutomatik=true, ManuellerAufruf=false, NurAufServer=false. Kennzeichen beschreiben Registrierung/Defaults, nicht eingerichtete Jobs; Run selbst prüft keine Serverbindung. ''seegerstefan/pep4desktop'', master, Commit ''f1d82a003b62f2658f06eaa943dc685ab219bdf3''. Lokale .DS_Store-/cPep/PEP-Abweichungen nicht vermischt; Fachquellen cSchnittstellen/ZW/Sqlfiles unverändert. Kein Remote-/Installationsabgleich. ===== Zweck und Ablauf ===== Berechnung, kein Dateiimport. AusführenPlan führt ohne Parameter ''exec dbo.spCalcUmsatzPlanGesamt'' aus. Kein Zeitraumfilter: alle vorhandenen Zieltage der mit ''AusPepGruppenUmsatz=1'' markierten Gruppen. Nur UPDATE; keine fehlenden Umsätze-/Gruppentage anlegen. Direkte LEGACY-Info statt BASE-Mail/API; gefangener SQL-Fehler → False. Zuordnung: Umsätze.GruppenID → PepGruppen.PEPGruppenID; gültige UmsKstGr-Verteilung verbindet Quellgruppe Kst mit Zielgruppe Gr über denselben Datumstag (von≤Datum≤bis2). Ziel.Umsatz=ISNULL(SUM(Quelle.Umsatz*Prozent),0). Fehlende Quellwerte/Zuordnungen setzen bestehende Planwerte auf0. ===== Befunde und Grenzen ===== ⚠ Nur ''IstFixed=0'' wird geprüft, auch beim Planumsatz3031; nicht ''UmsatzFixed''. Kein rekursiv sortierter Hierarchielauf. Mehrstufige Gruppen können weitere getrennte Durchläufe benötigen; fachlich zu testen. Keine weiteren SP-Aufrufe, Datei, Archivierung oder explizite Gesamttransaktion (SQL). Registrierung verbietet manuellen Menüaufruf, nicht die direkte Delegate-Ausführung. ===== Einstellungen und gemeinsame Nebenwirkungen ===== Gemeinsames Profil: LEGACY (interne Referenz). ^ Beziehung ^ Schlüssel / Variable ^ Default ^ Einflussweg ^ Wirkung ^ Beleg ^ | 3031-S001 | ''SQL_TIMEOUT'' / ''SQLTimeOut'' | 60 | ZW → SqlCommand.CommandTimeout | Timeout nur für ausdrücklich gesetzte Kommandos; kein Gesamt-/Verbindungs-/HTTP-Timeout | SET,B | Defaults sind keine Livewerte. Melde-/Datei-/DB-Wirkungen sind nicht atomar. ===== Feldbeziehungen ===== DB-Rolle PEP4-Anmeldedatenbank, soweit nicht ausdrücklich Aprocon oder Import angegeben. Unqualifizierte Objektschemata nicht als Live-dbo-Vertrag behaupten. INSERT-Defaults/Computed-Spalten sind gesonderte Schemawirkung, kein explizites UPDATE. ^ Beziehung ^ Tabelle.Feld ^ Operation ^ Datenfluss / Verwendung ^ Bedingung ^ Beleg ^ | 3031-D001 | ''Umsätze.GruppenID'' | SELECT | Zielbestand/Zeitraum unbeschränkt, Fixschutz IstFixed=0 | AusPepGruppenUmsatz=1 | SQL | | 3031-D002 | ''Umsätze.Datum'' | SELECT | Zielbestand/Zeitraum unbeschränkt, Fixschutz IstFixed=0 | AusPepGruppenUmsatz=1 | SQL | | 3031-D003 | ''Umsätze.IstFixed'' | SELECT | Zielbestand/Zeitraum unbeschränkt, Fixschutz IstFixed=0 | AusPepGruppenUmsatz=1 | SQL | | 3031-D004 | ''PepGruppen.PEPGruppenID'' | SELECT | Zielauswahl | alle vorhandenen Tage | SQL | | 3031-D005 | ''PepGruppen.AusPepGruppenUmsatz'' | SELECT | Zielauswahl | alle vorhandenen Tage | SQL | | 3031-D006 | ''UmsKstGr.Kst'' | SELECT | Gültige Quell-/Zielzuordnung, Prozent unverändert multipliziert | datumsgleich | SQL | | 3031-D007 | ''UmsKstGr.Gr'' | SELECT | Gültige Quell-/Zielzuordnung, Prozent unverändert multipliziert | datumsgleich | SQL | | 3031-D008 | ''UmsKstGr.Prozent'' | SELECT | Gültige Quell-/Zielzuordnung, Prozent unverändert multipliziert | datumsgleich | SQL | | 3031-D009 | ''UmsKstGr.von'' | SELECT | Gültige Quell-/Zielzuordnung, Prozent unverändert multipliziert | datumsgleich | SQL | | 3031-D010 | ''UmsKstGr.bis2'' | SELECT | Gültige Quell-/Zielzuordnung, Prozent unverändert multipliziert | datumsgleich | SQL | | 3031-D011 | ''Umsätze.GruppenID'' | SELECT | Quellwerte SUM(Wert*Prozent) | Zuordnung gültig | SQL | | 3031-D012 | ''Umsätze.Datum'' | SELECT | Quellwerte SUM(Wert*Prozent) | Zuordnung gültig | SQL | | 3031-D013 | ''Umsätze.Umsatz'' | SELECT | Quellwerte SUM(Wert*Prozent) | Zuordnung gültig | SQL | | 3031-D014 | ''Umsätze.Umsatz'' | UPDATE | Verteilungssumme, bei fehlender Summe0 | bestehendes Ziel, IstFixed=0 | SQL | ===== Teststatus und Pflege ===== Keine Laufzeit-/Live-Schema-/Lieferformat-Abnahme, keine Codekorrektur. Q02 gilt für kundenspezifische Trigger/Constraints/DLLs/Jobs; weitere Grenzen siehe oben und Fragen (interne Referenz). Nicht indizierte Folgefelder einer Teilanalyse sind unbekannt, nicht wirkungslos. ===== Gemeinsame Nebenwirkungen LEGACY ===== ==== Einstellungen ==== ^ Beziehung ^ Schlüssel / Variable ^ Default ^ Einfluss ^ Wirkung ^ Beleg ^ | LEGACY-S001 | ''GLOBAL_LOGLEVEL'' / ''GLOBAL_LOGLEVEL'' | 50 | Init → Info.LogLevel | Meldung ab einschließlich Grenzwert in Datei/DB; verändert keine Fachdaten | LEGACY:SET, LEGACY:INIT, LEGACY:INFO | | LEGACY-S002 | ''GLOBAL_LOGLEVELEVLOG'' / ''GLOBAL_LOGLEVELEVENTLOG'' | 0 | Init → Info.LogLevelEvLog | Windows-Ereignisprotokoll nur bei Level > Grenze, Grenze > 0 und Level < 200 | LEGACY:SET, LEGACY:INIT, LEGACY:INFO | Beide gezeigten Settings-Konstruktoren setzen AlwaysToFile=True. Oberhalb LogLevel werden Datei UND DB versucht; bei False nur DB, Datei als Fehlerfallback. Datei unter ApplicationData/PEP/LogFiles/yyyyMMdd_peplog.txt (Append). DB-Fehler werden als False abgefangen, verhindern nicht zwingend den Import. EventLog-Fehler werden geschluckt. Direkte Fachcommands des Block 07 setzen kein Timeout; SQL_TIMEOUT ist in diesen zehn Pfaden nicht gelesen. Keine zusätzliche fachliche ZW-Einstellung nachgewiesen, auch nicht in spCalcUmsatzPlan. ==== Datenbeziehungen ==== DB-Rolle PEP4-Anmeldedatenbank. Log schreibt über eigene Verbindung; nicht atomar mit Fachoperationen. fnUserId liest minimalen UserID zum rechten 25-Zeichen-Teil von SUSER_NAME(), sonst 0. ^ Beziehung ^ Tabelle.Feld ^ Operation ^ Datenfluss / Verwendung ^ Bedingung ^ Beleg ^ | LEGACY-D001 | ''Pep3Log.UserID'' | INSERT | dbo.fnUserId() | Meldungslevel erreicht DB-Log | LEGACY:INFO, LEGACY:FN | | LEGACY-D002 | ''Pep3Log.Datum'' | INSERT | getdate() | Meldungslevel erreicht DB-Log | LEGACY:INFO | | LEGACY-D003 | ''Pep3Log.Kurz'' | INSERT | Kurztext, maximal 255 Zeichen | Meldungslevel erreicht DB-Log | LEGACY:INFO | | LEGACY-D004 | ''Pep3Log.LogText'' | INSERT | Detailtext einschließlich Pfad/ggf. Exception | Meldungslevel erreicht DB-Log | LEGACY:INFO | | LEGACY-D005 | ''Pep3Log.Modul'' | INSERT | Modulbezeichnung, maximal 50 Zeichen | Meldungslevel erreicht DB-Log | LEGACY:INFO | | LEGACY-D006 | ''Pep3Log.InfoLevel'' | INSERT | 51, 102 oder 105 je Meldung | Meldungslevel erreicht DB-Log | LEGACY:INFO | | LEGACY-D007 | ''tblUser.Name'' | SELECT | Abgleich RIGHT(SUSER_NAME(),25) | fnUserId bei Log-INSERT | LEGACY:FN | | LEGACY-D008 | ''tblUser.UserID'' | SELECT | MIN(UserID), fehlend → 0 | fnUserId bei Log-INSERT | LEGACY:FN | ===== Quellenverzeichnis ===== ^ Kürzel ^ Quelldatei am geprüften Commit ^ | E | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/ZW/Allgemein.vb|PEP4/ZW/Allgemein.vb]] | | P, LEGACY:P | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cSchnittstellen/Programme/cProgramme.vb|PEP4/cSchnittstellen/Programme/cProgramme.vb]] | | PRJ | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cSchnittstellen/cSchnittstellen.vbproj|PEP4/cSchnittstellen/cSchnittstellen.vbproj]] | | B | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cSchnittstellen/Programme/Schnittstellen/cSchnittUmsatzAusPepgruppen.vb|PEP4/cSchnittstellen/Programme/Schnittstellen/cSchnittUmsatzAusPepgruppen.vb]] | | SQL | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/Sqlfiles/PEP4Functions/spCalcUmsatzPlanGesamt.sql|Sqlfiles/PEP4Functions/spCalcUmsatzPlanGesamt.sql]] | | SET, LEGACY:SET | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/ZW/Einstellungen/cEinstellungenZw.vb|PEP4/ZW/Einstellungen/cEinstellungenZw.vb]] | | LEGACY:INFO | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cTools/cInfoTools.vb|PEP4/cTools/cInfoTools.vb]] | | LEGACY:INIT | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/ZW/Einstellungen/cSetting.vb|PEP4/ZW/Einstellungen/cSetting.vb]] | | LEGACY:FN | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/Sqlfiles/PEP4Functions/fnUserId.sql|Sqlfiles/PEP4Functions/fnUserId.sql]] | Siehe auch: [[schnittstellen:schnittstellen|Übersicht der Schnittstellen]]. Keine Ausführung oder Codekorrektur.