Inhaltsverzeichnis

1360 — Urlaubs- und FS-Ansprüche aus Satzdatei

Dokumentation ins Wiki übernommen am 02.10.2026. Das ist keine Laufzeitabnahme.

Technische Referenz zum aktiven Programm eProgramm.ImpKontingente. Sie beschreibt Eingänge, tatsächliche Schreibwirkung und Grenzen am genannten Quellenstand. Erreichbarer Aufruf statisch dokumentiert, nicht zur Laufzeit abgenommen.

Wichtig: ⚠ entfernte Jahr-Spalte / geschluckte Zeilenfehler. Prüfe vor einem späteren Test die beschriebenen Fälle.

Aufruf und Parameter

Delegate: cSchnittKontigente.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. Encoding.Default, Semikolon, Trim=True, Quotes=True; kein Headerüberspringen/keine Feldzahlprüfung. Mindestens6 Felder je aktivem Satz; Werte direkt in SQL-Parameter, ohne StrTo-Fallback.

Position ab1 Inhalt Verwendung
1 2010 oder2020 Urlaub bzw.FS; keine Programm-IDs
2 Person bigint
3 Jahr bigint
4 Art bigint
5 Anspruch float; Einheit vom Liefervertrag bestätigen
6 Kommentar varchar50

SQL, Schemawiderspruch und Rückgabe

2010 versucht DELETE Urlaubsanspruch nach Person/Jahr/Art und INSERT Jahr,Person,Anspruch,Art,Kommentar. 1360-F01: U743 entfernt Jahr und verlangt GültigVon im neuen Schlüssel(Person,Art,GültigVon); der aktive2010-Batch ist gegen diesen migrierten Stand nicht ausführbar. Keine tatsächliche Urlaub-Neubefüllung behaupten.

2020 ersetzt FSAnspruch nach Person/Jahr/Art per DELETE→INSERT. Kein UPDATE/Calc/Archiv/SP, SQL30s, keine Transaktion. Nicht gesetzte ts/UserID aus Schema-Defaults(U100, spätere UserID-Migration), Personen-FK(U90); keine eigenen Personenanlage. Neue IDs/Defaults nicht als explizite Dateifelder darstellen.

Jeder Zeilenfehler wird leer geschluckt und die nächste Zeile verarbeitet. Import alsBoolean ohneReturn→False; äußeres Ausführen meldet dadurch Fehler und hat ebenfalls keinenReturn→False. Vollständiger Fehlstatus/Zeilendetails fehlen; bei historischer DB können Teile trotzFalse geschrieben sein. ParserReadFields außerhalb Zeilen-Try kann den Lauf abbrechen. Aktuelles installierter Schema-/Liefervertrag Q02/Q15 zuerst isoliert prüfen.

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
1360-D001 Urlaubsanspruch.Person Versuch SELECT Historischer DELETE-Schlüssel, Jahr seitU743 entfernt Satz2010; nur kompatibles Alt-/Sonderschema B,U743
1360-D002 Urlaubsanspruch.Jahr Versuch SELECT Historischer DELETE-Schlüssel, Jahr seitU743 entfernt Satz2010; nur kompatibles Alt-/Sonderschema B,U743
1360-D003 Urlaubsanspruch.Art Versuch SELECT Historischer DELETE-Schlüssel, Jahr seitU743 entfernt Satz2010; nur kompatibles Alt-/Sonderschema B,U743
1360-D004 Urlaubsanspruch.— Zeilen Versuch DELETE Historische Person/Jahr/Art-Ersetzung Satz2010; aktueller Batch nicht ausführbar B,U743
1360-D005 Urlaubsanspruch.Jahr Versuch INSERT Dateifelder; fehlendes GültigVon im neuen Schema Nur kompatibles Alt-/Sonderschema B,U743
1360-D006 Urlaubsanspruch.Person Versuch INSERT Dateifelder; fehlendes GültigVon im neuen Schema Nur kompatibles Alt-/Sonderschema B,U743
1360-D007 Urlaubsanspruch.Anspruch Versuch INSERT Dateifelder; fehlendes GültigVon im neuen Schema Nur kompatibles Alt-/Sonderschema B,U743
1360-D008 Urlaubsanspruch.Art Versuch INSERT Dateifelder; fehlendes GültigVon im neuen Schema Nur kompatibles Alt-/Sonderschema B,U743
1360-D009 Urlaubsanspruch.Kommentar Versuch INSERT Dateifelder; fehlendes GültigVon im neuen Schema Nur kompatibles Alt-/Sonderschema B,U743
1360-D010 FSAnspruch.Person SELECT DELETE-Match Satz2020 B
1360-D011 FSAnspruch.Jahr SELECT DELETE-Match Satz2020 B
1360-D012 FSAnspruch.Art SELECT DELETE-Match Satz2020 B
1360-D013 FSAnspruch.— Zeilen DELETE Person/Jahr/Art-Ersetzung Vor INSERT B
1360-D014 FSAnspruch.Jahr INSERT Dateifelder2–6 Satz2020 B
1360-D015 FSAnspruch.Person INSERT Dateifelder2–6 Satz2020 B
1360-D016 FSAnspruch.Anspruch INSERT Dateifelder2–6 Satz2020 B
1360-D017 FSAnspruch.Art INSERT Dateifelder2–6 Satz2020 B
1360-D018 FSAnspruch.Kommentar INSERT Dateifelder2–6 Satz2020 B
1360-D019 Personen.PersonID CONSTRAINT FS-/Urlaub-Personen-FK; vorhandene Person nötig Nur tatsächlich ausgeführter INSERT U90,U743

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.

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