====== 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. ^ Kürzel ^ Quelldatei am Commit ^ | E | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/ZW/Allgemein.vb|PEP4/ZW/Allgemein.vb]] | | P, LEGACY:P | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cSchnittstellen/Programme/cProgramme.vb|PEP4/cSchnittstellen/Programme/cProgramme.vb]] | | PRJ | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cSchnittstellen/cSchnittstellen.vbproj|PEP4/cSchnittstellen/cSchnittstellen.vbproj]] | | B | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cSchnittstellen/Programme/Schnittstellen/Generic/cSchnittKontigente.vb|PEP4/cSchnittstellen/Programme/Schnittstellen/Generic/cSchnittKontigente.vb]] | | F | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cSchnittstellen/allgemein.vb|PEP4/cSchnittstellen/allgemein.vb]] | | U89 | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/Sqlfiles/PEP4Update/update_0089.sql|Sqlfiles/PEP4Update/update_0089.sql]] | | U90 | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/Sqlfiles/PEP4Update/update_0090.sql|Sqlfiles/PEP4Update/update_0090.sql]] | | U100 | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/Sqlfiles/PEP4Update/update_0100.sql|Sqlfiles/PEP4Update/update_0100.sql]] | | U743 | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/Sqlfiles/PEP4Update/update_0743.sql|Sqlfiles/PEP4Update/update_0743.sql]] | | LEGACY:INFO | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/cTools/cInfoTools.vb|PEP4/cTools/cInfoTools.vb]] | | LEGACY:INIT | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/ZW/Einstellungen/cSetting.vb|PEP4/ZW/Einstellungen/cSetting.vb]] | | LEGACY:SET | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/PEP4/ZW/Einstellungen/cEinstellungenZw.vb|PEP4/ZW/Einstellungen/cEinstellungenZw.vb]] | | LEGACY:FN | [[https://github.com/seegerstefan/pep4desktop/blob/f1d82a003b62f2658f06eaa943dc685ab219bdf3/Sqlfiles/PEP4Functions/fnUserId.sql|Sqlfiles/PEP4Functions/fnUserId.sql]] | Siehe auch: [[schnittstellen:schnittstellen|Übersicht der Schnittstellen]]. Keine Ausführung oder Fehlerkorrektur.