Benutzer-Werkzeuge

Webseiten-Werkzeuge


schnittstellen:7002

Schnittstelle 7002: Datafox-Stammdaten, Salden und weitere Listen übertragen

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

Identität und Quellenstand

eProgramm.TerminalStammdatenDatafox = 7002. Aktive feste Registrierung → cSchnittDatafox.StammdatenDelegate (E,P). Registrierung und erreichbare Quellen geprüft; installierte Binärdateien ungeprüft. Active=True, InAutomatik=true, 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.

Parameter, Terminalwahl und Verbindung

ID (NumberLong) hat Registrierung.DefaultValue=-1, der Delegate liest aber nur Value und ruft keinen Defaultauflöser auf. Fehlender/nichtnumerischer/nicht gefüllter Value bleibt daher0, nicht automatisch -1. ID=-1→Uhren.Art1/Auto1, konkrete ID→auch nichtAuto; keine weiteren Fachdateiparameter.

Adresse ohne ';'→Bus254,ComTyp3,ComStringAdresse,ComValue8000,Timeout5000. Erweiterte Adresse 'Bus;ComTyp;ComString;ComValue;Timeout'; weniger5 Teile lässt Objekt uninitialisiert, Konvertierungsfehler können abbrechen. Immer DFCom-Verbindung1; Parallelaufrufe teilen die Kanalnummer. Anwendungsordner und relative Datafox-Pfade nicht pauschal identisch setzen. Direktes LEGACY-Logging, keine BASE-Mail/API.

Native Deklarationen benutzen DFComDll/x86-dekorierte Exporte; x64-Varianten im Code auskommentiert. Installierte DLL/Gerätetyp/Firmware/Setup nicht geprüft. Herstellerreferenz: lokale DFCom-Unterlage04.03.23, entsprechende API-HTML. Keine Gerätebefehle ausgeführt.

Auswahl der Ausgaben

Je Aktivierung werden Stamm, Salden, Anwesenheit, Nachrichten und Tätigkeiten vorbereitet. Stamm-/Saldo-/Anwesenheitexport schreibt zunächst Dateien für sämtliche passende Art1-Uhren, nicht nur die ausgewählte ID. Erst Upload ist auf die aktuelle Terminalwahl begrenzt. Kein fachlicher DB-Import, keine Neuberechnung.

PersonenTerminal(@Filiale): jetzt gültige ITORGA und Transponder/Transponder2>'0' oder FP1>'0', Namen/Ausweise/Fehlerflag. Keine Personaktiv-/Eintritt-/ITZeitfilter dieser UDF. Beide Ausweisfelder werden exportiert, unabhängig Terminal_UseTransponder2 (hier nicht gelesen).

SaldenTerminalFiliale oder …Pep: ITZeit mit 28 Tagen Vorlauf, SaldoTerminal<>0 und Filialzugehörigkeit bzw. SaldoTerminal2. Quelle<>0 akzeptiert zusätzlich ITPEP/PepGruppen-Filiale, verlangt Transponderlänge>4. Gesamtsaldo = frühere TagesSaldo bei LaufenderSaldo1 + Personen.KorrekturSaldo; Urlaub = Ansprüche Jahre⇐jetzt minus Verbrauch; FS aktuellesJahr; Angerechnet/Anwesend ab DatumSaldo/Terminal_DatumAb bis heute. Keine Berechnung, nur vorhandene Daten verdichten. Saldenquelle0 liefert AnwesendCutKZNetto, andereQuelle Anwesend.

Dateiformate

Anwendungsordner/Datafox, Encoding.Default und Tab getrennt, keine Quotes/Escapes:

  • PersonalstammPZE_ID.txt: Transponder + Name links20, bei Fehler links18+' *'. Vorher löschen, bei leerem Resultat keine Datei.
  • Salden_ID.txt (vorher löschen) oder Append an Personalstammdatei: pro Ausweis/gewähltem Bit eine Textzeile: 'S: Stunden0.00', 'S: Angerechnet0.00', 'U: Urlaub0.0', 'FS: FSganzzahlig', 'A: NzLong(Anwesend)0.00', 'Fehler: kulturabhängigesDatum'. Zwei Ausweisfelder, aber Fehlerliste nur erstes.
  • Anwesenheit_ID.txt: Transponder + 1/0 gemäß DF_Anwesenheit (letzte24h/Now+10min, nurK=anwesend).
  • Relative Tätigkeit.txt: ID achtstellig + Bezeichnung links20; Ersatz '00000000'+Tab+'DUMMY'. SQL-IN-Liste aus Uhren.Kostenstellen durch Semikolon→Komma, nicht parameterisiert.
  • Nachrichten.txt wird durch ExportNachrichten nur gelöscht, nicht neu erzeugt. Kein aktiver Nachrichtenliefervertrag.

