Benutzer-Werkzeuge

Webseiten-Werkzeuge


schnittstellen:2

Schnittstelle 2: Interner Cleanup

Dokumentiert / statisch geprüft: 2026-10-02. Statisch dokumentiert; Nutzerprüfung offen. Keine Schnittstelle ausgeführt.

Identität und Quellenstand

eProgramm.Cleanup = 2. Aktive feste Registrierung → kein aktiver Delegate (E,P). Registrierung und erreichbare Quellen geprüft; installierte Binärdateien ungeprüft. Active=True, InAutomatik=false, ManuellerAufruf=false, 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.

Einstieg, Parameter und Ablauf

Keine Fachparameter oder Eingangsdateien. cCalcZw.DatenBereinigen ruft ausschließlich dbo.Maintenance_Clean ohne Parameter auf; Standard-SqlCommand-Timeout, nicht SQL_TIMEOUT. Keine anschließende Neuberechnung.

Die SP schließt offene ITZeit/ITORGA/ITPEP/ITSonderurlaub/ITZahlung.bis mit Personen.Austritt; bei fehlendem Austritt bleibt der Wert NULL. BerechneteZeiten außerhalb StartZW/Austritt werden gelöscht. CStatus außerhalb dieser Grenzen wird erst auf 0/Meldung leer gesetzt und dann über OUTPUT deleted.* in CStatus_Sicherung gesichert und gelöscht. Die Sicherung enthält also nicht mehr den ursprünglichen Status/Meldung. Positive Status gültiger inaktiver ITZeit werden zusätzlich auf 0 gesetzt (keine Sicherung dafür).

Pep3Log-Löschung: Datafox/Gantner InfoLevel51 älter sechs Monate, alle Einträge älter18 Monate, Erfolgsinfo51 mit Kurz='Ausführung erfolgreich beendet' älter einen Monat; Dorma älter zwölf Monate. Maßstab SQL-Serverzeit, nicht die Zeit der Eingangsbuchung.

Wiederholung, Schema und Fehler

Kein Append fachlicher Zeiten; UPDATE/DELETE und Append Sicherung. Keine Gesamttransaktion oder automatische Rücknahme; vorangegangene Anweisungen bleiben bei späterem Fehler bestehen. OUTPUT ohne Zielspaltenliste hängt an genauer CStatus-/Sicherungs-Spaltenreihenfolge; DDL0834 belegt die dokumentierten Sicherungsfelder, nicht ein beliebiges Kundenschema. Keine Fixierungsprüfung. Wiederholung arbeitet auf verbleibendem Stand; SQL-Autocommit/Parallelität nicht als Jobschutz verstehen. Helfer fängt SQL-Fehler und liefert False.

Workerbindung

ExecuteTask behandelt Kennung2 ausdrücklich als Spezialfall; fehlender normaler Delegate bedeutet nicht wirkungslos. Interner Cleanup-Task ID-2 wird nur bei CalcZw aktiviert, als Anschluss an Statusfüllen1. Direkter cProgramm.Run wäre dagegen kein gültiger Ersatz für den Workerzweig.

Worker gibt Helfer-Boolean weiter. Automatik schreibt Schnittstellen.LastGet/Erfolg für ihre Task-ID; bei intern negativer ID kann UPDATE ohne passende Tabellenzeile wirkungslos sein. Command-Modus löscht ZwWorkerCommand nach Ausführung auch bei False; daher kein automatischer Wiederholungsvertrag. Diese Workerrahmenwirkung ist nicht Teil der Cleanup-SP.

Einstellungen und gemeinsame Nebenwirkungen

Gemeinsames Profil: LEGACY (interne Referenz).

