Die Schnittstelle 1082 liest Bizerba-KASS-Dateien aus einem Ordner, schreibt Kassenberichte und aktualisiert daraus vorhandene Umsatz-Tageszeilen. Sie schreibt nicht unmittelbar Umsätze.Ist oder IstNetto.
Vor jeder Datei wird die globale Stagingtabelle SCHNITT_Bizerba_KASS geleert. Die Datei wird vor dem fachlichen SQL-Lauf archiviert – auch nach einem intern protokollierten Lesefehler. Ein SQL-Fehler kann daher einen Teilstand und bereits verschobene Quelldateien hinterlassen. Verwende für Tests nur Dateikopien und eine isolierte Datenbank.
PFAD ist ein vorhandener Ordner. PEP4 sucht nichtrekursiv Dateien nach dem Muster *KASS_UM und sortiert sie nach CreationTime. StreamReader benutzt Standardencoding mit BOM-Erkennung. Zeilen werden schlicht bei Semikolon geteilt; Quotes, Escape-Zeichen, Kopfzeilen und Feldanzahl werden nicht gesondert behandelt. Mindestens 23 Felder sind für die verwendeten Positionen nötig. Leere Werte werden zu SQL-NULL; implizite Zahlenkonvertierung kann von der Laufzeitkultur abhängen.
| Position | Stagingfeld | Fachliche Verwendung |
|---|---|---|
| 1 | Systemnummer | Später KRKassenberichte.Filiale, ohne Vorabmapping. |
| 2 | Datum | Erwartetes Schema ddMMyyyy; Berichtsdatum und Untergrenze des Folgelaufs. |
| 3 | Kasse | Nur Staging. |
| 4 | UmsatzGesamt | KRKassenberichte.Brutto = Wert / 100. |
| 5–6 | Ignoriert | Keine Auswertung. |
| 7 | UmsatzStorno und Soll | Derselbe Dateiwert wird beiden Stagingfeldern zugewiesen. |
| 8 | Ausgaben | Nur Staging. |
| 9–17 | Ignoriert | Keine Auswertung. |
| 18–21 | Mwst1 bis Mwst4 | Nur Staging; keine Nettoberechnung. |
| 22 | Nullbons | Nur Staging. |
| 23 | Kunden | KRKassenberichte.Kunden. |
PEP4 verschiebt jede Datei in den Unterordner Archiv mit Zeitstempel im Namen. Diese Verschiebung ist nicht an einen erfolgreichen Abschluss der fachlichen Prozedur gekoppelt.
SCHNITT_KR_BIZ_KASS löscht für Datum/Systemnummer der aktuellen Stagingdaten vorhandene KRKassenberichte mit SystemKennung=B und fügt neue Zeilen mit Nummer=0, Filiale=Systemnummer, Brutto=UmsatzGesamt/100, Netto=0 und Kunden ein. Es gibt keinen Filter auf einzelne Kassen. Mehrere Dateien derselben Filiale und desselben Tags können daher frühere Ergebnisse ersetzen.
Danach aggregiert SCHNITT_KRUmsatzKassenberichtToGruppe Kassenberichte aller Systemkennungen ab dem kleinsten Stagingdatum. Über KRFilialenSystemkennung aktualisiert sie bestehende Umsätze.IstKassenBericht, IstKassenBerichtNetto und Kunden. Ohne passende Zielzeile entsteht kein neuer Umsatzdatensatz. Es gibt keinen IstFixed- oder SRC-Schutz und keine automatische Kopie in Umsätze.Ist. Fehlende Summen werden nicht pauschal auf 0 gesetzt.
SQL_TIMEOUT (Code-Default 60) steuert nur den Fach-SP-Aufruf, nicht das Leeren der Stagingtabelle und den Bulk-Import. KR_SCHNITT_BIZ_ZENTRALID und SCHNITT_APC_DSN werden in diesem Pfad nicht gelesen. Die gemeinsame Basis verwendet bedingt GLOBAL_LOGLEVEL, GLOBAL_LOGLEVELEVLOG, MAIL_SCHNITTSTELLEONSUCCESS, MAIL_SCHNITTSTELLEONERROR, SCHNITT_MELDUNG_SchnittstelleOnSuccess, SCHNITT_MELDUNG_SchnittstelleOnError und beim Versand MAIL_SCHNITTSTELLETO, MAIL_SMTP_SERVER, MAIL_USER, MAIL_PASS, MAIL_USEDEFAULTCREDENTIALS, MAIL_SSL, MAIL_TESTADRESSE, MAIL_FROM und MAIL_FROM_NAME.
Ein paralleler Lauf kann Daten im globalen Staging überschreiben. Die Dateiposition 7 wird doppelt zugewiesen; Mwst1 bis Mwst4 gehen nicht in den gespeicherten Nettowert ein. Archiviere und prüfe Dateien und Zieltabellen getrennt; ein Basis-Rückgabewert beweist keine vollständige Verarbeitung jeder Datei.
| Merkmal | Wert |
|---|---|
| Programmkennung | 1082 / ImpBizerbaKass |
| Einstieg | cSchnittKRBizerba.Import_KB |
| Fachliche SQL-Kette | SCHNITT_KR_BIZ_KASS → SCHNITT_KRUmsatzKassenberichtToGruppe |
| Fachliche Ausgänge | SCHNITT_Bizerba_KASS TRUNCATE/Bulk; KRKassenberichte DELETE/INSERT; Umsätze UPDATE |
Am 25.09.2026 aus der statischen Analyse des Quellcommits f1d82a003b62f2658f06eaa943dc685ab219bdf3 übernommen. Analyse vom 18.09.2026; kein Importlauf oder produktiver Datenbankstand bestätigt.