Das Programm 1018 kopiert gespeicherte Kassenumsätze in vorhandene Tagesumsätze. Danach werden abgeleitete Gruppen und Stundenwerte berechnet. Es ruft in diesem Pfad weder Aprocon ab noch liest es eine Datei.
Die Stundenneubildung liest den gesamten aktuellen SCHNITT_Umsatz-Bestand und kann UmsätzeIstStunde ab dessen frühestem Datum löschen. 1018 befüllt SCHNITT_Umsatz selbst nicht. Teste diesen Datenstand und die Auswirkungen in einer isolierten Datenbankkopie.
DATUM ist die einschließlich geltende Untergrenze ohne registrierten Standardwert. PEP4 wertet deutsche Datumsangaben, Tagesversätze und Datumsmuster aus; einige Quartalsmuster sind im untersuchten Code fehlerhaft. Keine Eingangs- oder Ausgangsdatei.
dbo.TRANS_KasseToUmsatz liest Umsätze.IstKasse und IstKasseNetto und aktualisiert damit Umsätze.Ist und IstNetto. Die Hauptkopie trifft bestehende Zeilen ab DATUM für PepGruppen.SRC A oder R; sie fügt keine Tageszeilen an. Danach ruft PEP4 spCalcUmsatzIst(DATUM, GETDATE()) auf.
Die Folgeprozedur liest PepGruppen.AusPepGruppenUmsatz und gültige UmsKstGr-Zuordnungen (Kst, Gr, Prozent, von, bis2). Sie schreibt gewichtete Summen in Umsätze.Ist und Kassierdauer. Aus SCHNITT_Umsatz.Datum, Kostenstelle und PreisBrutto werden Stundenwerte neu gebildet: UmsätzeIstStunde wird ab dem Minimum des Stagings gelöscht und danach mit Datum, GruppenID, Stunde und Umsatz befüllt. Der Stundenwert verwendet keinen Zuordnungs-Prozentfaktor.
| Einstellung | Code-Default | Wirkung |
|---|---|---|
SCHNITT_KR_UmsatzFixedBeachten | True | Bei True schützt IstFixed=0 die Hauptkopie; bei False können fixierte Zeilen betroffen sein. Die Folgeprozedur schützt ihre Zielzeilen unabhängig davon mit IstFixed=0. |
SQL_TIMEOUT | 60 | Timeout des äußeren SQL-Aufrufs. |
GLOBAL_LOGLEVEL, GLOBAL_LOGLEVELEVLOG | 50, 0 | Protokollierung. |
Über cSchnitt_Basis können Rückmeldungen von MAIL_SCHNITTSTELLEONSUCCESS, MAIL_SCHNITTSTELLEONERROR, SCHNITT_MELDUNG_SchnittstelleOnSuccess und SCHNITT_MELDUNG_SchnittstelleOnError abhängen. Der Versand verwendet gegebenenfalls MAIL_SCHNITTSTELLETO, MAIL_SMTP_SERVER, MAIL_USER, MAIL_PASS, MAIL_USEDEFAULTCREDENTIALS, MAIL_SSL, MAIL_TESTADRESSE, MAIL_FROM und MAIL_FROM_NAME. Diese Werte ändern keine Umsatzfelder. MANUELL und SILENT begrenzen Rückmeldungen.
Die Hauptkopie hat keine obere Datumsgrenze; die Summengruppenberechnung endet bei GETDATE(). Die Stundenneubildung kann Daten außerhalb dieses Intervalls berühren. Mehrere Zeitstempel derselben Stunde können einen Schlüsselkonflikt auslösen. Es gibt keine gemeinsame Transaktion; ein späterer Fehler kann einen Teilstand hinterlassen. Prüfe Tages- und Stundenwerte getrennt.
| Merkmal | Wert |
|---|---|
| Programmkennung | 1018 / TransUmsatzKasseToUmsatz |
| Einstieg | cSchnittKRApc.Trans_KasseToUmsatz |
| Fachliche SQL-Kette | dbo.TRANS_KasseToUmsatz → spCalcUmsatzIst |
| Fachliche Ausgänge | UPDATE Umsätze.Ist, IstNetto, Kassierdauer; DELETE/INSERT UmsätzeIstStunde |
| Fachliche Quellen | Umsätze.IstKasse, IstKasseNetto; PepGruppen; UmsKstGr; SCHNITT_Umsatz |
Am 25.09.2026 aus der statischen Analyse des Quellcommits f1d82a003b62f2658f06eaa943dc685ab219bdf3 übernommen. Die Analyse wurde am 18.09.2026 erstellt; kein Lauf oder produktiver Datenbankstand bestätigt.