Inhaltsverzeichnis
Schnittstelle 1017 – Bonumsatz in Umsatz übernehmen
Das Programm 1017 kopiert gespeicherte Bonumsätze in vorhandene Tagesumsätze. Danach berechnet es abgeleitete Gruppen und Stundenwerte. Es ruft in diesem Pfad weder Aprocon ab noch liest es eine Eingangsdatei.
spCalcUmsatzIst löscht und schreibt Stundenwerte aus dem gesamten aktuellen SCHNITT_Umsatz-Bestand. 1017 füllt diese Stagingtabelle nicht selbst. Der Stundenbereich kann deshalb vom gewählten DATUM abweichen. Prüfe den Stagingbestand vor einem Testlauf.
Eingang und Ablauf
DATUM ist die einschließlich geltende Untergrenze ohne registrierten Standardwert. PEP4 wertet absolute deutsche Daten, Tagesversätze und Datumsmuster aus; einige Quartalsmuster sind im untersuchten Code fehlerhaft. Keine Eingangs- oder Ausgangsdatei.
dbo.TRANS_KasseBonToUmsatz liest Umsätze.IstKassenBon und IstKassenBonNetto und schreibt diese Werte in Umsätze.Ist und IstNetto. Die Hauptkopie betrifft nur vorhandene Zeilen ab DATUM mit PepGruppen.SRC A oder R. Es werden keine Tageszeilen eingefügt. Danach ruft PEP4 spCalcUmsatzIst(DATUM, GETDATE()) auf.
Die Folgeprozedur liest UmsKstGr (Kst, Gr, Prozent, von, bis2) und PepGruppen.AusPepGruppenUmsatz. Sie schreibt gewichtete Werte in Umsätze.Ist und Kassierdauer für abgeleitete Gruppen. Sie liest außerdem SCHNITT_Umsatz.Datum, Kostenstelle und PreisBrutto; UmsätzeIstStunde-Zeilen werden ab dem Minimum dieses Stagings gelöscht und anschließend nach Datum, Gruppe und Stunde eingefügt. Für Stunden wird kein Zuordnungs-Prozentfaktor angewendet.
Einstellungen
| Einstellung | Code-Default | Wirkung |
|---|---|---|
SCHNITT_KR_UmsatzFixedBeachten | True | Schützt bei True die Hauptkopie auf IstFixed=0. Bei False kann sie auch fixierte Zeilen treffen. 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. Vergleiche Tages- und Stundenwerte getrennt.
Technische Referenz
| Merkmal | Wert |
|---|---|
| Programmkennung | 1017 / TransUmsatzBonToUmsatz |
| Einstieg | cSchnittKRApc.Trans_KasseBonToUmsatz |
| Fachliche SQL-Kette | dbo.TRANS_KasseBonToUmsatz → spCalcUmsatzIst |
| Fachliche Ausgänge | UPDATE Umsätze.Ist, IstNetto, Kassierdauer; DELETE/INSERT UmsätzeIstStunde |
| Fachliche Quellen | Umsätze.IstKassenBon, IstKassenBonNetto; 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.