Keine fachliche ZW-Einstellung im erreichbaren Einstieg nachgewiesen; gemeinsame Meldeeinstellungen nur über die ausdrücklich genannten Profile.

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
2-D001 Personen.PersonID SELECT Zeit-/Austrittsgrenzen Globaler Lauf SQL
2-D002 Personen.StartZW SELECT Zeit-/Austrittsgrenzen Globaler Lauf SQL
2-D003 Personen.Austritt SELECT Zeit-/Austrittsgrenzen Globaler Lauf SQL
2-D004 ITZeit.PersonenStammID SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D005 ITZeit.bis SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D006 ITZeit.bis UPDATE Austritt der passenden Person; bei fehlendem Austritt bleibt NULL bis IS NULL SQL
2-D007 ITORGA.PersonenStammID SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D008 ITORGA.bis SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D009 ITORGA.bis UPDATE Austritt der passenden Person; bei fehlendem Austritt bleibt NULL bis IS NULL SQL
2-D010 ITPEP.PersonenStammID SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D011 ITPEP.bis SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D012 ITPEP.bis UPDATE Austritt der passenden Person; bei fehlendem Austritt bleibt NULL bis IS NULL SQL
2-D013 ITSonderurlaub.PersonenStammID SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D014 ITSonderurlaub.bis SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D015 ITSonderurlaub.bis UPDATE Austritt der passenden Person; bei fehlendem Austritt bleibt NULL bis IS NULL SQL
2-D016 ITZahlung.PersonenStammID SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D017 ITZahlung.bis SELECT Personenjoin und nur offene Historien bis IS NULL SQL
2-D018 ITZahlung.bis UPDATE Austritt der passenden Person; bei fehlendem Austritt bleibt NULL bis IS NULL SQL
2-D019 ITZeit.von SELECT Inaktive gültige Zeitgeschichte setzt positive CStatus zurück IsAktiv=0 SQL
2-D020 ITZeit.bis2 SELECT Inaktive gültige Zeitgeschichte setzt positive CStatus zurück IsAktiv=0 SQL
2-D021 ITZeit.IsAktiv SELECT Inaktive gültige Zeitgeschichte setzt positive CStatus zurück IsAktiv=0 SQL
2-D022 BerechneteZeiten.Person SELECT Vor StartZW oder nach Austritt Datumvergleich SQL
2-D023 BerechneteZeiten.Datum SELECT Vor StartZW oder nach Austritt Datumvergleich SQL
2-D024 BerechneteZeiten.— Zeilen DELETE Zeilen außerhalb Personengrenzen Keine Sicherung SQL
2-D025 CStatus.PersonenStammID SELECT Grenz-/Statusauswahl Global SQL
2-D026 CStatus.Datum SELECT Grenz-/Statusauswahl Global SQL
2-D027 CStatus.CStatus SELECT Grenz-/Statusauswahl Global SQL
2-D028 CStatus.CStatus UPDATE 0 außerhalb Grenzen sowie bei inaktiver ITZeit Grenzdatum oder CStatus>0 SQL
2-D029 CStatus.Meldung UPDATE Leerer Text außerhalb StartZW/Austritt Vor nachfolgendem DELETE SQL
2-D030 CStatus.— Zeilen DELETE Außerhalb Grenzen; OUTPUT deleted.* Nach Reset CStatus/Meldung SQL
2-D031 CStatus.MeldungAus SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D032 CStatus.RahmenPepAus SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D033 CStatus.RahmenOeffnungAus SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D034 CStatus.Meldung SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D035 CStatus.AutoPauseAus SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D036 CStatus.Kommentar SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D037 CStatus.ts SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D038 CStatus.USERID SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D039 CStatus.MaxStundenAus SELECT OUTPUT deleted.* ins Sicherungsobjekt Gelöschte Zeilen; Spaltenreihenfolge relevant SQL,DDL
2-D040 CStatus_Sicherung.Datum INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D041 CStatus_Sicherung.PersonenStammID INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D042 CStatus_Sicherung.CStatus INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D043 CStatus_Sicherung.MeldungAus INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D044 CStatus_Sicherung.RahmenPepAus INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D045 CStatus_Sicherung.RahmenOeffnungAus INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D046 CStatus_Sicherung.Meldung INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D047 CStatus_Sicherung.AutoPauseAus INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D048 CStatus_Sicherung.Kommentar INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D049 CStatus_Sicherung.ts INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D050 CStatus_Sicherung.USERID INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D051 CStatus_Sicherung.MaxStundenAus INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D052 CStatus_Sicherung.tsSicherung INSERT Gelöschter Stand plus GETDATE; CStatus/Meldung bereits zurückgesetzt INSERT ohne Zielspaltenliste muss zur DDL passen SQL,DDL
2-D053 Pep3Log.Modul SELECT Datafox/Gantner/Dorma-Alter und Meldungsart SQL Server GETDATE SQL
2-D054 Pep3Log.Datum SELECT Datafox/Gantner/Dorma-Alter und Meldungsart SQL Server GETDATE SQL
2-D055 Pep3Log.InfoLevel SELECT Datafox/Gantner/Dorma-Alter und Meldungsart SQL Server GETDATE SQL
2-D056 Pep3Log.Kurz SELECT Datafox/Gantner/Dorma-Alter und Meldungsart SQL Server GETDATE SQL
2-D057 Pep3Log.— Zeilen DELETE Datafox/Gantner 6/18 Monate, Erfolgsinfo 1 Monat; Dorma 12 Monate Keine Archivierung dieser Logs SQL

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). Externe Betriebs-/Schemaabweichungen sind nicht durch die statische Analyse ausgeschlossen.

