Inhaltsverzeichnis

Schnittstelle 1018 – Kassenumsatz in Umsatz übernehmen

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.

Eingang und Ablauf

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.

Einstellungen

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.

Ergebnis und Grenzen

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.

Technische Referenz

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

Siehe auch

Prüfstand

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.