Benutzer-Werkzeuge

Webseiten-Werkzeuge


schnittstellen:3521

Schnittstelle 3521: WebZerf2 — Benutzer und persönliche Daten veröffentlichen

Dokumentiert / statisch geprüft: 2026-10-02. Teilweise dokumentiert: lokaler Benutzer-/SQL-Datenfluss belegt; cWebData-Ausgabeformat aus externer DLL nicht aufgelöst (Q17); Nutzerprüfung offen. Keine Schnittstelle ausgeführt.

Identität und Quellenstand

eProgramm.ExportWebZerfUser = 3521. Aktive feste Registrierung → cSchnittWebZerf2.Export_User (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 Ablauf

Kein Eingangsfile/PFAD. Multi-Start → ResetDaten → ExportStammJSON → ExportPersonData → Multi-Ende. Reset fehlgeschlagen → beide Exporte entfallen. Nach fehlgeschlagenem Stammexport läuft Datenupload dennoch. Shared Export_User hat keinen normalen Boolean-Return und ignoriert ExportPersonen-Ergebnis → False auch nach Erfolg.

Jede Stufe BASE-Start/Ende, Server-/Dbguard wenn beide Schutzsettings gesetzt, nichtleere Kunde/Key. Synchrone HTTP-Aufrufe am sharedClient mit ersetzten AppKey/Key/Command/User-Agent-Headern. RESET_DATEN per GET /api.php?type=P&art= verlangt AntwortbeginnOK; kann entfernte Daten vor misslungenem Neuaufbau zurücksetzen, Serverwirkung nicht lokal beweisbar. HTTPstatus hier und bei den Uploads nicht ausdrücklich geprüft; OK-Text entscheidet. Keine atomare Gesamtübertragung, keine hier gesetzten SQL_TIMEOUT/HTTPtimeoutwerte (SQLdefault30s).

Benutzervertrag — UPLOAD_USERJ

Personen aktiv=1,AustrittNULL oder>GETDATE,WebZerf2=1. Kein zusätzlicher Eintritt-/InZW-/StartZW-Filter; alte unaufgerufene ExportStamm-Routine nicht als aktuellen Filtervertrag verwenden. Pro Benutzer eine kompakte JSON-Zeile mit PersonID,PinHash,WildCard,Mail und fünf WebZerf_buchung_* Flags (erstellen/listen/edit/manuell/abwesend). PinHash SHA256/UTF8, fester Salt, URL-Base64; keine Roh-PIN/Salt kopiert. Wildcard NzLong,Mail NzStr,Flags NzBoolean. Serializer ignoriertNULL, Flags werden zuvor bereits auf Boolean umgesetzt (kein globaler ZW-Rechtefallback im aktiven JSONpfad).

POST /api.php, UPLOAD_USERJ, text/plain, gzip, UTF-8 ohneBOM. Keine lokale Personen-UPDATE/INSERT-Fachwirkung aus diesem Export.

Persönliche Daten — UPLOAD_USERDATA

Drei SQL-Prozeduren, nurSELECT in lokale Temp-/Ergebnistabellen:

  • webzerf_saldo: aktive, nichtausgetretene WebZerf2-Personen mit WebZerf_info_saldo=1; BerechneteZeiten bisheute → maximalerDatum-Stichtag, SUM(Tagessaldo),SUM(Urlaub). PersonID/Bezeichnung/Wert → SAL-Block.
  • webzerf_planung(@DatVon,@DatBis): Personen mit Pep2-Daten im Zeitraum und ISNULL(WebZerf_info_planung,globaler Webzerf_PlanungListen)=1; Kalendercrossjoin Tage. JeTag MIN(Kommen)/MAX(Gehen), ein einzelner GanzTag-Kennzeichenstatus→Bezeichnung statt Uhrzeiten; sonst HH:mm-HH:mm, ISO-Kalenderwoche als Gruppe. Kein zusätzlicher Aktiv-/WebZerf2-Filter der Personen in dieser SP. Datum(Anzeige)/Planung → PLAN-Tabellen.
  • webzerf_provision_01(@QDatVon,@QDatBis): Client schickt aktuellen Monatsbeginn/heute; SP überschreibt Ende mit Monatsultimo und ergänzt Vormonat. UmsatzVK.VKWert/VKWertNetto jePerson; PepBerechnet-Sollzeit/Feiertags-/Urlaubsabzug, Pep2-Status310/311/320 für Schule/Betriebsrat, gültige ITProvision (Kennzeichen1/3), ITORGA/ITProvisionBereiche, ProdZiel. Ziel bei Kennzeichen1=SUM(Faktor*(Sollzeit+Abzug)*0.8*Produktivitaet), sonst Faktor*32*Produktivitaet; Bruttofaktor1.19 fest. Export nur WebZerf_info_prov=1 und WebZerf2=1, kein Aktiv-/Austrittsfilter. PersonID/Gruppe/Art/Wert → PROV-Tabelle.

cWebData baut personbezogene SAL/PLAN/PROV-Blöcke, Gruppen und Spaltenformate auf. Data.GetData → UTF-8 ohneBOM, gzip, text/plain, POST UPLOAD_USERDATA. Genauer Wire-Formatter nicht im VB-Quellpaket, Projektreferenz SubProjekte/dll/cWebData.dll; Suchumfang Dateiliste+Klassensuche, keine Implementierung gefunden. Keine erfundene JSON-/CSV-Struktur für diesen zweiten Upload. Q17 benötigt Bibliotheksquelltext/Formatvertrag und API-Vertrag.

Befunde und Grenzen

⚠ Remote-Reset vor ungesichertem Ersatz, False-Sharedreturn, unterschiedliche Personenfilter je Nutzdatenblock und Provisionszeitraum bis Monatsende statt bisheute. Null-/mehrfachpassende Historiendaten und konstante Steuer-/Schulregeln fachlich testen. Lokaler SQL-Leserindex unten vollständig für die drei SPs; externe Aufnahme-/Speicherfelder und cWebData-Format unbekannt, nicht als lokale Fach-UPDATEs indizieren.

Einstellungen und gemeinsame Nebenwirkungen

Gemeinsames Profil: BASE (interne Referenz).

Beziehung Schlüssel / Variable Default Einflussweg Wirkung Beleg
3521-S001 TERMINAL_Zerf_Kunde / WebZerf_ZerfKunde leer Clientguard Nichtleer erforderlich; keine Zugangswerte dokumentiert SET,B
3521-S002 TERMINAL_Zerf_Key / WebZerf_ZerfKey leer HTTP X-API-KEY Nichtleer erforderlich; Geheimnis nur als Settingname SET,B
3521-S003 Terminal_ZerfServer / Webzerf_ZerfServer fest codierte URL mit Leerzeichen nach https: HTTP-Basisadresse RESET_DATEN/UPLOAD_USERJ/UPLOAD_USERDATA SET,B
3521-S004 SCHNITT_SEC_Server / SCHNITT_SEC_Server leer Serverguard Servernameprüfung nur wenn Server UND Db nichtleer SET,B
3521-S005 SCHNITT_SEC_Db / SCHNITT_SEC_Db leer DBguard Datenbankprüfung nur mit beiden Schutzsettings SET,B
3521-S006 Webzerf_PlanungVon / Webzerf_PlanungVon 1.m.j cDatumMuster → webzerf_planung Untergrenze Planung SET,B,PLAN
3521-S007 Webzerf_PlanungBis / Webzerf_PlanungBis lt.m+1.j cDatumMuster → webzerf_planung Obergrenze Planung; tatsächlich lt, nicht lt.m-Schreibfehler erfinden SET,B,PLAN
3521-S008 Webzerf_PlanungListen / WebZerf_PlanungListen 0 in Client; SQL NULL→0 GetEinstellungZw(EinstellungenZw.Wert) Fallback für Personen.WebZerf_info_planung beiNULL SET,PLAN,ES

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
3521-D001 Personen.PersonID SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D002 Personen.Pin SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D003 Personen.WebZerf2WildCard SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D004 Personen.Mail SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D005 Personen.WebZerf_buchung_erstellen SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D006 Personen.WebZerf_buchung_listen SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D007 Personen.WebZerf_buchung_edit SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D008 Personen.WebZerf_buchung_manuell SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D009 Personen.WebZerf_buchung_abwesend SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D010 Personen.aktiv SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D011 Personen.Austritt SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D012 Personen.WebZerf2 SELECT Benutzerliste→JSON/PinHash aktiv1,AustrittNULL/zukünftig,WebZerf2=1 B
3521-D013 Personen.PersonID SELECT Saldenfreigabe InfoSaldo1 und aktuelleWebZerf2Person SAL
3521-D014 Personen.aktiv SELECT Saldenfreigabe InfoSaldo1 und aktuelleWebZerf2Person SAL
3521-D015 Personen.Austritt SELECT Saldenfreigabe InfoSaldo1 und aktuelleWebZerf2Person SAL
3521-D016 Personen.WebZerf2 SELECT Saldenfreigabe InfoSaldo1 und aktuelleWebZerf2Person SAL
3521-D017 Personen.WebZerf_info_saldo SELECT Saldenfreigabe InfoSaldo1 und aktuelleWebZerf2Person SAL
3521-D018 BerechneteZeiten.Person SELECT MAXDatum,SUMTagessaldo,SUMUrlaub→SAL Datum⇐GETDATE SAL
3521-D019 BerechneteZeiten.Datum SELECT MAXDatum,SUMTagessaldo,SUMUrlaub→SAL Datum⇐GETDATE SAL
3521-D020 BerechneteZeiten.Tagessaldo SELECT MAXDatum,SUMTagessaldo,SUMUrlaub→SAL Datum⇐GETDATE SAL
3521-D021 BerechneteZeiten.Urlaub SELECT MAXDatum,SUMTagessaldo,SUMUrlaub→SAL Datum⇐GETDATE SAL
3521-D022 Personen.PersonID SELECT Planungsfreigabe, globalerFallback keineAktiv-/WebZerf2-Bedingung PLAN
3521-D023 Personen.WebZerf_info_planung SELECT Planungsfreigabe, globalerFallback keineAktiv-/WebZerf2-Bedingung PLAN
3521-D024 Pep2.Name SELECT Personenzeitraum/Tagesspanne/GanzTagstatus Planungszeitraum PLAN
3521-D025 Pep2.Datum SELECT Personenzeitraum/Tagesspanne/GanzTagstatus Planungszeitraum PLAN
3521-D026 Pep2.Kommen SELECT Personenzeitraum/Tagesspanne/GanzTagstatus Planungszeitraum PLAN
3521-D027 Pep2.Gehen SELECT Personenzeitraum/Tagesspanne/GanzTagstatus Planungszeitraum PLAN
3521-D028 Pep2.Status SELECT Personenzeitraum/Tagesspanne/GanzTagstatus Planungszeitraum PLAN
3521-D029 Tage.Datum SELECT Kalendertage auch ohne Planzeile Planungszeitraum PLAN
3521-D030 Kennzeichen.Kennzeichen SELECT Einzelner Ganztagstatus statt Zeitspanne Pep2.Status match,GanzTag1 PLAN
3521-D031 Kennzeichen.GanzTag SELECT Einzelner Ganztagstatus statt Zeitspanne Pep2.Status match,GanzTag1 PLAN
3521-D032 Kennzeichen.Bezeichnung SELECT Einzelner Ganztagstatus statt Zeitspanne Pep2.Status match,GanzTag1 PLAN
3521-D033 EinstellungenZw.Einstellung SELECT GetEinstellungZw('Webzerf_PlanungListen') Planungsfallback PLAN,ES
3521-D034 EinstellungenZw.Wert SELECT GetEinstellungZw('Webzerf_PlanungListen') Planungsfallback PLAN,ES
3521-D035 UmsatzVK.PersonID SELECT Istumsatz jePerson, Brutto/Netto aktuell ganzerMonat plusVormonat PROV
3521-D036 UmsatzVK.Datum SELECT Istumsatz jePerson, Brutto/Netto aktuell ganzerMonat plusVormonat PROV
3521-D037 UmsatzVK.VKWert SELECT Istumsatz jePerson, Brutto/Netto aktuell ganzerMonat plusVormonat PROV
3521-D038 UmsatzVK.VKWertNetto SELECT Istumsatz jePerson, Brutto/Netto aktuell ganzerMonat plusVormonat PROV
3521-D039 PepBerechnet.PersonID SELECT Zielumsatz/Sollzeit und Abzüge Monats-/gültigeHistorien PROV
3521-D040 PepBerechnet.Datum SELECT Zielumsatz/Sollzeit und Abzüge Monats-/gültigeHistorien PROV
3521-D041 PepBerechnet.Sollzeit SELECT Zielumsatz/Sollzeit und Abzüge Monats-/gültigeHistorien PROV
3521-D042 PepBerechnet.GutschriftFeiertag SELECT Zielumsatz/Sollzeit und Abzüge Monats-/gültigeHistorien PROV
3521-D043 PepBerechnet.GutschriftUrlaub SELECT Zielumsatz/Sollzeit und Abzüge Monats-/gültigeHistorien PROV
3521-D044 PepBerechnet.Urlaub SELECT Zielumsatz/Sollzeit und Abzüge Monats-/gültigeHistorien PROV
3521-D045 Pep2.Name SELECT 310SchuleZeit,311SchuleSoll,320BetriebsratZeit person-/taggleich PROV
3521-D046 Pep2.Datum SELECT 310SchuleZeit,311SchuleSoll,320BetriebsratZeit person-/taggleich PROV
3521-D047 Pep2.Status SELECT 310SchuleZeit,311SchuleSoll,320BetriebsratZeit person-/taggleich PROV
3521-D048 Pep2.Kommen SELECT 310SchuleZeit,311SchuleSoll,320BetriebsratZeit person-/taggleich PROV
3521-D049 Pep2.Gehen SELECT 310SchuleZeit,311SchuleSoll,320BetriebsratZeit person-/taggleich PROV
3521-D050 ITProvision.PersonenStammID SELECT Provisionsart1/3 gültigeHistorie PROV
3521-D051 ITProvision.von SELECT Provisionsart1/3 gültigeHistorie PROV
3521-D052 ITProvision.bis2 SELECT Provisionsart1/3 gültigeHistorie PROV
3521-D053 ITProvision.Kennzeichen SELECT Provisionsart1/3 gültigeHistorie PROV
3521-D054 ITORGA.PersonenStammID SELECT FallbackZielgruppe gültigeHistorie PROV
3521-D055 ITORGA.von SELECT FallbackZielgruppe gültigeHistorie PROV
3521-D056 ITORGA.bis2 SELECT FallbackZielgruppe gültigeHistorie PROV
3521-D057 ITORGA.Abteilung SELECT FallbackZielgruppe gültigeHistorie PROV
3521-D058 ITProvisionBereiche.PersonID SELECT Gruppen-/Faktoroverride gültigeHistorie PROV
3521-D059 ITProvisionBereiche.von SELECT Gruppen-/Faktoroverride gültigeHistorie PROV
3521-D060 ITProvisionBereiche.bis2 SELECT Gruppen-/Faktoroverride gültigeHistorie PROV
3521-D061 ITProvisionBereiche.PepGruppe SELECT Gruppen-/Faktoroverride gültigeHistorie PROV
3521-D062 ITProvisionBereiche.Faktor SELECT Gruppen-/Faktoroverride gültigeHistorie PROV
3521-D063 ProdZiel.PepGruppenID SELECT Gruppenproduktivität fürZiel gültigeHistorie PROV
3521-D064 ProdZiel.von SELECT Gruppenproduktivität fürZiel gültigeHistorie PROV
3521-D065 ProdZiel.bis2 SELECT Gruppenproduktivität fürZiel gültigeHistorie PROV
3521-D066 ProdZiel.Produktivitaet SELECT Gruppenproduktivität fürZiel gültigeHistorie PROV
3521-D067 Personen.PersonID SELECT Provisionsausgabe freigegeben beide1,keinAktivfilter PROV
3521-D068 Personen.WebZerf_info_prov SELECT Provisionsausgabe freigegeben beide1,keinAktivfilter PROV
3521-D069 Personen.WebZerf2 SELECT Provisionsausgabe freigegeben beide1,keinAktivfilter PROV

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). Nicht indizierte Folgefelder einer Teilanalyse sind unbekannt, nicht wirkungslos.

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

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
schnittstellen/3521.txt · Zuletzt geändert: von codex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki