Inhaltsverzeichnis
2023 — KaDeWe-externes Personal und vierwöchige Planmuster
Dokumentation ins Wiki übernommen am 02.10.2026. Das ist keine Laufzeitabnahme.
Technische Referenz zum aktiven Programm eProgramm.ImpKaDeWeExtern. Sie beschreibt Eingänge, tatsächliche Schreibwirkung und Grenzen am genannten Quellenstand. Erreichbarer Aufruf statisch dokumentiert, nicht zur Laufzeit abgenommen.
Wichtig: ⚠ globales Staging / keine Stammdatenaktualisierung. Prüfe vor einem späteren Test die beschriebenen Fälle.
Aufruf und Parameter
Delegate: cSchnittKaDeWeExtern.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.
Zweck und Dateivertrag
Übernimmt externes KaDeWe-Personal und vierwöchige Planmuster. Bestehende Personenstammdaten und vorhandene Wochenplandetails werden nicht entsprechend aktualisiert.
PFAD(FileImport), keine Dateimusterbindung. Encoding.Default, Semikolon, TrimWhiteSpace=True; TextFieldParser nutzt den Default für Delimited/Quotes. Kein allgemeines Headerüberspringen: Nur Feld 1 exakt „Nachname“ oder leer wird ignoriert. Mindestens 89 Felder, zusätzliche Felder bleiben ungenutzt. Eingang → SCHNITT_Extern → SCHNITT_Extern_SP → Personen, ITZeit, ITORGA, ITPEP, ITWochenPlan und WochenPlaene.
| Position ab 1 | Inhalt | Konvertierung |
|---|---|---|
| 1–2 | Nachname/Vorname | String |
| 3 | Filiale | Numerisch→String, sonst NULL |
| 4 | OZF | Numerisch→String, sonst NULL; Unternehmen/PepGruppe |
| 5 | Wochen | Numerisch→String, sonst 1 |
| 6–89 | Vier Wochen × sieben Tage × Kommen/Gehen/Pause | Woche 1–4, Montag bis Sonntag; drei Felder je Tag |
Positionsformel (1-basiert): Kommen=6+(Woche−1)×21+(Tag−1)×3, Gehen=Kommen+1, Pause=Kommen+2. StrToZeit behält Ziffern und vereinheitlicht Doppelpunkt, Semikolon, Komma und Punkt zu „:“. Reine Zahlen bis vier Zeichen werden H:mm/HH:mm; längere werden DBNull. Andere Zeittexte hängen von IsDate und der Kultur ab; ungültige Werte werden NULL. Pause wird Stunde+Minute/60, als String mit Dezimalpunkt. Keine zusätzliche Bereichsvalidierung.
Staging, Personen und Planmuster
VB leert die gesamte SCHNITT_Extern vor der Dateischleife. Fehlerhafte Zeilen werden übersprungen und gemerkt. Die SP läuft trotzdem mit dem verbleibenden Teilstaging. SQL-Timeout=0; keine Fachtransaktion, Archivierung oder Calc.
Die SP setzt Staging.PersonID global NULL. Zuordnung: Nachname/Vorname, Personen.extern=1 und Unternehmen=OZF. Neue Personen nutzen den ID-Raum (90000+Filiale)×10000. Als negative Startbasis dient die höchste vorhandene Personen-ID im Filialraum oder die negative Basis; der nach Filiale sortierte Cursor subtrahiert einen Zähler und wechselt danach das Vorzeichen.
2023-F01: Globale Stagingersetzung und ID-Vergabe sind nicht atomar. Parallelimporte, mehrdeutige Namenszuordnung, NULL-Filiale/OZF und abweichende Filialformate prüfen. Kein gesicherter Identity-Generator.
Nur eine noch fehlende PersonID wird eingefügt: ID/Namen, extern=1, Unternehmen=OZF, Eintritt/StartZW/StartPEP=Monatserster des SQL-Laufdatums, aktiv/InPep/InZw=1. Bestehende Personen werden nicht aktualisiert.
Die SP fügt je Historientabelle nur ein, wenn für die Person überhaupt noch keine Historienzeile existiert:
- ITZeit: RMAZPlanID/RMID/VorgabeArt=1.
- ITORGA: Filiale=10000+Dateifiliale, Abteilung=2, Hierarchiestufe=120.
- ITPEP: PepGruppe=OZF, Anteil=−1.
- ITWochenPlan: Wochen aus Datei.
- Alle neuen Historien beginnen am Monatsersten des SQL-Laufs und haben bis=NULL.
Fehlende Modelle, Filialen oder PEP-Gruppen werden nicht angelegt.
WochenPlaene werden für alle vorhandenen ITWochenPlan-Historien der Person ergänzt: fehlende WochenID 0–3 aus Stagingwoche 1–4. Bestehende Details bleiben unverändert. Alle vier Wochen werden unabhängig vom Wert ITWochenPlan.Wochen angelegt. U565 enthält Staging.Waz, aber VB setzt und die SP liest es nicht; keine Fachwirkung dafür indizieren. Die durch U566 definierte ID-Identity wird nicht explizit von VB gesetzt.
Zeilenfehler werden am Ende mit Zeilennummern gemeldet. Ausführen reicht Success durch; SP-Exception→False, bereits geschriebene Teile bleiben. Betriebs-/Liefer-/ID-Fragen Q15, keine Erfolgsabnahme.
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 |
|---|---|---|---|---|---|
| 2023-D001 | SCHNITT_Extern.— gesamte Tabelle | DELETE | Globales Importstaging leeren, auch bei späterer fehlerhafter/leer Datei | Vor Dateischleife | B |
| 2023-D002 | SCHNITT_Extern.Nachname | INSERT/SELECT | Positionen1–5; Filiale/OZFnichtnumerischNULL,Wochenfallback1 | Mindestens89Felder/Nachname nichtleer oder Header | B,SQL |
| 2023-D003 | SCHNITT_Extern.Vorname | INSERT/SELECT | Positionen1–5; Filiale/OZFnichtnumerischNULL,Wochenfallback1 | Mindestens89Felder/Nachname nichtleer oder Header | B,SQL |
| 2023-D004 | SCHNITT_Extern.Filiale | INSERT/SELECT | Positionen1–5; Filiale/OZFnichtnumerischNULL,Wochenfallback1 | Mindestens89Felder/Nachname nichtleer oder Header | B,SQL |
| 2023-D005 | SCHNITT_Extern.OZF | INSERT/SELECT | Positionen1–5; Filiale/OZFnichtnumerischNULL,Wochenfallback1 | Mindestens89Felder/Nachname nichtleer oder Header | B,SQL |
| 2023-D006 | SCHNITT_Extern.Wochen | INSERT/SELECT | Positionen1–5; Filiale/OZFnichtnumerischNULL,Wochenfallback1 | Mindestens89Felder/Nachname nichtleer oder Header | B,SQL |
| 2023-D007 | SCHNITT_Extern.MoKommen1 | INSERT/SELECT | Dateiposition6→StrToZeit, String oder DBNull | Woche1,Mo; später WochenID0 | B,SQL |
| 2023-D008 | SCHNITT_Extern.MoGehen1 | INSERT/SELECT | Dateiposition7→StrToZeit, String oder DBNull | Woche1,Mo; später WochenID0 | B,SQL |
| 2023-D009 | SCHNITT_Extern.MoPause1 | INSERT/SELECT | Dateiposition8→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche1,Mo; später WochenID0 | B,SQL |
| 2023-D010 | SCHNITT_Extern.DiKommen1 | INSERT/SELECT | Dateiposition9→StrToZeit, String oder DBNull | Woche1,Di; später WochenID0 | B,SQL |
| 2023-D011 | SCHNITT_Extern.DiGehen1 | INSERT/SELECT | Dateiposition10→StrToZeit, String oder DBNull | Woche1,Di; später WochenID0 | B,SQL |
| 2023-D012 | SCHNITT_Extern.DiPause1 | INSERT/SELECT | Dateiposition11→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche1,Di; später WochenID0 | B,SQL |
| 2023-D013 | SCHNITT_Extern.MiKommen1 | INSERT/SELECT | Dateiposition12→StrToZeit, String oder DBNull | Woche1,Mi; später WochenID0 | B,SQL |
| 2023-D014 | SCHNITT_Extern.MiGehen1 | INSERT/SELECT | Dateiposition13→StrToZeit, String oder DBNull | Woche1,Mi; später WochenID0 | B,SQL |
| 2023-D015 | SCHNITT_Extern.MiPause1 | INSERT/SELECT | Dateiposition14→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche1,Mi; später WochenID0 | B,SQL |
| 2023-D016 | SCHNITT_Extern.DoKommen1 | INSERT/SELECT | Dateiposition15→StrToZeit, String oder DBNull | Woche1,Do; später WochenID0 | B,SQL |
| 2023-D017 | SCHNITT_Extern.DoGehen1 | INSERT/SELECT | Dateiposition16→StrToZeit, String oder DBNull | Woche1,Do; später WochenID0 | B,SQL |
| 2023-D018 | SCHNITT_Extern.DoPause1 | INSERT/SELECT | Dateiposition17→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche1,Do; später WochenID0 | B,SQL |
| 2023-D019 | SCHNITT_Extern.FrKommen1 | INSERT/SELECT | Dateiposition18→StrToZeit, String oder DBNull | Woche1,Fr; später WochenID0 | B,SQL |
| 2023-D020 | SCHNITT_Extern.FrGehen1 | INSERT/SELECT | Dateiposition19→StrToZeit, String oder DBNull | Woche1,Fr; später WochenID0 | B,SQL |
| 2023-D021 | SCHNITT_Extern.FrPause1 | INSERT/SELECT | Dateiposition20→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche1,Fr; später WochenID0 | B,SQL |
| 2023-D022 | SCHNITT_Extern.SaKommen1 | INSERT/SELECT | Dateiposition21→StrToZeit, String oder DBNull | Woche1,Sa; später WochenID0 | B,SQL |
| 2023-D023 | SCHNITT_Extern.SaGehen1 | INSERT/SELECT | Dateiposition22→StrToZeit, String oder DBNull | Woche1,Sa; später WochenID0 | B,SQL |
| 2023-D024 | SCHNITT_Extern.SaPause1 | INSERT/SELECT | Dateiposition23→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche1,Sa; später WochenID0 | B,SQL |
| 2023-D025 | SCHNITT_Extern.SoKommen1 | INSERT/SELECT | Dateiposition24→StrToZeit, String oder DBNull | Woche1,So; später WochenID0 | B,SQL |
| 2023-D026 | SCHNITT_Extern.SoGehen1 | INSERT/SELECT | Dateiposition25→StrToZeit, String oder DBNull | Woche1,So; später WochenID0 | B,SQL |
| 2023-D027 | SCHNITT_Extern.SoPause1 | INSERT/SELECT | Dateiposition26→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche1,So; später WochenID0 | B,SQL |
| 2023-D028 | SCHNITT_Extern.MoKommen2 | INSERT/SELECT | Dateiposition27→StrToZeit, String oder DBNull | Woche2,Mo; später WochenID1 | B,SQL |
| 2023-D029 | SCHNITT_Extern.MoGehen2 | INSERT/SELECT | Dateiposition28→StrToZeit, String oder DBNull | Woche2,Mo; später WochenID1 | B,SQL |
| 2023-D030 | SCHNITT_Extern.MoPause2 | INSERT/SELECT | Dateiposition29→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche2,Mo; später WochenID1 | B,SQL |
| 2023-D031 | SCHNITT_Extern.DiKommen2 | INSERT/SELECT | Dateiposition30→StrToZeit, String oder DBNull | Woche2,Di; später WochenID1 | B,SQL |
| 2023-D032 | SCHNITT_Extern.DiGehen2 | INSERT/SELECT | Dateiposition31→StrToZeit, String oder DBNull | Woche2,Di; später WochenID1 | B,SQL |
| 2023-D033 | SCHNITT_Extern.DiPause2 | INSERT/SELECT | Dateiposition32→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche2,Di; später WochenID1 | B,SQL |
| 2023-D034 | SCHNITT_Extern.MiKommen2 | INSERT/SELECT | Dateiposition33→StrToZeit, String oder DBNull | Woche2,Mi; später WochenID1 | B,SQL |
| 2023-D035 | SCHNITT_Extern.MiGehen2 | INSERT/SELECT | Dateiposition34→StrToZeit, String oder DBNull | Woche2,Mi; später WochenID1 | B,SQL |
| 2023-D036 | SCHNITT_Extern.MiPause2 | INSERT/SELECT | Dateiposition35→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche2,Mi; später WochenID1 | B,SQL |
| 2023-D037 | SCHNITT_Extern.DoKommen2 | INSERT/SELECT | Dateiposition36→StrToZeit, String oder DBNull | Woche2,Do; später WochenID1 | B,SQL |
| 2023-D038 | SCHNITT_Extern.DoGehen2 | INSERT/SELECT | Dateiposition37→StrToZeit, String oder DBNull | Woche2,Do; später WochenID1 | B,SQL |
| 2023-D039 | SCHNITT_Extern.DoPause2 | INSERT/SELECT | Dateiposition38→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche2,Do; später WochenID1 | B,SQL |
| 2023-D040 | SCHNITT_Extern.FrKommen2 | INSERT/SELECT | Dateiposition39→StrToZeit, String oder DBNull | Woche2,Fr; später WochenID1 | B,SQL |
| 2023-D041 | SCHNITT_Extern.FrGehen2 | INSERT/SELECT | Dateiposition40→StrToZeit, String oder DBNull | Woche2,Fr; später WochenID1 | B,SQL |
| 2023-D042 | SCHNITT_Extern.FrPause2 | INSERT/SELECT | Dateiposition41→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche2,Fr; später WochenID1 | B,SQL |
| 2023-D043 | SCHNITT_Extern.SaKommen2 | INSERT/SELECT | Dateiposition42→StrToZeit, String oder DBNull | Woche2,Sa; später WochenID1 | B,SQL |
| 2023-D044 | SCHNITT_Extern.SaGehen2 | INSERT/SELECT | Dateiposition43→StrToZeit, String oder DBNull | Woche2,Sa; später WochenID1 | B,SQL |
| 2023-D045 | SCHNITT_Extern.SaPause2 | INSERT/SELECT | Dateiposition44→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche2,Sa; später WochenID1 | B,SQL |
| 2023-D046 | SCHNITT_Extern.SoKommen2 | INSERT/SELECT | Dateiposition45→StrToZeit, String oder DBNull | Woche2,So; später WochenID1 | B,SQL |
| 2023-D047 | SCHNITT_Extern.SoGehen2 | INSERT/SELECT | Dateiposition46→StrToZeit, String oder DBNull | Woche2,So; später WochenID1 | B,SQL |
| 2023-D048 | SCHNITT_Extern.SoPause2 | INSERT/SELECT | Dateiposition47→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche2,So; später WochenID1 | B,SQL |
| 2023-D049 | SCHNITT_Extern.MoKommen3 | INSERT/SELECT | Dateiposition48→StrToZeit, String oder DBNull | Woche3,Mo; später WochenID2 | B,SQL |
| 2023-D050 | SCHNITT_Extern.MoGehen3 | INSERT/SELECT | Dateiposition49→StrToZeit, String oder DBNull | Woche3,Mo; später WochenID2 | B,SQL |
| 2023-D051 | SCHNITT_Extern.MoPause3 | INSERT/SELECT | Dateiposition50→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche3,Mo; später WochenID2 | B,SQL |
| 2023-D052 | SCHNITT_Extern.DiKommen3 | INSERT/SELECT | Dateiposition51→StrToZeit, String oder DBNull | Woche3,Di; später WochenID2 | B,SQL |
| 2023-D053 | SCHNITT_Extern.DiGehen3 | INSERT/SELECT | Dateiposition52→StrToZeit, String oder DBNull | Woche3,Di; später WochenID2 | B,SQL |
| 2023-D054 | SCHNITT_Extern.DiPause3 | INSERT/SELECT | Dateiposition53→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche3,Di; später WochenID2 | B,SQL |
| 2023-D055 | SCHNITT_Extern.MiKommen3 | INSERT/SELECT | Dateiposition54→StrToZeit, String oder DBNull | Woche3,Mi; später WochenID2 | B,SQL |
| 2023-D056 | SCHNITT_Extern.MiGehen3 | INSERT/SELECT | Dateiposition55→StrToZeit, String oder DBNull | Woche3,Mi; später WochenID2 | B,SQL |
| 2023-D057 | SCHNITT_Extern.MiPause3 | INSERT/SELECT | Dateiposition56→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche3,Mi; später WochenID2 | B,SQL |
| 2023-D058 | SCHNITT_Extern.DoKommen3 | INSERT/SELECT | Dateiposition57→StrToZeit, String oder DBNull | Woche3,Do; später WochenID2 | B,SQL |
| 2023-D059 | SCHNITT_Extern.DoGehen3 | INSERT/SELECT | Dateiposition58→StrToZeit, String oder DBNull | Woche3,Do; später WochenID2 | B,SQL |
| 2023-D060 | SCHNITT_Extern.DoPause3 | INSERT/SELECT | Dateiposition59→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche3,Do; später WochenID2 | B,SQL |
| 2023-D061 | SCHNITT_Extern.FrKommen3 | INSERT/SELECT | Dateiposition60→StrToZeit, String oder DBNull | Woche3,Fr; später WochenID2 | B,SQL |
| 2023-D062 | SCHNITT_Extern.FrGehen3 | INSERT/SELECT | Dateiposition61→StrToZeit, String oder DBNull | Woche3,Fr; später WochenID2 | B,SQL |
| 2023-D063 | SCHNITT_Extern.FrPause3 | INSERT/SELECT | Dateiposition62→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche3,Fr; später WochenID2 | B,SQL |
| 2023-D064 | SCHNITT_Extern.SaKommen3 | INSERT/SELECT | Dateiposition63→StrToZeit, String oder DBNull | Woche3,Sa; später WochenID2 | B,SQL |
| 2023-D065 | SCHNITT_Extern.SaGehen3 | INSERT/SELECT | Dateiposition64→StrToZeit, String oder DBNull | Woche3,Sa; später WochenID2 | B,SQL |
| 2023-D066 | SCHNITT_Extern.SaPause3 | INSERT/SELECT | Dateiposition65→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche3,Sa; später WochenID2 | B,SQL |
| 2023-D067 | SCHNITT_Extern.SoKommen3 | INSERT/SELECT | Dateiposition66→StrToZeit, String oder DBNull | Woche3,So; später WochenID2 | B,SQL |
| 2023-D068 | SCHNITT_Extern.SoGehen3 | INSERT/SELECT | Dateiposition67→StrToZeit, String oder DBNull | Woche3,So; später WochenID2 | B,SQL |
| 2023-D069 | SCHNITT_Extern.SoPause3 | INSERT/SELECT | Dateiposition68→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche3,So; später WochenID2 | B,SQL |
| 2023-D070 | SCHNITT_Extern.MoKommen4 | INSERT/SELECT | Dateiposition69→StrToZeit, String oder DBNull | Woche4,Mo; später WochenID3 | B,SQL |
| 2023-D071 | SCHNITT_Extern.MoGehen4 | INSERT/SELECT | Dateiposition70→StrToZeit, String oder DBNull | Woche4,Mo; später WochenID3 | B,SQL |
| 2023-D072 | SCHNITT_Extern.MoPause4 | INSERT/SELECT | Dateiposition71→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche4,Mo; später WochenID3 | B,SQL |
| 2023-D073 | SCHNITT_Extern.DiKommen4 | INSERT/SELECT | Dateiposition72→StrToZeit, String oder DBNull | Woche4,Di; später WochenID3 | B,SQL |
| 2023-D074 | SCHNITT_Extern.DiGehen4 | INSERT/SELECT | Dateiposition73→StrToZeit, String oder DBNull | Woche4,Di; später WochenID3 | B,SQL |
| 2023-D075 | SCHNITT_Extern.DiPause4 | INSERT/SELECT | Dateiposition74→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche4,Di; später WochenID3 | B,SQL |
| 2023-D076 | SCHNITT_Extern.MiKommen4 | INSERT/SELECT | Dateiposition75→StrToZeit, String oder DBNull | Woche4,Mi; später WochenID3 | B,SQL |
| 2023-D077 | SCHNITT_Extern.MiGehen4 | INSERT/SELECT | Dateiposition76→StrToZeit, String oder DBNull | Woche4,Mi; später WochenID3 | B,SQL |
| 2023-D078 | SCHNITT_Extern.MiPause4 | INSERT/SELECT | Dateiposition77→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche4,Mi; später WochenID3 | B,SQL |
| 2023-D079 | SCHNITT_Extern.DoKommen4 | INSERT/SELECT | Dateiposition78→StrToZeit, String oder DBNull | Woche4,Do; später WochenID3 | B,SQL |
| 2023-D080 | SCHNITT_Extern.DoGehen4 | INSERT/SELECT | Dateiposition79→StrToZeit, String oder DBNull | Woche4,Do; später WochenID3 | B,SQL |
| 2023-D081 | SCHNITT_Extern.DoPause4 | INSERT/SELECT | Dateiposition80→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche4,Do; später WochenID3 | B,SQL |
| 2023-D082 | SCHNITT_Extern.FrKommen4 | INSERT/SELECT | Dateiposition81→StrToZeit, String oder DBNull | Woche4,Fr; später WochenID3 | B,SQL |
| 2023-D083 | SCHNITT_Extern.FrGehen4 | INSERT/SELECT | Dateiposition82→StrToZeit, String oder DBNull | Woche4,Fr; später WochenID3 | B,SQL |
| 2023-D084 | SCHNITT_Extern.FrPause4 | INSERT/SELECT | Dateiposition83→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche4,Fr; später WochenID3 | B,SQL |
| 2023-D085 | SCHNITT_Extern.SaKommen4 | INSERT/SELECT | Dateiposition84→StrToZeit, String oder DBNull | Woche4,Sa; später WochenID3 | B,SQL |
| 2023-D086 | SCHNITT_Extern.SaGehen4 | INSERT/SELECT | Dateiposition85→StrToZeit, String oder DBNull | Woche4,Sa; später WochenID3 | B,SQL |
| 2023-D087 | SCHNITT_Extern.SaPause4 | INSERT/SELECT | Dateiposition86→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche4,Sa; später WochenID3 | B,SQL |
| 2023-D088 | SCHNITT_Extern.SoKommen4 | INSERT/SELECT | Dateiposition87→StrToZeit, String oder DBNull | Woche4,So; später WochenID3 | B,SQL |
| 2023-D089 | SCHNITT_Extern.SoGehen4 | INSERT/SELECT | Dateiposition88→StrToZeit, String oder DBNull | Woche4,So; später WochenID3 | B,SQL |
| 2023-D090 | SCHNITT_Extern.SoPause4 | INSERT/SELECT | Dateiposition89→ZeitToDbl(StrToZeit), Dezimalstunden als String | Woche4,So; später WochenID3 | B,SQL |
| 2023-D091 | SCHNITT_Extern.PersonID | UPDATE/SELECT | NULL-Reset; Namen/extern/Unternehmenmatch, sonst Filialnummernraum und cursorbasierteID | Globale SP nach Parser; Teilstaging möglich | SQL |
| 2023-D092 | Personen.PersonID | SELECT | Match nachName+extern1+UnternehmenOZF; MAXPersonID imFilialraum | SP-Zuordnung | SQL |
| 2023-D093 | Personen.Nachname | SELECT | Match nachName+extern1+UnternehmenOZF; MAXPersonID imFilialraum | SP-Zuordnung | SQL |
| 2023-D094 | Personen.Vorname | SELECT | Match nachName+extern1+UnternehmenOZF; MAXPersonID imFilialraum | SP-Zuordnung | SQL |
| 2023-D095 | Personen.extern | SELECT | Match nachName+extern1+UnternehmenOZF; MAXPersonID imFilialraum | SP-Zuordnung | SQL |
| 2023-D096 | Personen.Unternehmen | SELECT | Match nachName+extern1+UnternehmenOZF; MAXPersonID imFilialraum | SP-Zuordnung | SQL |
| 2023-D097 | Personen.PersonID | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D098 | Personen.Nachname | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D099 | Personen.Vorname | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D100 | Personen.extern | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D101 | Personen.Unternehmen | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D102 | Personen.Eintritt | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D103 | Personen.StartZW | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D104 | Personen.StartPEP | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D105 | Personen.aktiv | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D106 | Personen.InPep | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D107 | Personen.InZw | INSERT | ID/Namen/OZF,extern1,MonatsersterdesLaufs,aktiv/InPep/InZw1 | NurPersonIDnochfehlend | SQL |
| 2023-D108 | ITZeit.PersonenStammID | SELECT | Existenz irgendeinerPersonhistorie, kein Von/Bis/Updatevergleich | SP | SQL |
| 2023-D109 | ITZeit.PersonenStammID | INSERT | PersonID/Monatserster/NULL/1/1/1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D110 | ITZeit.von | INSERT | PersonID/Monatserster/NULL/1/1/1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D111 | ITZeit.bis | INSERT | PersonID/Monatserster/NULL/1/1/1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D112 | ITZeit.RMAZPlanID | INSERT | PersonID/Monatserster/NULL/1/1/1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D113 | ITZeit.RMID | INSERT | PersonID/Monatserster/NULL/1/1/1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D114 | ITZeit.VorgabeArt | INSERT | PersonID/Monatserster/NULL/1/1/1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D115 | ITORGA.PersonenStammID | SELECT | Existenz irgendeinerPersonhistorie, kein Von/Bis/Updatevergleich | SP | SQL |
| 2023-D116 | ITORGA.PersonenStammID | INSERT | PersonID/Monatserster/NULL/10000+Dateifiliale/2/120 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D117 | ITORGA.von | INSERT | PersonID/Monatserster/NULL/10000+Dateifiliale/2/120 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D118 | ITORGA.bis | INSERT | PersonID/Monatserster/NULL/10000+Dateifiliale/2/120 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D119 | ITORGA.Filiale | INSERT | PersonID/Monatserster/NULL/10000+Dateifiliale/2/120 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D120 | ITORGA.Abteilung | INSERT | PersonID/Monatserster/NULL/10000+Dateifiliale/2/120 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D121 | ITORGA.Hierarchiestufe | INSERT | PersonID/Monatserster/NULL/10000+Dateifiliale/2/120 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D122 | ITPEP.PersonenStammID | SELECT | Existenz irgendeinerPersonhistorie, kein Von/Bis/Updatevergleich | SP | SQL |
| 2023-D123 | ITPEP.PersonenStammID | INSERT | PersonID/Monatserster/NULL/OZF/-1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D124 | ITPEP.von | INSERT | PersonID/Monatserster/NULL/OZF/-1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D125 | ITPEP.bis | INSERT | PersonID/Monatserster/NULL/OZF/-1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D126 | ITPEP.PepGruppe | INSERT | PersonID/Monatserster/NULL/OZF/-1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D127 | ITPEP.Anteil | INSERT | PersonID/Monatserster/NULL/OZF/-1 | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D128 | ITWochenPlan.PersonenStammID | SELECT | Existenz irgendeinerPersonhistorie, kein Von/Bis/Updatevergleich | SP | SQL |
| 2023-D129 | ITWochenPlan.PersonenStammID | INSERT | PersonID/Monatserster/NULL/DateiWochen | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D130 | ITWochenPlan.von | INSERT | PersonID/Monatserster/NULL/DateiWochen | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D131 | ITWochenPlan.bis | INSERT | PersonID/Monatserster/NULL/DateiWochen | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D132 | ITWochenPlan.Wochen | INSERT | PersonID/Monatserster/NULL/DateiWochen | Nur wenn keinSatz fürPerson existiert | SQL |
| 2023-D133 | ITWochenPlan.ID | SELECT | Join alle vorhandenen Wochenplanhistorien derPerson | Wochendetails | SQL |
| 2023-D134 | ITWochenPlan.PersonenStammID | SELECT | Join alle vorhandenen Wochenplanhistorien derPerson | Wochendetails | SQL |
| 2023-D135 | WochenPlaene.ITWochenPlanID | SELECT/INSERT | Alle passendenITWochenPlan-IDs mit WochenID0–3 | Nur fehlenderDetailmatch | SQL |
| 2023-D136 | WochenPlaene.WochenID | SELECT/INSERT | Alle passendenITWochenPlan-IDs mit WochenID0–3 | Nur fehlenderDetailmatch | SQL |
| 2023-D137 | WochenPlaene.MoKommen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D138 | WochenPlaene.MoGehen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D139 | WochenPlaene.MoPause | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D140 | WochenPlaene.DiKommen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D141 | WochenPlaene.DiGehen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D142 | WochenPlaene.DiPause | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D143 | WochenPlaene.MiKommen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D144 | WochenPlaene.MiGehen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D145 | WochenPlaene.MiPause | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D146 | WochenPlaene.DoKommen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D147 | WochenPlaene.DoGehen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D148 | WochenPlaene.DoPause | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D149 | WochenPlaene.FrKommen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D150 | WochenPlaene.FrGehen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D151 | WochenPlaene.FrPause | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D152 | WochenPlaene.SaKommen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D153 | WochenPlaene.SaGehen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D154 | WochenPlaene.SaPause | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D155 | WochenPlaene.SoKommen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D156 | WochenPlaene.SoGehen | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
| 2023-D157 | WochenPlaene.SoPause | INSERT | StaginggleichnamigesFeld mitWochensuffix1–4 | FehlendesWochenID0–3Detail; bestehendeDetailsnichtaktualisiert | SQL |
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 | PEP4/ZW/Allgemein.vb |
| P, LEGACY:P | PEP4/cSchnittstellen/Programme/cProgramme.vb |
| PRJ | PEP4/cSchnittstellen/cSchnittstellen.vbproj |
| B | PEP4/cSchnittstellen/Programme/Schnittstellen/KaDeWe/cSchnittKaDeWeExtern.vb |
| SQL | Sqlfiles/PEP4Functions/SCHNITT_Extern_SP.sql |
| U565 | Sqlfiles/PEP4Update/update_0565.sql |
| U566 | Sqlfiles/PEP4Update/update_0566.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.