Inhaltsverzeichnis

Schnittstelle 1014: Aprocon-Bons importieren und Umsatzaggregate erneuern

Dokumentiert / statisch geprüft: 2026-10-02. Statisch dokumentiert; Nutzerprüfung offen. Keine Schnittstelle ausgeführt.

Identität und Quellenstand

eProgramm.ImpUmsatzBonsAprocon = 1014. Aktive feste Registrierung → cSchnittKRApc.Import_Bons (E,P). Registrierung und erreichbare Quellen geprüft; installierte Binärdateien ungeprüft. Active=True, InAutomatik=true, ManuellerAufruf=true, NurAufServer=true. 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.

Eingang und Aufrufkette

DATUM wird als Datumsmuster ausgewertet (Untergrenze einschließlich); kein Datei-/FID-Parameter. ODBC-Verbindung über SCHNITT_APC_DSN. Bons JOIN Bonpositionen ab DATUM wird unaggregiert gelesen; Zeitstempel aus Bons.Datum und Uhrzeit. Storno/Abgeschlossen werden hier noch nicht geprüft, erst in nachfolgenden Summenfiltern.

BASE → CheckApcConnect → globales TRUNCATE SCHNITT_APC_BONS → cBulkData → SCHNITT_APC_BONS_SP → CalcKrMischSteuerSatz → SCHNITT_KRUmsatzBonToGruppe → TageskurvenAusStundenUmsatz100 → Calc_UmsatzKGR_Fuellen. Kein Zeit-/PEP-Motor und kein Umsätze.Ist-Write in dieser Kette.

Ziele und Summen

KRBons wird für System A ab DATUM ersetzt; gesamtes Staging wird als System A übernommen. Mischsteuer wird für alle Systeme ab DATUM neu berechnet, ohne Storno-/Preistyp-/Abgeschlossenfilter: Netto0 → Quote1, sonst Brutto/Netto. Umsätze.IstKassenBerichtNetto wird nur über vorhandene A-Zuordnungen nachgerechnet, auch bei Fixierung; Null-/Nullsteuerfehler sind möglich.

Gruppen-SP setzt IstKassenBon/Netto ab DATUM global0; anschließende gemappte Summen beachten IstFixed. IstKassenBonMenge wird nicht zurückgesetzt: alte Mengen bleiben bei leerem neuen Quellstand. Summen berücksichtigen Artikel-/Warengruppenzuordnung, Storno0, Abgeschlossen NULL→1 und Preistyp NULL→0; UmsatzVK/Stunden haben strengere Filter Abgeschlossen=1 und Preistyp<>7. Verkäuferzahl zählt Bon-Nummerngruppen. UmsatzVK/UmsätzeIstStunde werden global ab DATUM gelöscht, nicht auf das Quellsystem beschränkt.

Tageskurven:100 Tage vor SQL-Now, vorhandene IDs Gruppe×100+Wochentag+90. Fehlende Stunden können NULL-Anteile ergeben; DATEFIRST beeinflusst IDs. Fehlende Umsätze/Tageskurven werden nicht angelegt.

KGR löscht zuerst nichtmanuelle Werte ab DATUM; leere KRKassenGeräte führt erst danach zu RETURN. Artikel-/Warengruppen-NichtVerteilen und vierstufige Kassengruppenpriorität werden berücksichtigt. Fehlende Zuordnung kann NOTNULL/FK verletzen. BETWEEN mit bis2 als Datum schließt spätere Uhrzeiten am letzten Tag aus. Kundenupdate betrifft alle historischen Tage seit2000, nicht nur DATUM. Vorhandene manuelle KGR-Zeile verhindert INSERT.

Wiederholung, Schema und Fehler

Keine Gesamttransaktion über TRUNCATE/Bulk/SP-Folgen; Teilstand nach Fehler. cBulkData liest SQL-Systemmetadaten, mapped nach Spaltenname, Buffer75000; Dispose kann auch im Fehlerpfad restlichen Buffer schreiben. BulkCopy-Timeout ist getrennt von SQL_TIMEOUT. Unbekannte Typen werden nicht als DataColumn angelegt, Mapping dennoch erzeugt: installationsabhängiger Fehler. Parallele Importe teilen das Staging.

Migrationen0767/0822/0836/0851/0864: Staging nullable, BonNummer/Gerät ergänzt; KGR mit NOTNULL/FKs und PK(PepGruppe,KassenGruppe,Datum), manuell Default0, bis2 Computed. Kein PK/Unique für KRBons/Staging in diesen Quellen. Live-Trigger/ODBC-Typen Q02/Q13 ungeprüft. Exception → BASE-Stopp/FehlerfreiFalse, kein Rollback früherer Fachwrites.

Einstellungen und gemeinsame Nebenwirkungen

Gemeinsames Profil: BASE (interne Referenz).

Beziehung Schlüssel / Variable Default Einflussweg Wirkung Beleg
1014-S001 SCHNITT_APC_DSN / SCHNITT_AproconDSN (Wert bewusst nicht dokumentiert) CheckApcConnect/ODBC Externe Aproconquelle BASE,ZW
1014-S002 SQL_TIMEOUT / SQLTimeOut 60 ODBC und lokale Fachcommands cBulkData-Metadaten/BulkCopy separat Standardtimeout B,BULK,ZW
1014-S003 SCHNITT_KR_UmsatzFixedBeachten / SCHNITT_KR_UmsatzFixedBeachten True Gruppen-SP Nur Auffüllen IstKassenBon-Werte geschützt; vorheriger Reset und andere Ziele nicht geschützt GRUPPE,ZW

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
1014-D001 Aprocon.Bons.Nummer SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D002 Aprocon.Bons.Bonnummer SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D003 Aprocon.Bons.Filiale SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D004 Aprocon.Bons.Abteilung SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D005 Aprocon.Bons.Datum SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D006 Aprocon.Bons.Uhrzeit SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D007 Aprocon.Bons.Storno SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D008 Aprocon.Bons.abgeschlossen SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D009 Aprocon.Bons.Geraet SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D010 Aprocon.Bons.Verkaufstyp SELECT Bonkopf→Staging Datum>=DATUM; Datum+Uhrzeit(TimeSpan), kein Filial-/Statusfilter im ODBC B
1014-D011 Aprocon.Bonpositionen.Bon SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D012 Aprocon.Bonpositionen.Artikel SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D013 Aprocon.Bonpositionen.Menge SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D014 Aprocon.Bonpositionen.Verkaufspersonal SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D015 Aprocon.Bonpositionen.Netto SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D016 Aprocon.Bonpositionen.Netto_Rabatt SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D017 Aprocon.Bonpositionen.Brutto SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D018 Aprocon.Bonpositionen.Brutto_Rabatt SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D019 Aprocon.Bonpositionen.Belastung SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D020 Aprocon.Bonpositionen.Preistyp SELECT Position via Bon=Bons.Nummer Mehrere Positionen je Bon; keine Vormengenaggregation B
1014-D021 SCHNITT_APC_BONS.— TRUNCATE Alle Stagingzeilen Vor Quellreader/Bulk; auch leere Quellmenge leert Staging B
1014-D022 SCHNITT_APC_BONS.Zeilen TRUNCATE Alle Stagingzeilen Vor Quellreader/Bulk; auch leere Quellmenge leert Staging B
1014-D023 SCHNITT_APC_BONS.Nummer INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D024 SCHNITT_APC_BONS.Bonnummer INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D025 SCHNITT_APC_BONS.Filiale INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D026 SCHNITT_APC_BONS.Abteilung INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D027 SCHNITT_APC_BONS.Datum INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D028 SCHNITT_APC_BONS.Artikel INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D029 SCHNITT_APC_BONS.Menge INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D030 SCHNITT_APC_BONS.Verkaufspersonal INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D031 SCHNITT_APC_BONS.BetragNetto INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D032 SCHNITT_APC_BONS.BetragNettoRabatt INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D033 SCHNITT_APC_BONS.BetragBrutto INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D034 SCHNITT_APC_BONS.BetragBruttoRabatt INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D035 SCHNITT_APC_BONS.Belastung INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D036 SCHNITT_APC_BONS.Storno INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D037 SCHNITT_APC_BONS.Preistyp INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D038 SCHNITT_APC_BONS.Verkaufstyp INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D039 SCHNITT_APC_BONS.abgeschlossen INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D040 SCHNITT_APC_BONS.Gerät INSERT/SELECT Bulkfeldliste→KRBons Buffer75000,Flush bei>75000/Dispose; alle Stagingzeilen weiterkopiert B,BULK,SP
1014-D041 KRBons.— DELETE Aprocon-Bons abDATUM SystemKennung A; andere Systeme bleiben erhalten SP
1014-D042 KRBons.Zeilen DELETE Aprocon-Bons abDATUM SystemKennung A; andere Systeme bleiben erhalten SP
1014-D043 KRBons.Nummer INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D044 KRBons.Bonnummer INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D045 KRBons.Filiale INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D046 KRBons.Abteilung INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D047 KRBons.Datum INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D048 KRBons.Artikel INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D049 KRBons.Menge INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D050 KRBons.Verkaufspersonal INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D051 KRBons.BetragNetto INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D052 KRBons.BetragNettoRabatt INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D053 KRBons.BetragBrutto INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D054 KRBons.BetragBruttoRabatt INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D055 KRBons.Belastung INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D056 KRBons.Storno INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D057 KRBons.Preistyp INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D058 KRBons.Verkaufstyp INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D059 KRBons.abgeschlossen INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D060 KRBons.Gerät INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D061 KRBons.SystemKennung INSERT/SELECT Staging+konstantA; spätere Steuer-/Umsatzaggregate Beträge unverändert, Rabatte/Belastung importiert aber Summen nutzen BetragNetto/Brutto SP,STEUER,GRUPPE,KGR
1014-D062 KRMischSteuerSatz.— DELETE Alle Systeme abDATUM Vor Berechnung STEUER
1014-D063 KRMischSteuerSatz.Zeilen DELETE Alle Systeme abDATUM Vor Berechnung STEUER
1014-D064 KRMischSteuerSatz.SystemKennung INSERT/SELECT BruttoSum/NettoSum, beiNetto0→1 Alle KRBons-Systeme/Filialen, KEIN Storno-/Abgeschlossen-/Preistypfilter STEUER
1014-D065 KRMischSteuerSatz.EFiliale INSERT/SELECT BruttoSum/NettoSum, beiNetto0→1 Alle KRBons-Systeme/Filialen, KEIN Storno-/Abgeschlossen-/Preistypfilter STEUER
1014-D066 KRMischSteuerSatz.Datum INSERT/SELECT BruttoSum/NettoSum, beiNetto0→1 Alle KRBons-Systeme/Filialen, KEIN Storno-/Abgeschlossen-/Preistypfilter STEUER
1014-D067 KRMischSteuerSatz.Steuersatz INSERT/SELECT BruttoSum/NettoSum, beiNetto0→1 Alle KRBons-Systeme/Filialen, KEIN Storno-/Abgeschlossen-/Preistypfilter STEUER
1014-D068 KRFilialenSystemkennung.FilialID SELECT Gruppe-/Steuerzuordnung Mehrfachmapping kann Summen/Updates vervielfachen STEUER,GRUPPE
1014-D069 KRFilialenSystemkennung.SystemKennung SELECT Gruppe-/Steuerzuordnung Mehrfachmapping kann Summen/Updates vervielfachen STEUER,GRUPPE
1014-D070 KRFilialenSystemkennung.PEPGruppenID SELECT Gruppe-/Steuerzuordnung Mehrfachmapping kann Summen/Updates vervielfachen STEUER,GRUPPE
1014-D071 Umsätze.Datum SELECT Join/Quotient/Schutz Nur bestehende Gruppe/Tag-Zeilen STEUER,GRUPPE
1014-D072 Umsätze.GruppenID SELECT Join/Quotient/Schutz Nur bestehende Gruppe/Tag-Zeilen STEUER,GRUPPE
1014-D073 Umsätze.IstKassenBericht SELECT Join/Quotient/Schutz Nur bestehende Gruppe/Tag-Zeilen STEUER,GRUPPE
1014-D074 Umsätze.IstFixed SELECT Join/Quotient/Schutz Nur bestehende Gruppe/Tag-Zeilen STEUER,GRUPPE
1014-D075 Umsätze.IstKassenBerichtNetto UPDATE IstKassenBericht/Steuersatz Mapping SystemA,Datum>=DATUM; keinIstFixed,Steuersatz0 ergibt Fehler STEUER
1014-D076 Umsätze.IstKassenBon UPDATE Zunächst0, dannGruppensummen Reset ALLE Zeilen abDATUM ohneFixed; Auffüllen abhängigFixedsetting GRUPPE
1014-D077 Umsätze.IstKassenBonNetto UPDATE Zunächst0, dannGruppensummen Reset ALLE Zeilen abDATUM ohneFixed; Auffüllen abhängigFixedsetting GRUPPE
1014-D078 Umsätze.IstKassenBonMenge UPDATE SummeMenge*Einheit (0→StandardEinheit/1) Nur gemappte Summenzeilen; kein Reset bei fehlender Quelle GRUPPE
1014-D079 KRKostenTräger.ID SELECT Artikelmapping/Einheit/KGR-Ausschluss Fehlender Artikel fällt aus Umsatzsummen GRUPPE,KGR
1014-D080 KRKostenTräger.Einheit SELECT Artikelmapping/Einheit/KGR-Ausschluss Fehlender Artikel fällt aus Umsatzsummen GRUPPE,KGR
1014-D081 KRKostenTräger.KRWarenGruppe SELECT Artikelmapping/Einheit/KGR-Ausschluss Fehlender Artikel fällt aus Umsatzsummen GRUPPE,KGR
1014-D082 KRKostenTräger.NichtVerteilen SELECT Artikelmapping/Einheit/KGR-Ausschluss Fehlender Artikel fällt aus Umsatzsummen GRUPPE,KGR
1014-D083 KRWarenGruppen.ID SELECT Warengruppen-/Mengenfilter GRUPPE leftjoin, KGR innerjoin +NichtVerteilen0 GRUPPE,KGR
1014-D084 KRWarenGruppen.StandardEinheit SELECT Warengruppen-/Mengenfilter GRUPPE leftjoin, KGR innerjoin +NichtVerteilen0 GRUPPE,KGR
1014-D085 KRWarenGruppen.BonNichtEinlesen SELECT Warengruppen-/Mengenfilter GRUPPE leftjoin, KGR innerjoin +NichtVerteilen0 GRUPPE,KGR
1014-D086 KRWarenGruppen.NichtVerteilen SELECT Warengruppen-/Mengenfilter GRUPPE leftjoin, KGR innerjoin +NichtVerteilen0 GRUPPE,KGR
1014-D087 Personen.ApcID SELECT Verkaufspersonal→Person Keine Aktiv-/Gültigkeitsprüfung GRUPPE
1014-D088 Personen.PersonID SELECT Verkaufspersonal→Person Keine Aktiv-/Gültigkeitsprüfung GRUPPE
1014-D089 UmsatzVK.— DELETE GlobalabDATUM OhneSystem-/Fixed-/Manualfilter GRUPPE
1014-D090 UmsatzVK.Zeilen DELETE GlobalabDATUM OhneSystem-/Fixed-/Manualfilter GRUPPE
1014-D091 UmsätzeIstStunde.— DELETE GlobalabDATUM OhneSystem-/Fixed-/Manualfilter GRUPPE
1014-D092 UmsätzeIstStunde.Zeilen DELETE GlobalabDATUM OhneSystem-/Fixed-/Manualfilter GRUPPE
1014-D093 UmsatzVK.Datum INSERT Verkäufer/Gruppe/Tag Kunden COUNTBon-Nummerngruppen; abgeschlossen1/Preistyp<>7 strikterNULLfilter GRUPPE
1014-D094 UmsatzVK.PersonID INSERT Verkäufer/Gruppe/Tag Kunden COUNTBon-Nummerngruppen; abgeschlossen1/Preistyp<>7 strikterNULLfilter GRUPPE
1014-D095 UmsatzVK.Gruppe INSERT Verkäufer/Gruppe/Tag Kunden COUNTBon-Nummerngruppen; abgeschlossen1/Preistyp<>7 strikterNULLfilter GRUPPE
1014-D096 UmsatzVK.VKWert INSERT Verkäufer/Gruppe/Tag Kunden COUNTBon-Nummerngruppen; abgeschlossen1/Preistyp<>7 strikterNULLfilter GRUPPE
1014-D097 UmsatzVK.VKWertNetto INSERT Verkäufer/Gruppe/Tag Kunden COUNTBon-Nummerngruppen; abgeschlossen1/Preistyp<>7 strikterNULLfilter GRUPPE
1014-D098 UmsatzVK.Kunden INSERT Verkäufer/Gruppe/Tag Kunden COUNTBon-Nummerngruppen; abgeschlossen1/Preistyp<>7 strikterNULLfilter GRUPPE
1014-D099 UmsatzVK.Menge INSERT Verkäufer/Gruppe/Tag Kunden COUNTBon-Nummerngruppen; abgeschlossen1/Preistyp<>7 strikterNULLfilter GRUPPE
1014-D100 UmsätzeIstStunde.Datum INSERT/SELECT Stundenaggregate→Tageskurven DATEPART(hour), alleSysteme; TK letzte100Tage nicht DATUM begrenzt GRUPPE,TK
1014-D101 UmsätzeIstStunde.GruppenID INSERT/SELECT Stundenaggregate→Tageskurven DATEPART(hour), alleSysteme; TK letzte100Tage nicht DATUM begrenzt GRUPPE,TK
1014-D102 UmsätzeIstStunde.Stunde INSERT/SELECT Stundenaggregate→Tageskurven DATEPART(hour), alleSysteme; TK letzte100Tage nicht DATUM begrenzt GRUPPE,TK
1014-D103 UmsätzeIstStunde.Umsatz INSERT/SELECT Stundenaggregate→Tageskurven DATEPART(hour), alleSysteme; TK letzte100Tage nicht DATUM begrenzt GRUPPE,TK
1014-D104 UmsätzeIstStunde.UmsatzNetto INSERT/SELECT Stundenaggregate→Tageskurven DATEPART(hour), alleSysteme; TK letzte100Tage nicht DATUM begrenzt GRUPPE,TK
1014-D105 Tageskurven.ID SELECT Gruppe*100+DATEPARTweekday+90 DATEFIRST-abhängig; nur vorhandeneKurven TK
1014-D106 Tageskurven.TK00 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D107 Tageskurven.TK01 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D108 Tageskurven.TK02 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D109 Tageskurven.TK03 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D110 Tageskurven.TK04 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D111 Tageskurven.TK05 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D112 Tageskurven.TK06 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D113 Tageskurven.TK07 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D114 Tageskurven.TK08 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D115 Tageskurven.TK09 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D116 Tageskurven.TK10 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D117 Tageskurven.TK11 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D118 Tageskurven.TK12 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D119 Tageskurven.TK13 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D120 Tageskurven.TK14 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D121 Tageskurven.TK15 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D122 Tageskurven.TK16 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D123 Tageskurven.TK17 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D124 Tageskurven.TK18 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D125 Tageskurven.TK19 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D126 Tageskurven.TK20 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D127 Tageskurven.TK21 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D128 Tageskurven.TK22 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D129 Tageskurven.TK23 UPDATE StundenBrutto/TagBrutto Tagessumme0→0, fehlendeStunde→NULL, keineINSERT TK
1014-D130 Filialen.FilialID SELECT KGR-Mapping KRBons.Filiale=ISNULL(ApcID,FilialID), gleicheSystemKennung KGR
1014-D131 Filialen.ApcID SELECT KGR-Mapping KRBons.Filiale=ISNULL(ApcID,FilialID), gleicheSystemKennung KGR
1014-D132 Filialen.SystemKennung SELECT KGR-Mapping KRBons.Filiale=ISNULL(ApcID,FilialID), gleicheSystemKennung KGR
1014-D133 PepGruppen.PEPGruppenID SELECT KGR-Ziel FilialGruppe1 KGR
1014-D134 PepGruppen.Filiale SELECT KGR-Ziel FilialGruppe1 KGR
1014-D135 PepGruppen.FilialGruppe SELECT KGR-Ziel FilialGruppe1 KGR
1014-D136 KRKassenGeräte.Filiale SELECT Priorität exakt→Filialdefault→Gerätglobal→global Gültig bisCONVERTdatebis2: letzterTag nurMitternacht bei Zeitbon KGR
1014-D137 KRKassenGeräte.Gerät SELECT Priorität exakt→Filialdefault→Gerätglobal→global Gültig bisCONVERTdatebis2: letzterTag nurMitternacht bei Zeitbon KGR
1014-D138 KRKassenGeräte.KassenGruppe SELECT Priorität exakt→Filialdefault→Gerätglobal→global Gültig bisCONVERTdatebis2: letzterTag nurMitternacht bei Zeitbon KGR
1014-D139 KRKassenGeräte.von SELECT Priorität exakt→Filialdefault→Gerätglobal→global Gültig bisCONVERTdatebis2: letzterTag nurMitternacht bei Zeitbon KGR
1014-D140 KRKassenGeräte.bis2 SELECT Priorität exakt→Filialdefault→Gerätglobal→global Gültig bisCONVERTdatebis2: letzterTag nurMitternacht bei Zeitbon KGR
1014-D141 UmsatzKgr.— DELETE NichtmanuelleZeilenabDATUM Vor RETURN wennkeinKassenGerät KGR
1014-D142 UmsatzKgr.Zeilen DELETE NichtmanuelleZeilenabDATUM Vor RETURN wennkeinKassenGerät KGR
1014-D143 UmsatzKgr.PepGruppe INSERT KGR-Aggregate; Kundeninitial0 AntiJoin gleicherKey, manuelleZeilenbleiben; NULLKGR kollidiertNOTNULLFK KGR,U822
1014-D144 UmsatzKgr.KassenGruppe INSERT KGR-Aggregate; Kundeninitial0 AntiJoin gleicherKey, manuelleZeilenbleiben; NULLKGR kollidiertNOTNULLFK KGR,U822
1014-D145 UmsatzKgr.Datum INSERT KGR-Aggregate; Kundeninitial0 AntiJoin gleicherKey, manuelleZeilenbleiben; NULLKGR kollidiertNOTNULLFK KGR,U822
1014-D146 UmsatzKgr.UmsatzBrutto INSERT KGR-Aggregate; Kundeninitial0 AntiJoin gleicherKey, manuelleZeilenbleiben; NULLKGR kollidiertNOTNULLFK KGR,U822
1014-D147 UmsatzKgr.UmsatzNetto INSERT KGR-Aggregate; Kundeninitial0 AntiJoin gleicherKey, manuelleZeilenbleiben; NULLKGR kollidiertNOTNULLFK KGR,U822
1014-D148 UmsatzKgr.Menge INSERT KGR-Aggregate; Kundeninitial0 AntiJoin gleicherKey, manuelleZeilenbleiben; NULLKGR kollidiertNOTNULLFK KGR,U822
1014-D149 UmsatzKgr.Kunden INSERT KGR-Aggregate; Kundeninitial0 AntiJoin gleicherKey, manuelleZeilenbleiben; NULLKGR kollidiertNOTNULLFK KGR,U822
1014-D150 UmsatzKgr.manuell SELECT Schutz/Key manuelldefault0; AntiJoinbeziehtauchmanuelleZeilenein KGR,U836
1014-D151 UmsatzKgr.PepGruppe SELECT Schutz/Key manuelldefault0; AntiJoinbeziehtauchmanuelleZeilenein KGR,U836
1014-D152 UmsatzKgr.KassenGruppe SELECT Schutz/Key manuelldefault0; AntiJoinbeziehtauchmanuelleZeilenein KGR,U836
1014-D153 UmsatzKgr.Datum SELECT Schutz/Key manuelldefault0; AntiJoinbeziehtauchmanuelleZeilenein KGR,U836
1014-D154 UmsatzKgr.Kunden UPDATE COUNTdistinctBon-Filiale-Gerät-Tag-Nummer ALLE nichtmanuellen Tage>=1.1.2000, nichtnurDATUM; Mapping nutztQuellFiliale stattlokalApcIDFallback KGR

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). Externe Betriebs-/Schemaabweichungen sind nicht durch die statische Analyse ausgeschlossen.

Gemeinsame Nebenwirkungen BASE

Block17 ergänzt explizit5314/5315/5316/5317/5318/5319/5323/5324/5325/5326/5327/5328/6000/6006/6007/6008/6009. Alle nutzen BASE-Start/Ende;6001/6002/6003/6004/6005 verwenden LEGACY statt BASE. Fachverträge jeID, keine automatische gemeinsame Kunden-/Dateiwirkung.

Stand: 2026-10-02 · Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Gilt ausdrücklich für Block 01: 1012, 1013, 1016, 1017, 1018, 1019, 1079, 1080, 1082, 2016 sowie Block 02: 2011, 2012, 2014, 2015, 2017, 2018, 2019, 2033, 2034, 2041 sowie Block 03: 1057, 1058, 1059, 1060, 2030, 2035, 2040, 2042, 2044 sowie Block 04: 2053, 2054, 1081, 2031, 2052 sowie Block 05: 2045, 2050 sowie Block 06: 3044, Block 08: 1010, 1011, 1015 und Block 10: 1047, 1051 sowie Block 12: 1064. 2024, 1020, 1030, 1048, 1049, 1050, 1052, 1053, 1054, 1061, 1062 und 1063 verwenden diese Basis nicht. 1078 enthält die gleichversionierten Beziehungen weiterhin in seiner Einzelbeschreibung; keine Doppelzählung für 1078. Kein Test-/Deploymentnachweis.

Block 13 ergänzt ausdrücklich 1065,1066,1068,1069,1071,1072,1074: aktive Implementierungen bzw. Hilfsinstanzen erben BASE und rufen Start/Ende auf. Bei 1074 ist AusführungEnde nur bei unbehelligtem Abschluss erreichbar; Ressourcen-/DB-/SP-Fehler können es überspringen. 1067/1070/1073 verwenden direkte LEGACY-Meldungen.

Block14 ergänzt ausdrücklich 1104,1105,1106,1108,1109,1150,1210,1214,1215,1222. Aktive Klassen/Instanzen erben BASE und starten/beenden den Lauf; ungefangene Fehler können das Ende überspringen. Nur gemeinsame Rückmeldung, keine Gesamttransaktion oder erfolgreiche Fachwirkung. 1203 hat keinen BASE-/LEGACY-Pfad.

Block15 ergänzt ausdrücklich 2025/2026/2027/2049 mit erreichbarem Instanz-Start/Ende. Die aktiven Veraltet-Stubs 2028/2029/2032/2046/2047/2048 nutzen trotz Klassenvererbung nur den direkten LEGACY-Meldepfad; keine BASE-Ausführung. 2022 hat keinen Delegate.

Reichweite und Wiederverwendung

Block16 ergänzt ausdrücklich 2051/2055/3043/3512/3513/3520/3521/3522. WebZerf2 nutzt Multi-Start/Ende mit BASE je Teilstufe; IsMultiSchnitt reduziert Dialoge, nicht Mail-/API-Wirkungen. Nach Fehlern können weitere Teilstufen starten. 3011 ohne Delegate;3031/3032/3041/3042/3060/3500 nur LEGACY.

Die ausdrücklich zugeordneten Programmregistrierungen mit ihren Implementierungen erben cSchnitt_Basis und rufen AusführungStart/AusführungEnde auf. Gemeinsam geprüfte Basisklasse/Registrierung; Mail-/Logging-/API-Details aus der dokumentierten Pilotprüfung desselben Commits wiederverwendet. Nicht automatisch auf jede zukünftige Schnittstelle übertragen: Erreichbarkeit, Overrides, Sonderpfade und Quellenstand jeweils prüfen.

Start setzt Status/Protokoll zurück. Fehlerstatus steigt nur (0→1→2). Fehlerfrei() ist True nur bei Status 0. SILENT unterdrückt die Startanzeige und beendet AusführungEnde sofort. MANUELL wird über Schlüsselinzidenz erkannt, unterdrückt direkte Mail und API-sendmail, nicht die API-Meldung selbst. MAILTO leer → MAIL_SCHNITTSTELLETO. Bei nicht lokal gefangener Exception kann der Abschluss ausfallen (besonders 1079/1082); 2016 hat einen getrennten Rückgabe-/Fehlerstatusbefund; 2017 reicht ebenfalls den Instanzstatus nicht als Shared-Rückgabe durch. 1057–1060 besitzen untypisierte Shared-Einstiege ohne Return (Nothing) und übernehmen Modul nicht; Instanz-Abschluss separat betrachten. Die acht Exporte aus Block 02/03 verwenden cSchnittExport mit Start/Ende.

Erfolg: OnSuccess; Fehlerstatus 1: OnSuccess ODER OnError; Stoppstatus 2: OnError. Mail nur nicht MANUELL und nicht SILENT; API wird sonst unabhängig vom sendmail-Schalter aufgerufen. Direkte Mail speichert Body/Outbox in eigener Transaktion (keine Fachimporttransaktion). SendOutbox(5) kann ältere fällige Schnittstellenmails versenden und deren Anhänge lesen; diese Fachpfade erzeugen selbst keine Anhänge. SMTP-Testadresse kann Zieladresse ersetzen. Mail-/API-Ergebnis ist kein verlässlicher Bestandteil von Fehlerfrei().

Einstellungen

Beziehung Schlüssel / Variable Default Einfluss Wirkung Beleg
BASE-S001 MAIL_SCHNITTSTELLEONSUCCESS / MAIL_SchnittstelleOnSuccess False Basis Direkte Mail bei Result 0 oder1, nicht MANUELL/SILENT BASE:BASE, BASE:SET
BASE-S002 MAIL_SCHNITTSTELLEONERROR / MAIL_SchnittstelleOnError False Basis Direkte Mail bei Result 1 oder2, nicht MANUELL/SILENT BASE:BASE, BASE:SET
BASE-S003 SCHNITT_MELDUNG_SchnittstelleOnSuccess / SCHNITT_MELDUNG_SchnittstelleOnSuccess False Basis/API sendmail=1 bei Result 0 oder1, nicht MANUELL/SILENT; API-Meldung sonst weiterhin sendmail=0 BASE:BASE, BASE:SET
BASE-S004 SCHNITT_MELDUNG_SchnittstelleOnError / SCHNITT_MELDUNG_SchnittstelleOnError True Basis/API sendmail=1 bei Result 1 oder2, nicht MANUELL/SILENT BASE:BASE, BASE:SET
BASE-S005 MAIL_SCHNITTSTELLETO / MAIL_SchnittstelleTo leer Mail Ersatz bei leerem MAILTO; Semikolonliste BASE:MAIL, BASE:SET
BASE-S006 MAIL_SMTP_SERVER / MAIL_SMTPServer leer SMTP Server für direkten Versand BASE:MAIL, BASE:SET
BASE-S007 MAIL_USER / MAIL_User leer SMTP Nichtleer setzt NetworkCredential und überschreibt Defaultcredentials BASE:MAIL, BASE:SET
BASE-S008 MAIL_PASS / MAIL_Pass leer; verschlüsselte Einstellung SMTP Passwort für explizite Credentials; kein Geheimnis dokumentiert BASE:MAIL, BASE:SET
BASE-S009 MAIL_USEDEFAULTCREDENTIALS / MAIL_UseDefaultCredentials False SMTP SmtpClient.UseDefaultCredentials; ggf. durch MAIL_USER überschrieben BASE:MAIL, BASE:SET
BASE-S010 MAIL_SSL / MAIL_SSL True SMTP SmtpClient.EnableSsl BASE:MAIL, BASE:SET
BASE-S011 MAIL_TESTADRESSE / MAIL_TestAdresse nichtleere Testadresse im Quellcode (Wert bewusst nicht kopiert) SMTP Nichtleer ersetzt tatsächlichen To-Empfänger, auch wenn MAILTO gesetzt BASE:MAIL, BASE:SET
BASE-S012 MAIL_FROM / MAIL_From leer SMTP Absenderadresse BASE:MAIL, BASE:SET
BASE-S013 MAIL_FROM_NAME / MAIL_FromName leer SMTP Absendername BASE:MAIL, BASE:SET
BASE-S014 GLOBAL_LOGLEVEL / GLOBAL_LOGLEVEL 50 Logging Persistenz bei InfoLevel>=Schwelle; Start/Erfolg51, ImportError102 BASE:INIT, BASE:LOG, BASE:SET
BASE-S015 GLOBAL_LOGLEVELEVLOG / GLOBAL_LOGLEVELEVENTLOG 0 Logging Eventlog bei Level>Schwelle, Schwelle>0 und Level<200 BASE:INIT, BASE:LOG, BASE:SET

Datenbeziehungen

DB-Rolle Anmeldung; Logging über cInfoTools-Verbindung. Keine Geheimnisse/Livewerte. Indizes verknüpfen jede Mitglieds-ID mit diesen Beziehungen, auch wenn die Details nur einmal stehen.

Beziehung Tabelle.Feld Operation Datenfluss / Verwendung Bedingung Beleg
BASE-D001 Dokumente.oFilename INSERT MAIL_BODY Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D002 Dokumente.oFilesize INSERT Byteanzahl Body Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D003 Dokumente.Daten INSERT cFn.StringToByteArray(MailBody) Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D004 Dokumente.UserID INSERT dbo.fnUserId() Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D005 Dokumente.ts INSERT getdate() Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D006 Outbox.mTo INSERT MAILTO oder MAIL_SCHNITTSTELLETO; je Semikolonadresse Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D007 Outbox.mCc INSERT leer Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D008 Outbox.mFrom INSERT leer Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D009 Outbox.mSubject INSERT Statusabhängiger Betreff Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D010 Outbox.mBodyID INSERT ID des gespeicherten Bodys Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D011 Outbox.mBodyHtml INSERT False Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D012 Outbox.mDelayUntil INSERT getdate() Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D013 Outbox.mStatus INSERT 1 Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D014 Outbox.mSize INSERT Bodyzeichenanzahl (ohne Anhänge) Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D015 Outbox.refArt INSERT 0 Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D016 Outbox.RefID INSERT 0 Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D017 Outbox.MailArt INSERT 5 (SchnittstellenMeldung) Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D018 Outbox.UserID INSERT fnUserId() Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D019 Outbox.ts INSERT getdate() Direkte Rückmeldung aktiviert BASE:MAIL
BASE-D020 Outbox.ID SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D021 Outbox.mFrom SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D022 Outbox.mTo SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D023 Outbox.mCc SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D024 Outbox.mBodyID SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D025 Outbox.mSubject SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D026 Outbox.mBodyHtml SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D027 Outbox.mStatus SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D028 Outbox.mDelayUntil SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D029 Outbox.MailArt SELECT SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt Versandpfad BASE:MAIL
BASE-D030 Outbox.mSent UPDATE Erfolg → getdate() Versandpfad BASE:MAIL
BASE-D031 Outbox.mStatus UPDATE Erfolg → 0; Fehler → +1, bei Status 20 pauschal -1 ohne WHERE Versandpfad BASE:MAIL
BASE-D032 Outbox.mDelayUntil UPDATE Fehler → Staffel 2/5/10/30 Minuten; ab Status 12 CASE ohne ELSE → NULL Versandpfad BASE:MAIL
BASE-D033 Dokumente.ID SELECT Body/Anhänge laden Versandpfad BASE:MAIL, BASE:DOC
BASE-D034 Dokumente.oFilename SELECT Body/Anhänge laden Versandpfad BASE:MAIL, BASE:DOC
BASE-D035 Dokumente.Daten SELECT Body/Anhänge laden Versandpfad BASE:MAIL, BASE:DOC
BASE-D036 OutboxAttachment.OutBoxID SELECT Anhangszuordnung; diese Basisaufrufe erstellt selbst keine Anhänge SendOutbox kann ältere Mailart-5-Einträge versenden BASE:MAIL
BASE-D037 OutboxAttachment.DokumenteID SELECT Anhangszuordnung; diese Basisaufrufe erstellt selbst keine Anhänge SendOutbox kann ältere Mailart-5-Einträge versenden BASE:MAIL
BASE-D038 Pep3Log.UserID INSERT fnUserId() InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich BASE:LOG
BASE-D039 Pep3Log.Datum INSERT getdate() InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich BASE:LOG
BASE-D040 Pep3Log.Kurz INSERT Kurztext max255 InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich BASE:LOG
BASE-D041 Pep3Log.LogText INSERT Protokoll InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich BASE:LOG
BASE-D042 Pep3Log.Modul INSERT Modulname max50 InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich BASE:LOG
BASE-D043 Pep3Log.InfoLevel INSERT Start/Erfolg=51; Importfehler=102; weitere Mail-Meldungen InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich BASE:LOG
BASE-D044 tblUser.Name SELECT fnUserId: min(UserID) WHERE Name=RIGHT(SUSER_NAME(),25), sonst 0 Mail-/Logpersistenz BASE:USER
BASE-D045 tblUser.UserID SELECT fnUserId: min(UserID) WHERE Name=RIGHT(SUSER_NAME(),25), sonst 0 Mail-/Logpersistenz BASE:USER

Weitere Ausgänge und Grenzen

Logdateien unter ApplicationData/PEP/LogFiles; kontextabhängig Windows-Eventlog. Start/Erfolg InfoLevel 51, Importfehler 102; Schwellen beeinflussen Persistenz. SQL-fnUserId liest tblUser anhand RIGHT(SUSER_NAME(),25). API Send(MELDUNG) nutzt Anmeldungskontext und fest codierten Endpoint; dessen Serverimplementierung fehlt in dieser Quellenbasis (Q01).

Bekannte gemeinsame Befunde aus Pilot: Outbox-Retry bei Status 20 setzt mStatus=-1 ohne WHERE; Retry-CASE ab Status 12 ohne ELSE → NULL. Nicht korrigiert. Keine Kundendaten oder Zugangswerte übertragen.

Quellenverzeichnis

Siehe auch: Übersicht der Schnittstellen. Keine Ausführung oder Codekorrektur.