Gemeinsame Nebenwirkungen LEGACY

Block17 ergänzt6001/6002/6003/6004/6005 ausschließlich für direkte Info-/Dialog-/Logmeldungen; keine BASE-Mail/API. Parameter, Auswahl, Return und Fachwirkung jeID.

Block16 ergänzt explizit3031/3032/3041/3042/3060/3500 für die direkten Info-/Logmeldungen. Keine BASE-Vererbung bzw. Mail-/API-Nebenwirkung; Fachdateien/SQL/Returns pro ID prüfen. Keine pauschale Übernahme alter Dateiverträge.

Stand 2026-10-02; statisch geprüft am Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Mitglieder ausschließlich durch expliziten Profilverweis: Block 07, IDs 2000, 2001, 2010, 2020, 3020, 3021, 3030, 3040, 3050, 3070.

Block 13: Profil für 1067,1070,1073 nur bezüglich direkter cInfoTools-Dialog-/Logmeldungen und ihrer zwei Einstellungen wiederverwendet. Deren Datei-/Rückgabe-/Timeout-/Folgeaufrufverträge stehen ausschließlich in den Einzelbeschreibungen; die nachfolgenden Block-07-PFAD-/Return-Aussagen sind keine pauschale Behauptung für diese drei neuen IDs.

Block14 nutzt LEGACY ausschließlich für direkte Info-/Logpfade von 1100,1101,1102,1103,1200,1207,1208,1209,1223. Keine pauschale Übernahme der nachfolgenden Block07-Datei-/Rückgabeverträge; konkrete Unterschiede stehen je ID. 1203 verwendet nur direkten MsgBox-Fehlerpfad und ist kein Mitglied.

Block15 ergänzt ausdrücklich 1224/1225/1226/1320/1360/1400/1401/2021/2023 sowie die Veraltet-Stubs 2028/2029/2032/2046/2047/2048. Nur direkte Info-/Logpfade; konkrete Datei-/Return-/Timeoutverträge stehen je ID. Die sechs Stubs erben als Klasse zwar BASE, instanziieren aber nichts und rufen deren Start/Ende nicht auf. 2022 hat keinen solchen Pfad.

Abgrenzung und Ablauf

Die belegten LEGACY-Einstiege rufen cSchnitt_Basis.Start/Ende nicht auf. Die ursprünglichen Block-07-Klassen erben auch nicht von der Basis; für spätere statische Stubs gilt dagegen nur die fehlende Start-/Ende-Ausführung. Deshalb keine BASE-Mail-/API-/Outboxbeziehungen übernehmen. MAILTO wird zwar von cProgramm angelegt, aber hier nicht ausgewertet; ebenso keine fachliche Auswertung von MANUELL oder SILENT. RunWithDialog setzt MANUELL. Dialogunterdrückung kommt aus Settings.Info.SupressDialogs (Clientkonstruktor False, Worker True), kein belegter ZW-Schlüssel.

Die folgenden Datei-/Return-Aussagen gelten für Block 07, nicht pauschal für spätere Profilmitglieder. PFAD ist FileImport, auch bei den Exporten 2001/3021: vorhandene Datei erforderlich, OpenFileDialog statt SaveFileDialog. Der lokale Registrywert PEP3/PFADESCHNITT/<ID> speichert den zuletzt verwendeten Ordner; dies ist keine serverseitige Systemeinstellung. Fehlender PFAD-Schlüssel ergibt False mit Fehlermeldung. Value.ToString bei Nothing liegt vor dem Fach-Try und kann ungefangen abbrechen. Datei-Existenzprüfung und Startmeldung liegen ebenfalls davor.

Meldungen: ShowProgrammStart/ShowProgrammEndeSuccessDialog mit Level 51, ShowProgrammEndeErrorDialog 102, ShowExceptionDialog 105 → ZeigeInfoEvent, ggf. Dialog, Log. Kein Nachweis über externe Event-Abonnentenwirkungen. Dialog kann unterdrückt sein, Logging bleibt separat. Die acht Ausführen-Funktionen außer 2010/3070 haben keinen abschließenden Return und liefern deshalb Boolean False, auch wenn Daten geändert wurden. 2020/3020 und die beiden Exporte haben zusätzlich im Fachhelfer keinen Return; dort wird bereits Success=False und ein Fehlerdialog gewählt. 2000/3030/3040/3050 können Erfolg melden und dennoch False liefern.

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

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/2.txt · Zuletzt geändert: von codex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki