Inhaltsverzeichnis

Schnittstelle 2051: Kostenrechnungsstatistik neu erstellen

Dokumentiert / statisch geprüft: 2026-10-02. Statisch dokumentiert einschließlich der nachgearbeiteten lokalen Folgeketten; Nutzerprüfung offen. Keine Schnittstelle ausgeführt.

Identität und Quellenstand

eProgramm.CalcStatistik = 2051. Aktive feste Registrierung → cSchnittKRStatistik.Statistik_Erstellen (E,P). Projekteinschluss der genannten VB-Quellen geprüft (PRJ). Active=True, InAutomatik=true, ManuellerAufruf=true, NurAufServer=false. 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.

Zweck und tatsächlicher Einstieg

Statistikberechnung, kein Dateiimport/-export. Statistik_Erstellen ruft immer Erstellen2 auf; auskommentierte DEBUG_KRSTATVERSION-Auswahl gehört nicht zum aktiven Pfad. DATVON/DATBIS/DATWARENWERT sind Datum-Requests ohne echte Defaults. Beschreibung „mo.w-13.j / so.w-1.j /0“ ist nur Vorschlag. BASE.SetDatum/cDatumMuster wertet alle drei aus, nicht short-circuit And.

Init lädt KRDatenQuellen/KRDaten, Kostenstellengruppen/Preiskategorien in den Arbeitsspeicher. Danach DELETE aller KRStatWerte mit KRStatDaten>0, unabhängig vom angefragten Zeitraum. Alle KRPreisKategorie werden berechnet. KostenElemente enthält Semikolonlisten: KG… für Kostenstellengruppen, DQ… für ausgeschlossene Quellen. Quellenart KO/MS/PR wählt je KRDatenQuelle MAX(ID) aus KRDaten, nicht explizit jüngstes Datum. cKRBerechnung.Laden lädt Kosten-/Mengen-/Preis-/Warenwert-/Umsatzquellen; StatistikSpeichern2 schreibt Statistik.

Gesicherte SQL-Eingänge und Ausgänge

Kein direkter EXEC einer Fach-SP. TableAdapter-SELECTs (X/D) rufen die UDFs KRKostenLaden, KRMengenLaden→KRMengenWoche, KRWarenWertLaden und PepGruppenWerte auf. KRPreise liest positive KRWerte.Wert, MAX je RefID/Variante für ausgewählte Daten. KRWarenWertLaden nutzt maximalen gültigen KRWarenwert.Preis * FaktorWarenwert; Einheit aus Kostenträger, sonst WarenGruppen.StandardEinheit. PepGruppenWerte normalisiert IstNetto/IstNettoIntern/EKPreis/EKPreisIntern auf eine Sieben-Tage-Woche für aktive InFilialUmsatz-Gruppen. 2051 liest damit Umsätze, schreibt dort aber im belegten Pfad nicht.

StatistikSpeichern2: temp #KRStatWerte (ID→Ziel.KRStatDaten) → SqlBulkCopy (ordinal, keine Mappings) → INSERT KRStatWerte(KRStatDaten,RefID,Datenart,Wert,Menge,Variante,RefArt,RefID2). Kopf KRStatDaten mit ID=Preiskategorie wird danach angelegt/aktualisiert (UmsatzVon/UmsatzBis,Beschreibung=AUTO,ts,UserID=0). RefArt1=Kostenstelle,5=Objekt; bei RefArt2/4 ist RefID der Kostenträger, CB/CE verwenden DatenArt=Baustein und CE.RefID2=Kostenart; CWn/Export-Zeilen verwenden Datenart−1/−2. Mengenzuordnung und Werteformeln sind im folgenden Nacharbeitsabschnitt aufgelöst.

Befunde und Prüfgrenzen

