Dokumentation ins Wiki übernommen am 02.10.2026. Das ist keine Laufzeitabnahme.
Technische Referenz zum aktiven Programm eProgramm.ImpZeitbuchungen. Sie beschreibt Eingänge, tatsächliche Schreibwirkung und Grenzen am genannten Quellenstand. Erreichbarer Aufruf statisch dokumentiert, nicht zur Laufzeit abgenommen.
Wichtig: ⚠ fehlender Return / Löschen aller Korrekturvarianten. Prüfe vor einem späteren Test die beschriebenen Fälle.
Delegate: cSchnittZeitbuchungen.Ausführen. Active=True, Automatik=true, 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.
PFAD FileImport, vorhandene Datei. TextFieldParser ohne Encodingargument (DefaultUTF8/BOM), Semikolon, Trim=True, Quotes=True. Parser wird zweimal erzeugt, erste Instanz nicht ordentlich entsorgt. Keine Kopfzeilen-/Feldzahlprüfung.
| Position ab1 | Inhalt | Typ / Fallback |
|---|---|---|
| 1 | 1401=Anfügen,1402=Löschen | Satzarten, nicht Programmkennungen |
| 2 | PersonID | Long/0 |
| 3 | Kommen | Datumzeit/0 |
| 4 | Gehen | Datumzeit/0 |
| 5 | Kennzeichen | Long/0 |
| 6 | Korrektur, nur1401 | Double/0 |
Datum-Fallback0 ist alsObject in datetime-Parameter gegeben; erfolgreiche Konvertierung nicht zugesichert. Kulturabhängige IsDate/IsNumeric-Parser(F).1401 braucht6,1402 fünf Felder; unbekannte Satzarten ignoriert.
1401 IF COUNT auf Person/Kommen/Gehen/Kennzeichen/Korrektur=0→INSERT dieser fünf Felder. Unterschiedliche Korrekturen sind damit neue Zeilen, keine Aktualisierung.1402 DELETE nach Person/Kommen/Gehen/Kennzeichen ohne Korrektur, löscht alle passenden Korrekturvarianten. Keine eigene Transaktion/SP/Statusmarkierung/Calc/Archivierung; SQL30s.
Arbeitszeiten.ID Identity; Manuell default1,Zeitereignisse0,Korrektur0,weitere Defaults lautSchema(U89/U99), nicht explizit als Anwendungsänderung gesetzt. FK aufPersonen undKennzeichen verlangt vorhandene IDs(U90); Filiale wird nicht gesetzt.
SQL-Zeilenfehler werden geloggt und spätere Zeilen verarbeitet; Felderzugriff/Konvertierung undReadFields außerhalb SQL-Try können Restdatei abbrechen. LOG/yyyyMMdd_HHmmss_ImportSchnitt_ZeitbuchungenCSV.log; beiFehler zusätzlich monatliches Fehler.log über cFehlerLog, kein Fach-DB-Log daraus. 1400-F01: äußeres Ausführen ohneReturn→False trotz möglicher Erfolgsmeldung. Import selbst liefertresult. Wiederholungsschutz COUNT/INSERT nicht atomar; keine Berechnungsmeldung aus Direktimport ableiten. Liefer-/EinheitenfragenQ15.
Keine direkte fachliche ZW-Einstellung in diesem Einstiegsteil nachgewiesen; Einstellungen der belegten gemeinsamen Pfade folgen unten.
| Beziehung | Tabelle.Feld | Operation | Datenfluss / Verwendung | Bedingung | Beleg |
|---|---|---|---|---|---|
| 1400-D001 | Arbeitszeiten.Person | SELECT | COUNT-Match für1401, Korrektur Teil des Matches | Satz1401 | B |
| 1400-D002 | Arbeitszeiten.Kommen | SELECT | COUNT-Match für1401, Korrektur Teil des Matches | Satz1401 | B |
| 1400-D003 | Arbeitszeiten.Gehen | SELECT | COUNT-Match für1401, Korrektur Teil des Matches | Satz1401 | B |
| 1400-D004 | Arbeitszeiten.Kennzeichen | SELECT | COUNT-Match für1401, Korrektur Teil des Matches | Satz1401 | B |
| 1400-D005 | Arbeitszeiten.Korrektur | SELECT | COUNT-Match für1401, Korrektur Teil des Matches | Satz1401 | B |
| 1400-D006 | Arbeitszeiten.Person | INSERT | Dateifelder2–6 bei fehlendem exaktem Match | Satz1401 | B |
| 1400-D007 | Arbeitszeiten.Kommen | INSERT | Dateifelder2–6 bei fehlendem exaktem Match | Satz1401 | B |
| 1400-D008 | Arbeitszeiten.Gehen | INSERT | Dateifelder2–6 bei fehlendem exaktem Match | Satz1401 | B |
| 1400-D009 | Arbeitszeiten.Kennzeichen | INSERT | Dateifelder2–6 bei fehlendem exaktem Match | Satz1401 | B |
| 1400-D010 | Arbeitszeiten.Korrektur | INSERT | Dateifelder2–6 bei fehlendem exaktem Match | Satz1401 | B |
| 1400-D011 | Arbeitszeiten.— Zeilen | DELETE | Person/Kommen/Gehen/Kennzeichen, alle Korrekturvarianten | Satz1402 | B |
| 1400-D012 | Personen.PersonID | CONSTRAINT | Personen-FK, keine Anlage | Arbeitszeiten-INSERT | U90 |
| 1400-D013 | Kennzeichen.Kennzeichen | CONSTRAINT | Kennzeichen-FK, keine Anlage | Arbeitszeiten-INSERT | U90 |
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.
| 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.
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 |
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/cSchnittZeitbuchungen.vb |
| F | PEP4/cSchnittstellen/allgemein.vb |
| U89 | Sqlfiles/PEP4Update/update_0089.sql |
| U90 | Sqlfiles/PEP4Update/update_0090.sql |
| LOG | PEP4/ZW/cFehlerLog.vb |
| U99 | Sqlfiles/PEP4Update/update_0099.sql |
| U404 | Sqlfiles/PEP4Update/update_0404.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.