Inhaltsverzeichnis
1320 — Generische Zeitereignisse (Satzart2005)
Dokumentation ins Wiki übernommen am 02.10.2026. Das ist keine Laufzeitabnahme.
Technische Referenz zum aktiven Programm eProgramm.ImpZeitereignisseBase. Sie beschreibt Eingänge, tatsächliche Schreibwirkung und Grenzen am genannten Quellenstand. Erreichbarer Aufruf statisch dokumentiert, nicht zur Laufzeit abgenommen.
Wichtig: ⚠ fehlender Return / nicht atomarer Ereignisersatz. Prüfe vor einem späteren Test die beschriebenen Fälle.
Aufruf und Parameter
Delegate: cSchnittZeitereignisse.Ausführen. Active=True, Automatik=false, ManuellerAufruf=true, NurAufServer=false. Registrierung/Defaults, keine bestätigten Jobs. Run prüft die Serverbindung nicht selbst.
| Parameter | Dialogtyp | Fester Wert | DefaultValue |
|---|---|---|---|
| PFAD | FileImport | nicht fest | nicht gesetzt |
MAILTO und der von RunWithDialog gesetzte MANUELL-Schlüssel sind Registrierung/Dialogzustand, keine ZW-Einstellung. Eine Auswertung durch die Basis ist nur bei ausdrücklich belegtem BASE-Pfad anzunehmen.
Ein-/Ausgänge und Dateivertrag
PFAD FileImport, Datei erforderlich; Value.ToString vor Try. Encoding.Default, Semikolon, Trim=True, Quotes=True, kein Headerüberspringen. Aktive Satzart 2005, nicht Programm-ID1320. Andere Satzarten ignoriert; keine Feldzahlprüfung.
| Position ab1 | Inhalt | Konvertierung |
|---|---|---|
| 1 | Satzart2005 | exakter Textmatch |
| 2 | PersonID | StrToLng, leer/ungültig→0 |
| 3 | Datum mit Uhrzeit | StrToDate, leer/ungültig→31.12.2099 |
| 4 | Terminal | Long, Fallback0 |
| 5 | Kennzeichen | Long, Fallback0 |
| 6 | Kennung | varchar1-Parameter |
| 7 | Filiale | Long, Fallback0 |
Mindestens7 Felder im2005-Pfad; zusätzliche ignoriert. Keine Transponderauflösung/Terminal-/Filialmapping: direkte IDs aus Datei.
SQL und Schreibverhalten
Je Satz Inline-Batch: DELETE Zeitereignisse nach PersonID/exaktem Datum/Kennung ohne Terminal/Filiale/Kennzeichenfilter; dann INSERT PersonID,Datum,Terminal,Kennzeichen,Kennung,Filiale,ts=GETDATE,USERID=-2. Danach CStatus nur für dieselbe Person/Tag und aktives gültiges ITZeit bei CStatus⇐0 auf1,ts=GETDATE. Keine SP/Calc/Archivierung, SQL30s, keine Transaktion. FK auf Personen/Filialen können ungültige Ersatzwerte verhindern; alte passende Ereignisse können bereits gelöscht sein.
Catch um ganze Dateischleife setzt bolFehler, ohne Exceptiondetail; Parser-Fehler kann Restdatei abbrechen. Import liefert Not bolFehler. 1320-F01: registriertes Ausführen hat keinen abschließenden Return und liefertBooleanFalse auch nach Erfolgsmeldung. Wiederholung ersetzt Zeilen statt append-only; atomarer Ersatz nicht zugesichert. Synthetische Dateiprüfung Q15.
Direkte Einstellungen
Keine direkte fachliche ZW-Einstellung in diesem Einstiegsteil nachgewiesen; Einstellungen der belegten gemeinsamen Pfade folgen unten.
Direkte Feldbeziehungen
| Beziehung | Tabelle.Feld | Operation | Datenfluss / Verwendung | Bedingung | Beleg |
|---|---|---|---|---|---|
| 1320-D001 | Zeitereignisse.PersonID | SELECT | DELETE-Match, unabhängig von Terminal/Filiale/Kennzeichen | Satz2005 | B |
| 1320-D002 | Zeitereignisse.Datum | SELECT | DELETE-Match, unabhängig von Terminal/Filiale/Kennzeichen | Satz2005 | B |
| 1320-D003 | Zeitereignisse.Kennung | SELECT | DELETE-Match, unabhängig von Terminal/Filiale/Kennzeichen | Satz2005 | B |
| 1320-D004 | Zeitereignisse.— Zeilen | DELETE | Alle Ereignisse des Person/Datum/Kennung-Schlüssels | Vor Ersatz-INSERT, keine Transaktion | B |
| 1320-D005 | Zeitereignisse.PersonID | INSERT | Dateifelder2–7 | Satz2005 | B |
| 1320-D006 | Zeitereignisse.Datum | INSERT | Dateifelder2–7 | Satz2005 | B |
| 1320-D007 | Zeitereignisse.Terminal | INSERT | Dateifelder2–7 | Satz2005 | B |
| 1320-D008 | Zeitereignisse.Kennzeichen | INSERT | Dateifelder2–7 | Satz2005 | B |
| 1320-D009 | Zeitereignisse.Kennung | INSERT | Dateifelder2–7 | Satz2005 | B |
| 1320-D010 | Zeitereignisse.Filiale | INSERT | Dateifelder2–7 | Satz2005 | B |
| 1320-D011 | Zeitereignisse.ts | INSERT | GETDATE und -2 | Satz2005 | B |
| 1320-D012 | Zeitereignisse.USERID | INSERT | GETDATE und -2 | Satz2005 | B |
| 1320-D013 | CStatus.PersonenStammID | SELECT | Person-/Tagfilter,CStatus⇐0 | Gültiges aktives ITZeit | B |
| 1320-D014 | CStatus.Datum | SELECT | Person-/Tagfilter,CStatus⇐0 | Gültiges aktives ITZeit | B |
| 1320-D015 | CStatus.CStatus | SELECT | Person-/Tagfilter,CStatus⇐0 | Gültiges aktives ITZeit | B |
| 1320-D016 | ITZeit.PersonenStammID | SELECT | CStatus-Gültigkeit | Tag der importierten Person | B |
| 1320-D017 | ITZeit.von | SELECT | CStatus-Gültigkeit | Tag der importierten Person | B |
| 1320-D018 | ITZeit.bis2 | SELECT | CStatus-Gültigkeit | Tag der importierten Person | B |
| 1320-D019 | ITZeit.IsAktiv | SELECT | CStatus-Gültigkeit | Tag der importierten Person | B |
| 1320-D020 | CStatus.CStatus | UPDATE | 1/GETDATE | Nur vorhandene passende Statuszeilen | B |
| 1320-D021 | CStatus.ts | UPDATE | 1/GETDATE | Nur vorhandene passende Statuszeilen | B |
| 1320-D022 | Personen.PersonID | CONSTRAINT | FK verlangt vorhandene Person, kein Anwendungs-SELECT | INSERT | U90 |
| 1320-D023 | Filialen.FilialID | CONSTRAINT | FK verlangt vorhandene Filiale, kein Mapping | INSERT | U90 |
Direkte Rückmeldung und Logging (LEGACY)
Nur Info-/Logmeldungen, kein BASE-Start/Ende und keine daraus abgeleitete Mail/API. Dialoge hängen von SupressDialogs ab. Benutzerzuordnung über fnUserId/tblUser. Logging ist nicht mit dem Fachimport atomar; Defaults sind keine Livewerte.
Einstellungen
| Beziehung | Schlüssel / Variable | Default | Einfluss | Wirkung | Beleg |
|---|---|---|---|---|---|
| LEGACY-S001 | GLOBAL_LOGLEVEL / GLOBAL_LOGLEVEL | 50 | Init → Info.LogLevel | Meldung ab einschließlich Grenzwert in Datei/DB; verändert keine Fachdaten | LEGACY:SET, LEGACY:INIT, LEGACY:INFO |
| LEGACY-S002 | GLOBAL_LOGLEVELEVLOG / GLOBAL_LOGLEVELEVENTLOG | 0 | Init → Info.LogLevelEvLog | Windows-Ereignisprotokoll nur bei Level > Grenze, Grenze > 0 und Level < 200 | LEGACY:SET, LEGACY:INIT, LEGACY:INFO |
Beide gezeigten Settings-Konstruktoren setzen AlwaysToFile=True. Oberhalb LogLevel werden Datei UND DB versucht; bei False nur DB, Datei als Fehlerfallback. Datei unter ApplicationData/PEP/LogFiles/yyyyMMdd_peplog.txt (Append). DB-Fehler werden als False abgefangen, verhindern nicht zwingend den Import. EventLog-Fehler werden geschluckt. Direkte Fachcommands des Block 07 setzen kein Timeout; SQL_TIMEOUT ist in diesen zehn Pfaden nicht gelesen. Keine zusätzliche fachliche ZW-Einstellung nachgewiesen, auch nicht in spCalcUmsatzPlan.
Datenbeziehungen
DB-Rolle PEP4-Anmeldedatenbank. Log schreibt über eigene Verbindung; nicht atomar mit Fachoperationen. fnUserId liest minimalen UserID zum rechten 25-Zeichen-Teil von SUSER_NAME(), sonst 0.
| Beziehung | Tabelle.Feld | Operation | Datenfluss / Verwendung | Bedingung | Beleg |
|---|---|---|---|---|---|
| LEGACY-D001 | Pep3Log.UserID | INSERT | dbo.fnUserId() | Meldungslevel erreicht DB-Log | LEGACY:INFO, LEGACY:FN |
| LEGACY-D002 | Pep3Log.Datum | INSERT | getdate() | Meldungslevel erreicht DB-Log | LEGACY:INFO |
| LEGACY-D003 | Pep3Log.Kurz | INSERT | Kurztext, maximal 255 Zeichen | Meldungslevel erreicht DB-Log | LEGACY:INFO |
| LEGACY-D004 | Pep3Log.LogText | INSERT | Detailtext einschließlich Pfad/ggf. Exception | Meldungslevel erreicht DB-Log | LEGACY:INFO |
| LEGACY-D005 | Pep3Log.Modul | INSERT | Modulbezeichnung, maximal 50 Zeichen | Meldungslevel erreicht DB-Log | LEGACY:INFO |
| LEGACY-D006 | Pep3Log.InfoLevel | INSERT | 51, 102 oder 105 je Meldung | Meldungslevel erreicht DB-Log | LEGACY:INFO |
| LEGACY-D007 | tblUser.Name | SELECT | Abgleich RIGHT(SUSER_NAME(),25) | fnUserId bei Log-INSERT | LEGACY:FN |
| LEGACY-D008 | tblUser.UserID | SELECT | MIN(UserID), fehlend → 0 | fnUserId bei Log-INSERT | LEGACY:FN |
Quellen und Prüfstand
Geprüft am02.10.2026 gegen master, Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Kein aktueller Installations-/Live-Schema-/DLL-/Jobabgleich. Aprocon bezeichnet die externe Datenbankrolle, keinen bestätigten Schemanamen. Defaults/Computed-Spalten sind gesonderte Schemawirkung. Q02:Installationsgrenze; Q11:offene Motoranalyse; Q13/Q15:Liefer-/Einheiten-/Ersatzverträge.
| Kürzel | Quelldatei am Commit |
|---|---|
| E | PEP4/ZW/Allgemein.vb |
| P, LEGACY:P | PEP4/cSchnittstellen/Programme/cProgramme.vb |
| PRJ | PEP4/cSchnittstellen/cSchnittstellen.vbproj |
| B | PEP4/cSchnittstellen/Programme/Schnittstellen/Generic/cSchnittZeitereignisse.vb |
| F | PEP4/cSchnittstellen/allgemein.vb |
| U89 | Sqlfiles/PEP4Update/update_0089.sql |
| U90 | Sqlfiles/PEP4Update/update_0090.sql |
| LEGACY:INFO | PEP4/cTools/cInfoTools.vb |
| LEGACY:INIT | PEP4/ZW/Einstellungen/cSetting.vb |
| LEGACY:SET | PEP4/ZW/Einstellungen/cEinstellungenZw.vb |
| LEGACY:FN | Sqlfiles/PEP4Functions/fnUserId.sql |
Siehe auch: Übersicht der Schnittstellen. Keine Ausführung oder Fehlerkorrektur.