⚠ Globaler positiver Statistikreset ohne Transaktion; Fehler können alte Werte löschen und nur einige Kategorien ersetzen. Bulk-Flush prüft dt.Columns.Count>75000 statt Rows.Count (Tabelle hat8 Spalten); erwartete Zwischenflushes fehlen. Int32-Arbeitsschlüssel gegenüber BigInt-SQL können überlaufen. Haupt-/Speicherkommandos und BulkCopy nutzen ungesetzte Providerdefault-Timeouts, TableAdapter SQL_TIMEOUT. Kopf erst nach Wertinsert. Update0653 enthielt einen Kopf-FK, Update0866 entfernt ihn ausdrücklich; kein zwingender FK-Fehler gegen vollständig migrierten Stand. Installationsstand Q02.

Nachgearbeiteter Formel- und Eingangsgraph (Q16 geschlossen)

Erstellen2 → cKRBerechnung.Laden → cKRDaten.AuswertungLaden, Kosten-/Objekttabellen, BWAFüllen und MengenTabelleFüllen. Es werden nur Ladeadapter und StatistikSpeichern2 ausgeführt; die daneben vorhandenen SpeichernKostenTräger-/Varianten-/Anteile- und alten MengenTabelleFüllenAlt-/StatistikSpeichern-Funktionen sind hier nicht erreichbar.

Kosten: KRWerte.Wert/KRDaten.Wochen, multipliziert mit explizitem Kostenstellenanteil/Gesamtsumme oder Gemeinkostenanteil/Gesamtsumme und danach Objektanteil/Objektgesamtsumme. Nenner0 setzt Wert0; Wochen0 hat keinen entsprechenden Schutz. Separate Kostenarten bilden Kosten-/Gewinn-/Zwischensummen. Objekt-BWA liest Wochen-Umsätze und EK; Deckung=extern+intern−Belastung, Ergebnis=Deckung−Kosten. FaktorWarenwert gilt beim externen Objekt-EK, aber NICHT in gleicher Weise bei CG-/Gesamtsummen: deren EK wird ohne Faktor addiert. Daher können Objekt- und Gruppensummen bei Faktor≠1 auseinanderlaufen.

Mengen: KRMengenWoche normalisiert auf sieben Tage; KRMengenLaden liefert fehlenden Produkt-/Gruppenkombinationen Ersatzmenge0,0001, verteilt Stammrest(1−Summe Variantenanteile) und Varianten. MengenTabelleFüllen nimmt nur Menge>0. Bei Kostenträger100: Menge×Anteil/Gesamt×AnteilMenge, sonst Menge×Anteil×AnteilMenge. Erster Pass summiert Arbeitsmenge×Baustein.Faktor je Kostenstelle; zweiter Pass verteilt Kosten proportional. CB erhält Bausteinkosten je Mengeneinheit, CG/CD/CE erhalten Gruppen-/Kostenartdetails. CB wird je Row zugewiesen, nicht addiert. CWn=Preis/Einheit, CWe=Preis; Warenwert erhöht Summe, ProduktEinheit×Summe ergibt Einheit. Der #If False-Preisdelta-Pfad ist inaktiv; Laden der Preisquelle ist damit keine belegte aktive Preisdelta-Wirkung.

KR_SUMMEN_LADENALLE=False lässt NichtVerteilen-Kostenträger aus der Stammtabelle; True lädt sie. Varianten können fehlende Parent-Zeilen treffen. Export-Filter hängt an PreisKategorie.ApcID>0 und Zuordnung: nur zugeordnete Produkte mit Warenwert und je ausgewählter Gruppe Bausteinwert; nicht zugeordnete Zeilen werden bei CanExport aus TabelleP entfernt. Das Flag wird als Datenart−2 gespeichert, keine Exportdatei aus2051.

Speicher: RefArt1 Kostenstelle/5 Objekt mit Menge0; RefArt2 CB und CWn; RefArt4 CE-Detailelemente, CWn oder Export. CE.RefID2=Kostenart, Datenart im aktiven Code jedoch CE-Spaltensuffix (Kostenstelle), nicht pauschal Baustein. Mengensuche verwendet denselben CB/CE-Suffix als KRKostenStellenBaustein-Key; CE ist Kostenstelle und kann daher falsch/gar nicht treffen. Menge dann0, sonst Menge×Anteil/100×AnteilMenge. Varianten werden bei RefArt4 erhalten, RefArt2-Bausteinzeilen setzen VarianteNULL. BWA-Mengen-/Schnittzeilen−10/−11/−20/−21 fließen ebenfalls als Datenart in die Kostenstellenstatistik.

KRKRKostenTrägerErweitert liest Kostenträger/Waren-/Kostenträgergruppen und ersetzt Einheit⇐0 durch StandardEinheit oder0; keine Schreibwirkung der View. fnVarcharToList splittet Kommalisten und konvertiert auch das letzte/leere Teilstück implizit zu BigInt; keine Validierung/Filterbereinigung. SQL-CTEs sind keine persistenten Tabellen. Statische lokale Feld-/Einstellungsanalyse abgeschlossen; produktive DDL und fachliche Formelerwartung bleiben Nutzerprüfung (Q02).

Einstellungen und gemeinsame Nebenwirkungen

Gemeinsames Profil: BASE (interne Referenz).

Beziehung Schlüssel / Variable Default Einflussweg Wirkung Beleg
2051-S001 SQL_TIMEOUT / SQLTimeOut 60 ZW → SQL/adapter TableAdapter-Kommando-Timeout; direkte Haupt-/Speicherkommandos dagegen ohne ZW-Timeout SET,D
2051-S002 KR_SUMMEN_FAKTORWARENWERT / KR_SUMMEN_FAKTORWARENWERT 1 ZW → Laden → KRWarenWertLaden(@Faktor) Multiplikator des gültigen Warenwertpreises; Kosten-/Warenwertformeln siehe Nacharbeit SET,B,C,WW
Beziehung Schlüssel / Variable Default Einflussweg Wirkung Beleg
2051-S003 KR_SUMMEN_LADENALLE / KR_SUMMEN_LADENALLE False MengenTabelleErstellen→ZeilenErstellenKostenTräger NichtVerteilen-Kostenträger trotzdem einbeziehen; verändert Produkt-/Statistikbestand SET,D

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
2051-D001 KRStatWerte.KRStatDaten SELECT Globaler Löschbereich KRStatDaten>0 vor allen Kategorien B
2051-D002 KRStatWerte.— Zeilen DELETE Alle Statistikwerte mit positivem Kopf, ohne Datumsgrenze globaler Neulauf B
2051-D003 KRPreisKategorie.ID SELECT Alle Kategorien, KG-Auswahl und DQ-Ausschlüsse unbegrenzt B
2051-D004 KRPreisKategorie.KostenElemente SELECT Alle Kategorien, KG-Auswahl und DQ-Ausschlüsse unbegrenzt B
2051-D005 KRPreisKategorie.ApcID SELECT CanExport bei ApcID>0; exportbezogene Formelspalten Kategoriecache C
2051-D006 KRPreisKategorieZuordnung.KRPreisKategorie SELECT Optionale Exportproduktzuordnung gewählte Kategorie C
2051-D007 KRPreisKategorieZuordnung.KRKostenTräger SELECT Optionale Exportproduktzuordnung gewählte Kategorie C
2051-D008 KRDatenQuellen.ID SELECT KO/MS/PR-Typ und DQ-Ausschluss eingeschlossene Quellen B
2051-D009 KRDatenQuellen.Art SELECT KO/MS/PR-Typ und DQ-Ausschluss eingeschlossene Quellen B
2051-D010 KRDaten.ID SELECT MAX(ID) je Quelle, Listen fürs Laden alle Datenköpfe B
2051-D011 KRDaten.KRDatenQuelle SELECT MAX(ID) je Quelle, Listen fürs Laden alle Datenköpfe B
2051-D012 KRWerte.RefID SELECT Positive Preise MAX je RefID/Variante ausgewählte Datenliste X
2051-D013 KRWerte.Wert SELECT Positive Preise MAX je RefID/Variante ausgewählte Datenliste X
2051-D014 KRWerte.Variante SELECT Positive Preise MAX je RefID/Variante ausgewählte Datenliste X
2051-D015 KRWerte.KRDaten SELECT Positive Preise MAX je RefID/Variante ausgewählte Datenliste X
2051-D016 Umsätze.GruppenID SELECT PepGruppenWerte: Sieben-Tage-Wochenwerte DATVON…DATBIS PG
2051-D017 Umsätze.Datum SELECT PepGruppenWerte: Sieben-Tage-Wochenwerte DATVON…DATBIS PG
2051-D018 Umsätze.IstNetto SELECT PepGruppenWerte: Sieben-Tage-Wochenwerte DATVON…DATBIS PG
2051-D019 Umsätze.IstNettoIntern SELECT PepGruppenWerte: Sieben-Tage-Wochenwerte DATVON…DATBIS PG
2051-D020 Umsätze.EKPreis SELECT PepGruppenWerte: Sieben-Tage-Wochenwerte DATVON…DATBIS PG
2051-D021 Umsätze.EKPreisIntern SELECT PepGruppenWerte: Sieben-Tage-Wochenwerte DATVON…DATBIS PG
2051-D022 PepGruppen.PEPGruppenID SELECT Umsatzgruppenfilter aktiv1,InFilialUmsatz1 PG
2051-D023 PepGruppen.InFilialUmsatz SELECT Umsatzgruppenfilter aktiv1,InFilialUmsatz1 PG
2051-D024 PepGruppen.aktiv SELECT Umsatzgruppenfilter aktiv1,InFilialUmsatz1 PG
2051-D025 KRWarenwert.KRKostenTräger SELECT MAX gültiger Preis DATWARENWERT WW
2051-D026 KRWarenwert.Preis SELECT MAX gültiger Preis DATWARENWERT WW
2051-D027 KRWarenwert.von SELECT MAX gültiger Preis DATWARENWERT WW
2051-D028 KRWarenwert.bis2 SELECT MAX gültiger Preis DATWARENWERT WW
2051-D029 KRKostenTräger.ID SELECT Warenwert-Einheit/Warengruppenfallback Produktjoin WW
2051-D030 KRKostenTräger.Einheit SELECT Warenwert-Einheit/Warengruppenfallback Produktjoin WW
2051-D031 KRKostenTräger.KRWarenGruppe SELECT Warenwert-Einheit/Warengruppenfallback Produktjoin WW
2051-D032 KRWarenGruppen.ID SELECT Einheitfallback wenn Kostenträger.Einheit⇐0 gültiger Warenwert WW
2051-D033 KRWarenGruppen.StandardEinheit SELECT Einheitfallback wenn Kostenträger.Einheit⇐0 gültiger Warenwert WW
2051-D034 KRKostenstellen.ID SELECT Adapter Grundbestand aller Kostenstellen AuswertungLaden(-1) X,D
2051-D035 KRKostenstellen.Bezeichnung SELECT Adapter Grundbestand aller Kostenstellen AuswertungLaden(-1) X,D
2051-D036 KRKostenstellen.AnteilKosten SELECT Adapter Grundbestand aller Kostenstellen AuswertungLaden(-1) X,D
2051-D037 KRKostenstellen.Kostenträger100 SELECT Adapter Grundbestand aller Kostenstellen AuswertungLaden(-1) X,D
2051-D038 KRKostenstellen.KRKostenstellenGruppe SELECT Adapter Grundbestand aller Kostenstellen AuswertungLaden(-1) X,D
2051-D039 KRKostenstellenObjekte.PepGruppe SELECT Objektzuordnung → PepGruppen.SRC Adapter X
2051-D040 PepGruppen.PEPGruppenID SELECT Objekt-SRC Adapter X
2051-D041 PepGruppen.SRC SELECT Objekt-SRC Adapter X
2051-D042 KRMengen.KRKostenTräger SELECT Wochenmenge sum(Menge)*7/Zeitraumtage DATVON…DATBIS W
2051-D043 KRMengen.PepGruppe SELECT Wochenmenge sum(Menge)*7/Zeitraumtage DATVON…DATBIS W
2051-D044 KRMengen.Datum SELECT Wochenmenge sum(Menge)*7/Zeitraumtage DATVON…DATBIS W
2051-D045 KRMengen.Menge SELECT Wochenmenge sum(Menge)*7/Zeitraumtage DATVON…DATBIS W
2051-D046 KRKostenstellenObjekte.PepGruppe SELECT Mengenzuordnung Gruppe KRMengenWoche W
2051-D047 KRKostenstellenObjekte.KRKostenStellenGruppe SELECT Mengenzuordnung Gruppe KRMengenWoche W
2051-D048 KRKostenstellenGruppen.ID SELECT Wochenmengen-Gruppenparameter KRMengenWoche W
2051-D049 KRKostenstellenGruppen.MengeGesamt SELECT Wochenmengen-Gruppenparameter KRMengenWoche W
2051-D050 KRDatenQuellen.ID SELECT Alternative Mengenquellen-Gruppenliste fnVarcharToList-Kommaliste, siehe Nacharbeit W
2051-D051 KRDatenQuellen.KRKostenStellenGruppe SELECT Alternative Mengenquellen-Gruppenliste fnVarcharToList-Kommaliste, siehe Nacharbeit W
2051-D052 KRDaten.ID SELECT Wert/Wochen als Menge ausgewählte Mengenliste W
2051-D053 KRDaten.KRDatenQuelle SELECT Wert/Wochen als Menge ausgewählte Mengenliste W
2051-D054 KRDaten.Wochen SELECT Wert/Wochen als Menge ausgewählte Mengenliste W
2051-D055 KRWerte.KRDaten SELECT Alternative Menge ausgewählte Mengenliste W
2051-D056 KRWerte.RefID SELECT Alternative Menge ausgewählte Mengenliste W
2051-D057 KRWerte.Wert SELECT Alternative Menge ausgewählte Mengenliste W
2051-D058 KRStatWerte.KRStatDaten INSERT Temp/Bulkwerte aus berechneten Kosten-/Produktzeilen jede berechnete Kategorie; Formeln und Zuordnung siehe Nacharbeit C
2051-D059 KRStatWerte.RefID INSERT Temp/Bulkwerte aus berechneten Kosten-/Produktzeilen jede berechnete Kategorie; Formeln und Zuordnung siehe Nacharbeit C
2051-D060 KRStatWerte.Datenart INSERT Temp/Bulkwerte aus berechneten Kosten-/Produktzeilen jede berechnete Kategorie; Formeln und Zuordnung siehe Nacharbeit C
2051-D061 KRStatWerte.Wert INSERT Temp/Bulkwerte aus berechneten Kosten-/Produktzeilen jede berechnete Kategorie; Formeln und Zuordnung siehe Nacharbeit C
2051-D062 KRStatWerte.Menge INSERT Temp/Bulkwerte aus berechneten Kosten-/Produktzeilen jede berechnete Kategorie; Formeln und Zuordnung siehe Nacharbeit C
2051-D063 KRStatWerte.Variante INSERT Temp/Bulkwerte aus berechneten Kosten-/Produktzeilen jede berechnete Kategorie; Formeln und Zuordnung siehe Nacharbeit C
2051-D064 KRStatWerte.RefArt INSERT Temp/Bulkwerte aus berechneten Kosten-/Produktzeilen jede berechnete Kategorie; Formeln und Zuordnung siehe Nacharbeit C
2051-D065 KRStatWerte.RefID2 INSERT Temp/Bulkwerte aus berechneten Kosten-/Produktzeilen jede berechnete Kategorie; Formeln und Zuordnung siehe Nacharbeit C
2051-D066 KRStatDaten.ID SELECT Vorhandener Statistik-Kopf ID=Preiskategorie C
2051-D067 KRStatDaten.ID INSERT KategorieID,DATVON,DATBIS,AUTO,jetzt,0 Kopf fehlt; nach Werteinsert C
2051-D068 KRStatDaten.UmsatzVon INSERT KategorieID,DATVON,DATBIS,AUTO,jetzt,0 Kopf fehlt; nach Werteinsert C
2051-D069 KRStatDaten.UmsatzBis INSERT KategorieID,DATVON,DATBIS,AUTO,jetzt,0 Kopf fehlt; nach Werteinsert C
2051-D070 KRStatDaten.Beschreibung INSERT KategorieID,DATVON,DATBIS,AUTO,jetzt,0 Kopf fehlt; nach Werteinsert C
2051-D071 KRStatDaten.ts INSERT KategorieID,DATVON,DATBIS,AUTO,jetzt,0 Kopf fehlt; nach Werteinsert C
2051-D072 KRStatDaten.UserID INSERT KategorieID,DATVON,DATBIS,AUTO,jetzt,0 Kopf fehlt; nach Werteinsert C
2051-D073 KRStatDaten.UmsatzVon UPDATE DATVON,DATBIS,AUTO,jetzt,0 Kopf vorhanden; nach Werteinsert C
2051-D074 KRStatDaten.UmsatzBis UPDATE DATVON,DATBIS,AUTO,jetzt,0 Kopf vorhanden; nach Werteinsert C
2051-D075 KRStatDaten.Beschreibung UPDATE DATVON,DATBIS,AUTO,jetzt,0 Kopf vorhanden; nach Werteinsert C
2051-D076 KRStatDaten.ts UPDATE DATVON,DATBIS,AUTO,jetzt,0 Kopf vorhanden; nach Werteinsert C
2051-D077 KRStatDaten.UserID UPDATE DATVON,DATBIS,AUTO,jetzt,0 Kopf vorhanden; nach Werteinsert C
2051-D078 #KRStatWerte.ID INSERT Ordinaler SqlBulkCopy aus Arbeitstabelle; ID wird Ziel-KRStatDaten StatistikSpeichern2 C
2051-D079 #KRStatWerte.RefID INSERT Ordinaler SqlBulkCopy aus Arbeitstabelle; ID wird Ziel-KRStatDaten StatistikSpeichern2 C
2051-D080 #KRStatWerte.Datenart INSERT Ordinaler SqlBulkCopy aus Arbeitstabelle; ID wird Ziel-KRStatDaten StatistikSpeichern2 C
2051-D081 #KRStatWerte.Wert INSERT Ordinaler SqlBulkCopy aus Arbeitstabelle; ID wird Ziel-KRStatDaten StatistikSpeichern2 C
2051-D082 #KRStatWerte.Menge INSERT Ordinaler SqlBulkCopy aus Arbeitstabelle; ID wird Ziel-KRStatDaten StatistikSpeichern2 C
2051-D083 #KRStatWerte.Variante INSERT Ordinaler SqlBulkCopy aus Arbeitstabelle; ID wird Ziel-KRStatDaten StatistikSpeichern2 C
2051-D084 #KRStatWerte.RefArt INSERT Ordinaler SqlBulkCopy aus Arbeitstabelle; ID wird Ziel-KRStatDaten StatistikSpeichern2 C
2051-D085 #KRStatWerte.RefID2 INSERT Ordinaler SqlBulkCopy aus Arbeitstabelle; ID wird Ziel-KRStatDaten StatistikSpeichern2 C
2051-D086 #KRStatWerte.ID SELECT INSERT in persistente KRStatWerte jede Kategorie C
2051-D087 #KRStatWerte.RefID SELECT INSERT in persistente KRStatWerte jede Kategorie C
2051-D088 #KRStatWerte.Datenart SELECT INSERT in persistente KRStatWerte jede Kategorie C
2051-D089 #KRStatWerte.Wert SELECT INSERT in persistente KRStatWerte jede Kategorie C
2051-D090 #KRStatWerte.Menge SELECT INSERT in persistente KRStatWerte jede Kategorie C
2051-D091 #KRStatWerte.Variante SELECT INSERT in persistente KRStatWerte jede Kategorie C
2051-D092 #KRStatWerte.RefArt SELECT INSERT in persistente KRStatWerte jede Kategorie C
2051-D093 #KRStatWerte.RefID2 SELECT INSERT in persistente KRStatWerte jede Kategorie C
Beziehung Tabelle.Feld Operation Datenfluss / Verwendung Bedingung Beleg
2051-D094 KRKostenstellenBausteine.ID SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D095 KRKostenstellenBausteine.KRKostenStelle SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D096 KRKostenstellenBausteine.Bezeichnung SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D097 KRKostenstellenBausteine.Faktor SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D098 KRKostenTrägerAnteil.KRKostenTräger SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D099 KRKostenTrägerAnteil.KRKostenStellenBaustein SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D100 KRKostenTrägerAnteil.Anteil SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D101 KRKostenTrägerAnteil.Variante SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D102 KRKostenTrägerVarianten.KRKostenTräger SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D103 KRKostenTrägerVarianten.Variante SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D104 KRKostenTrägerVarianten.Bezeichnung SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D105 KRKostenTrägerVarianten.Anteil SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D106 KRKostenArten.ID SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D107 KRKostenArten.Bezeichnung SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D108 KRKostenArten.SeparatAusweisen SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D109 KRKostenstellenObjekte.ID SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D110 KRKostenstellenObjekte.Bezeichnung SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D111 KRKostenstellenObjekte.PepGruppe SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D112 KRKostenstellenObjekte.KRKostenStellenGruppe SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D113 KRKostenstellenGruppen.ID SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D114 KRKostenstellenGruppen.Bezeichnung SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D115 KRKostenKonten.ID SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D116 KRKostenKonten.KRDatenquelle SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D117 KRKostenKonten.KRKostenArt SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D118 KRKostenKontenAnteil.KRKostenKonto SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D119 KRKostenKontenAnteil.KRDatenquelle SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D120 KRKostenKontenAnteil.KRKostenstelle SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D121 KRKostenKontenAnteil.Anteil SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D122 KRKostenstellenObjekteAnteil.KRKostenKonto SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D123 KRKostenstellenObjekteAnteil.KRDatenquelle SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D124 KRKostenstellenObjekteAnteil.KRKostenstellenObjekt SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D125 KRKostenstellenObjekteAnteil.Anteil SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D126 KRKostenTräger.ID SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D127 KRKostenTräger.Bezeichnung SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D128 KRKostenTräger.Einheit SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D129 KRKostenTräger.NichtVerteilen SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D130 KRKostenTräger.KRWarenGruppe SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D131 KRKostenTräger.Skonto SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D132 KRKostenTräger.KRKostenTrägerGruppe SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D133 KRKostenTräger.Rabatt SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D134 KRKostenTräger.KRKostenstellenBaustein SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D135 KRKostenTräger.MatchCode SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D136 KRKostenTräger.Leergut SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D137 KRKostenTräger.Vorlage SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D138 KRKostenTräger.BezeichnungVorlage SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D139 KRKostenTräger.AusVorlage SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D140 KRWarenGruppen.ID SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D141 KRWarenGruppen.Bezeichnung SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D142 KRWarenGruppen.StandardEinheit SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D143 KRWarenGruppen.NichtVerteilen SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D144 KRKostenTrägerGruppen.ID SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW
2051-D145 KRKostenTrägerGruppen.Bezeichnung SELECT Ladeadapter / Formel-, Filter- oder Viewmetadaten; keine Stammspeicherung Erstellen2→Laden→Auswertung/Mengentabelle D,X,VIEW

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.