TransponderTrim/Length gelten wie oben. Salden mit SaldoInStamm können an alte/stale Stammdatei angefügt werden, wenn Personenexport deaktiviert ist. LeereAuswahl garantiert keine leereGeräteliste, weil fehlende Datei übersprungen wird.

Code-/Schema- und Rückgabebefunde

SaldenTerminalFilialePep liefert keinen Transponder2, VB liest ihn dennoch im zweifachen Ausweisloop: konkrete Resultat-/Codeabweichung. Beide Salden-UDFs verwenden ITZeit.aktiv=1; vorhandene Migration0183 belegt IsAktiv, kein hier als garantiert installiert behauptetes aktiv-Feld. IsAnwesend-Status wird geliefert, aber nicht als eigeneSaldoausgabe geschrieben.

Bit16 setzt sc.CommandText auf TERM_Liste_Fehler und stellt ihn vor der nächsten Uhreniteration nicht zurück. Weitere Uhren können dadurch Fehlerresultat statt Saldenresultat erhalten. Fehlerliste braucht biszu3 negativeStatusdaten jePerson und liefert nurTransponder/Datum. Vorangegangene erzeugte Dateien bleiben bei Exportfehler bestehen.

DoUploadStamm kann durch ExportSalden überschrieben werden; ExportFalse deaktiviert eine Liste, wird nicht als globales Fehlersignal gesammelt. ExportTaetigkeit liefert selbst im Catch True. success entspricht letzter Uploadschleife, frühere Gerätfehler können durch spätereErfolge verdeckt werden. SQL_TIMEOUT wird für diese DB-Reads nicht gesetzt.

Listenübertragung und Wiederholung

Upload lädt Geräte-Listenbeschreibung (fest Bus254), leert lokalen Bibliothekspuffer und ordnet Listen nach Index zu:0 Stamm,1 Salden,2 Tätigkeit,3 Nachrichten,4 Anwesenheit. Feldzahl/-längen kommen aus Setup, nicht aus Feldnamen. Tabfile mit Encoding.Default, RemoveEmptyEntries; Zeilenbeginn ';' wird übersprungen. Leere Zeile kann line(0) fehlschlagen. Werte kürzer als Feldlänge werden NUL-gepaddet, längere nicht abgeschnitten; Zeichenzahl wird als native Bytezahl übergeben. Setup-/Codepage-/Marshalingkompatibilität bleibt Geräteabnahme.

DFCMakeListe stellt Bibliothekspuffer her; DFCLoadListen(1,254,…) überträgt diesen. Hersteller groupsetuplists.html: vorhandene Geräteliste erst nach erfolgreicher Übernahme ersetzt. Code verschiebt Inputdatei jedoch schon VOR LoadListen auf Filename+'_' (vorheriges '_' löschen). Gleiches File beim nächsten Lauf wird übersprungen, selbst wenn vorheriger Geräteupload fehlgeschlagen ist. Diese lokale Markierung beweist keinen Geräteempfang.

Upload kann bei c=0 True liefern, auch bei Open-/Checkfehler oder fehlender Datei. Kein Returnwert von GetListDefinition geprüft, gemeinsam globale STL-Strukturen. Keine Gesamttransaktion über Dateien/Geräte/LastGet. com.log im Anwendungsordner wird angefügt; relative Inputpfade können bei anderem CWD auf andere Dateien zeigen.

Einstellungen und gemeinsame Nebenwirkungen

Gemeinsames Profil: LEGACY (interne Referenz).

Beziehung Schlüssel / Variable Default Einflussweg Wirkung Beleg
7002-S001 TERMINAL_TRANSLENGTH / Terminal_TransponderLength 13 FillTransponder Padding auf Mindestlänge; längere Werte zunächst nicht abgeschnitten B,ZW
7002-S002 Terminal_TransponderTrim / Terminal_TransponderTrim True FillTransponder Leerzeichen/führende Nullen vor Padding entfernen B,ZW
7002-S003 TERMINAL_Personen / Terminal_Personen False ExportStamm PersonenTabliste erzeugen, ExportTrue setzt Uploadflag B,ZW
7002-S004 TERMINAL_SALDOART / Terminal_SaldoArt 0 >0 ExportSalden; Bitmaske 1Stunden,2Angerechnet,4Urlaub,8FS,16Fehler,32Anwesend B,ZW
7002-S005 TERMINAL_SaldoInStamm / Terminal_SaldoInStamm False Dateiziel/Listenflag Salden an Personalstamm anhängen statt eigeneListe; Exportflag kann Personenflag überschreiben B,ZW
7002-S006 Terminal_SaldoQuelle / Terminal_SaldoQuelle 0 UDF-Auswahl 0SaldenTerminalFiliale, sonst SaldenTerminalFilialePep B,ZW
7002-S007 Terminal_DatumAb / Terminal_DatumAb „1.m.j“ cDatumMuster bei Filialen.DatumSaldoNULL Untergrenze Angerechnet/Anwesend, nicht Gesamt-/Urlaubssaldo B,SALDO,SALDOPEP,ZW
7002-S008 TERMINAL_FilialeBeachten / Terminal_FilialeBeachten True Filialparameter/Alle-Schalter Personen/Saldo/Anwesenheit filialspezifisch oder alle; Ausnahmen SaldoTerminal2 B,PERS,SALDO,SALDOPEP,ANW,ZW
7002-S009 TERMINAL_Anwesenheit / Terminal_Anwesenheit False ExportAnwesenheit Zwei-FelderTabliste zu Liste4 B,ANW,ZW
7002-S010 TERMINAL_Nachrichten / Terminal_Nachrichten False ExportNachrichten Löscht Nachrichten.txt, erzeugt keine aktive Nachrichtendatei B,ZW
7002-S011 TERMINAL_Tätigkeit / Terminal_Tätigkeit False Je ausgewählter Uhr Tätigkeit.txt aus Uhr.Kostenstellen erzeugen; leereQuelleDummy B,ZW
7002-S012 TERMINAL_Datenquelle_Taetigkeit / Terminal_Datenquelle_Taetigkeit 1 TätigkeitSQL 1PepGruppen,2Filialen,sonstKostenstellen B,ZW
7002-S013 TERMINAL_VERSUCHE / Terminal_Versuche 2 UploadRetry1..N Keine Gesamtfehlerakkumulation über Geräte; 0 kann Arbeit auslassen B,ZW

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
7002-D001 Uhren.ID SELECT Datafox Art1; ID=-1 alle Auto1, andere ID auch nichtAuto Adresse als Verbindung, FilialID muss konvertierbar sein B
7002-D002 Uhren.Adresse SELECT Datafox Art1; ID=-1 alle Auto1, andere ID auch nichtAuto Adresse als Verbindung, FilialID muss konvertierbar sein B
7002-D003 Uhren.FilialID SELECT Datafox Art1; ID=-1 alle Auto1, andere ID auch nichtAuto Adresse als Verbindung, FilialID muss konvertierbar sein B
7002-D004 Uhren.Art SELECT Datafox Art1; ID=-1 alle Auto1, andere ID auch nichtAuto Adresse als Verbindung, FilialID muss konvertierbar sein B
7002-D005 Uhren.Auto SELECT Datafox Art1; ID=-1 alle Auto1, andere ID auch nichtAuto Adresse als Verbindung, FilialID muss konvertierbar sein B
7002-D006 Uhren.Kostenstellen SELECT Datafox Art1; ID=-1 alle Auto1, andere ID auch nichtAuto Adresse als Verbindung, FilialID muss konvertierbar sein B
7002-D007 Uhren.LastGet UPDATE GETDATE nach Helfer-True Kein unabhängiger Geräteerfolgsbeleg B
7002-D008 Uhren.ID SELECT Exports Stamm/Anwesenheit für ALLE Art1 mit nichtNULLFiliale Nicht nur aktuelleID-Auswahl B
7002-D009 Uhren.FilialID SELECT Exports Stamm/Anwesenheit für ALLE Art1 mit nichtNULLFiliale Nicht nur aktuelleID-Auswahl B
7002-D010 Uhren.Art SELECT Exports Stamm/Anwesenheit für ALLE Art1 mit nichtNULLFiliale Nicht nur aktuelleID-Auswahl B
7002-D011 Filialen.FilialID SELECT Saldenexport Art1 viaUhrenJoin DatumSaldo überschreibt Terminal_DatumAb B
7002-D012 Filialen.DatumSaldo SELECT Saldenexport Art1 viaUhrenJoin DatumSaldo überschreibt Terminal_DatumAb B
7002-D013 Personen.PersonID SELECT PersonenTerminal-Name/Ausweis/Gültigkeitsauswahl FP1 nurSelektion, keinTemplateexport PERS
7002-D014 Personen.Nachname SELECT PersonenTerminal-Name/Ausweis/Gültigkeitsauswahl FP1 nurSelektion, keinTemplateexport PERS
7002-D015 Personen.Vorname SELECT PersonenTerminal-Name/Ausweis/Gültigkeitsauswahl FP1 nurSelektion, keinTemplateexport PERS
7002-D016 Personen.Transponder SELECT PersonenTerminal-Name/Ausweis/Gültigkeitsauswahl FP1 nurSelektion, keinTemplateexport PERS
7002-D017 Personen.Transponder2 SELECT PersonenTerminal-Name/Ausweis/Gültigkeitsauswahl FP1 nurSelektion, keinTemplateexport PERS
7002-D018 Personen.FP1 SELECT PersonenTerminal-Name/Ausweis/Gültigkeitsauswahl FP1 nurSelektion, keinTemplateexport PERS
7002-D019 ITORGA.PersonenStammID SELECT Stamm gültigJetzt;Saldo bis28TageVorlauf,AnwesenheitJetzt Filialfilter oderAll PERS,SALDO,SALDOPEP,ANW,FEHLER
7002-D020 ITORGA.von SELECT Stamm gültigJetzt;Saldo bis28TageVorlauf,AnwesenheitJetzt Filialfilter oderAll PERS,SALDO,SALDOPEP,ANW,FEHLER
7002-D021 ITORGA.bis2 SELECT Stamm gültigJetzt;Saldo bis28TageVorlauf,AnwesenheitJetzt Filialfilter oderAll PERS,SALDO,SALDOPEP,ANW,FEHLER
7002-D022 ITORGA.Filiale SELECT Stamm gültigJetzt;Saldo bis28TageVorlauf,AnwesenheitJetzt Filialfilter oderAll PERS,SALDO,SALDOPEP,ANW,FEHLER
7002-D023 CStatus.PersonenStammID SELECT Namensstern/Fehlerzeilenletzte3 oderSaldoFehlerCount NegativeStatus fürFehlerliste;<>0 fürStamm/Saldo, Vergangenheit PERS,SALDO,SALDOPEP,FEHLER
7002-D024 CStatus.Datum SELECT Namensstern/Fehlerzeilenletzte3 oderSaldoFehlerCount NegativeStatus fürFehlerliste;<>0 fürStamm/Saldo, Vergangenheit PERS,SALDO,SALDOPEP,FEHLER
7002-D025 CStatus.CStatus SELECT Namensstern/Fehlerzeilenletzte3 oderSaldoFehlerCount NegativeStatus fürFehlerliste;<>0 fürStamm/Saldo, Vergangenheit PERS,SALDO,SALDOPEP,FEHLER
7002-D026 Personen.PersonID SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D027 Personen.Nachname SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D028 Personen.Vorname SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D029 Personen.FP1 SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D030 Personen.FP2 SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D031 Personen.Transponder SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D032 Personen.Transponder2 SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D033 Personen.KorrekturSaldo SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D034 Personen.SaldoTerminal SELECT Salden/Status/Auswahl;SaldenTerminal2 unabhängigFiliale FPs nurUDF-Resultat, keineBiometrieübertragung SALDO,SALDOPEP
7002-D035 ITZeit.PersonenStammID SELECT 28TageVorlaufundaktiv1 lautSaldoUDF; TagesSaldoSummegültigeHistorie aktiv-Spaltenname vs belegtesIsAktiv inU183 prüfen SALDO,SALDOPEP,FEHLER
7002-D036 ITZeit.von SELECT 28TageVorlaufundaktiv1 lautSaldoUDF; TagesSaldoSummegültigeHistorie aktiv-Spaltenname vs belegtesIsAktiv inU183 prüfen SALDO,SALDOPEP,FEHLER
7002-D037 ITZeit.bis2 SELECT 28TageVorlaufundaktiv1 lautSaldoUDF; TagesSaldoSummegültigeHistorie aktiv-Spaltenname vs belegtesIsAktiv inU183 prüfen SALDO,SALDOPEP,FEHLER
7002-D038 ITZeit.LaufenderSaldo SELECT 28TageVorlaufundaktiv1 lautSaldoUDF; TagesSaldoSummegültigeHistorie aktiv-Spaltenname vs belegtesIsAktiv inU183 prüfen SALDO,SALDOPEP,FEHLER
7002-D039 ITZeit.aktiv SELECT 28TageVorlaufundaktiv1 lautSaldoUDF; TagesSaldoSummegültigeHistorie aktiv-Spaltenname vs belegtesIsAktiv inU183 prüfen SALDO,SALDOPEP,FEHLER
7002-D040 ITPEP.PersonenStammID SELECT NurSaldoQuelle<>0 alternativeFilialzugehörigkeit Gültig bis28TageVorlauf SALDOPEP
7002-D041 ITPEP.von SELECT NurSaldoQuelle<>0 alternativeFilialzugehörigkeit Gültig bis28TageVorlauf SALDOPEP
7002-D042 ITPEP.bis2 SELECT NurSaldoQuelle<>0 alternativeFilialzugehörigkeit Gültig bis28TageVorlauf SALDOPEP
7002-D043 ITPEP.PepGruppe SELECT NurSaldoQuelle<>0 alternativeFilialzugehörigkeit Gültig bis28TageVorlauf SALDOPEP
7002-D044 PepGruppen.PEPGruppenID SELECT ITPEP→Filiale NurSaldoQuelle<>0 SALDOPEP
7002-D045 PepGruppen.Filiale SELECT ITPEP→Filiale NurSaldoQuelle<>0 SALDOPEP
7002-D046 BerechneteZeiten.Person SELECT SummenSaldo/Urlaub/FS,AngerechnetundAnwesenheitabDatumAb AnwesendCutKZNetto Quelle0;Anwesend Quelle<>0 SALDO,SALDOPEP
7002-D047 BerechneteZeiten.Datum SELECT SummenSaldo/Urlaub/FS,AngerechnetundAnwesenheitabDatumAb AnwesendCutKZNetto Quelle0;Anwesend Quelle<>0 SALDO,SALDOPEP
7002-D048 BerechneteZeiten.TagesSaldo SELECT SummenSaldo/Urlaub/FS,AngerechnetundAnwesenheitabDatumAb AnwesendCutKZNetto Quelle0;Anwesend Quelle<>0 SALDO,SALDOPEP
7002-D049 BerechneteZeiten.Urlaub SELECT SummenSaldo/Urlaub/FS,AngerechnetundAnwesenheitabDatumAb AnwesendCutKZNetto Quelle0;Anwesend Quelle<>0 SALDO,SALDOPEP
7002-D050 BerechneteZeiten.SamstagFrei SELECT SummenSaldo/Urlaub/FS,AngerechnetundAnwesenheitabDatumAb AnwesendCutKZNetto Quelle0;Anwesend Quelle<>0 SALDO,SALDOPEP
7002-D051 BerechneteZeiten.Angerechnet SELECT SummenSaldo/Urlaub/FS,AngerechnetundAnwesenheitabDatumAb AnwesendCutKZNetto Quelle0;Anwesend Quelle<>0 SALDO,SALDOPEP
7002-D052 BerechneteZeiten.AnwesendCutKZNetto SELECT SummenSaldo/Urlaub/FS,AngerechnetundAnwesenheitabDatumAb AnwesendCutKZNetto Quelle0;Anwesend Quelle<>0 SALDO,SALDOPEP
7002-D053 BerechneteZeiten.Anwesend SELECT SummenSaldo/Urlaub/FS,AngerechnetundAnwesenheitabDatumAb AnwesendCutKZNetto Quelle0;Anwesend Quelle<>0 SALDO,SALDOPEP
7002-D054 Urlaubsanspruch.Person SELECT SummebisaktuellesJahr minusUrlaubverbrauch Nicht aufDatumAb begrenzt SALDO,SALDOPEP
7002-D055 Urlaubsanspruch.Anspruch SELECT SummebisaktuellesJahr minusUrlaubverbrauch Nicht aufDatumAb begrenzt SALDO,SALDOPEP
7002-D056 Urlaubsanspruch.GültigVon SELECT SummebisaktuellesJahr minusUrlaubverbrauch Nicht aufDatumAb begrenzt SALDO,SALDOPEP
7002-D057 Zeitereignisse.PersonID SELECT IsAnwesend-Status imSaldoresultat, nicht inSaldoTab serialisiert HeutigerKalendertag, keinegeloescht-Prüfung STATUS
7002-D058 Zeitereignisse.Datum SELECT IsAnwesend-Status imSaldoresultat, nicht inSaldoTab serialisiert HeutigerKalendertag, keinegeloescht-Prüfung STATUS
7002-D059 Zeitereignisse.Kennung SELECT IsAnwesend-Status imSaldoresultat, nicht inSaldoTab serialisiert HeutigerKalendertag, keinegeloescht-Prüfung STATUS
7002-D060 Personen.PersonID SELECT DF_Anwesenheit Auswahl gültiger Personen mit Ausweis Alle oder Filialfilter; keine Aktiv/InZw-Prüfung, kein Transponder2 ANW
7002-D061 Personen.Transponder SELECT DF_Anwesenheit Auswahl gültiger Personen mit Ausweis Alle oder Filialfilter; keine Aktiv/InZw-Prüfung, kein Transponder2 ANW
7002-D062 Personen.Eintritt SELECT DF_Anwesenheit Auswahl gültiger Personen mit Ausweis Alle oder Filialfilter; keine Aktiv/InZw-Prüfung, kein Transponder2 ANW
7002-D063 Personen.Austritt SELECT DF_Anwesenheit Auswahl gültiger Personen mit Ausweis Alle oder Filialfilter; keine Aktiv/InZw-Prüfung, kein Transponder2 ANW
7002-D064 ITORGA.PersonenStammID SELECT Nur bei FilialeBeachtenTrue Jetzt gültige Filialzugehörigkeit ANW
7002-D065 ITORGA.von SELECT Nur bei FilialeBeachtenTrue Jetzt gültige Filialzugehörigkeit ANW
7002-D066 ITORGA.bis2 SELECT Nur bei FilialeBeachtenTrue Jetzt gültige Filialzugehörigkeit ANW
7002-D067 ITORGA.Filiale SELECT Nur bei FilialeBeachtenTrue Jetzt gültige Filialzugehörigkeit ANW
7002-D068 Zeitereignisse.PersonID SELECT Max nichtgelöschtes Ereignis letzte24h bisNow+10min, letzter Kennung K→1 sonst0 Kennung-Rückjoin ohne geloescht-Filter; Gleichzeitigkeit mehrdeutig ANW
7002-D069 Zeitereignisse.Datum SELECT Max nichtgelöschtes Ereignis letzte24h bisNow+10min, letzter Kennung K→1 sonst0 Kennung-Rückjoin ohne geloescht-Filter; Gleichzeitigkeit mehrdeutig ANW
7002-D070 Zeitereignisse.Kennung SELECT Max nichtgelöschtes Ereignis letzte24h bisNow+10min, letzter Kennung K→1 sonst0 Kennung-Rückjoin ohne geloescht-Filter; Gleichzeitigkeit mehrdeutig ANW
7002-D071 Zeitereignisse.geloescht SELECT Max nichtgelöschtes Ereignis letzte24h bisNow+10min, letzter Kennung K→1 sonst0 Kennung-Rückjoin ohne geloescht-Filter; Gleichzeitigkeit mehrdeutig ANW
7002-D072 PepGruppen.PepGruppenID SELECT Tätigkeitsliste8stelligeID+Left20Bezeichnung Datenquelle1, IN-Liste ausUhren.Kostenstellen B
7002-D073 PepGruppen.pepGruppenBez SELECT Tätigkeitsliste8stelligeID+Left20Bezeichnung Datenquelle1, IN-Liste ausUhren.Kostenstellen B
7002-D074 Filialen.FilialID SELECT Tätigkeitsliste Datenquelle2 B
7002-D075 Filialen.Bezeichnung SELECT Tätigkeitsliste Datenquelle2 B
7002-D076 Kostenstellen.ID SELECT Tätigkeitsliste AndereDatenquellewerte B
7002-D077 Kostenstellen.Bezeichnung SELECT Tätigkeitsliste AndereDatenquellewerte B

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki