Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Schnittstelle 5327: GKKZa Abwesenheiten — SAP-Import in Planung
Dokumentation ins Wiki übernommen am 02.10.2026. Das ist keine Laufzeitabnahme.
Diese technische Referenz beschreibt die Eingänge, Datenwirkung und Ausgänge dieser Kennung im statisch geprüften Desktop-Quellenstand. Nutzerprüfung offen.
Dokumentiert / statisch geprüft: 2026-10-02. Teilweise dokumentiert: Datei/SQL-Planungsersatz belegt; vollständiger PEP-Rechenmotor Q11 offen; Nutzerprüfung offen. Keine Schnittstelle ausgeführt.
Identität und Quellenstand
eProgramm.ImportGKKZaAbwesenheiten = 5327. Aktive feste Registrierung → cSchnittZalarisImportAbwesenheiten.AusführenGKK (E,P). Projekteinschluss der genannten VB-Quellen geprüft (PRJ). Active=True, InAutomatik=true, ManuellerAufruf=true, 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.
Eingang und Ablauf
Gemeinsamer Dateileser mit5318, andere SQL-Transformation. PFAD: vorhandener Ordner; IMP anlegen. Alphabetisch letzte *_SAP_PEP4_ANWABW.csv importieren, ältere ohne Import archivieren. Encoding.Default, Semikolon/Trim, Header verwerfen. Sieben Felder: PersonID; Kennzeichen; von-yyyyMMdd; von-HH:mm; bis-yyyyMMdd; bis-HH:mm; U-Flag. Globales SCHNITT_Abwesenheit-TRUNCATE, dann INSERT je Zeile. Zeilenfehler melden/weiterlesen, Timeout0.
SCHNITT_GKKZA_Abwesenheit_Import auch nach Teilfehlern. Danach CalcPep() selbst nach Transformstopp; kein ZW-Calc, weil GKK CalcZw=False. Datei nach Rückkehr archiviert, gleichnamiges IMP-Ziel überschrieben. Keine Fachtransaktion.
SQL und Ausgang
Nur bei nichtleerem Staging: UrlaubKorrekturZeitraumBeginn für Vorjahresbeginn bis Folgejahrende. Liest Pep2/Kennzeichen.Urlaub>0 und aktualisiert PepBerechnet.ZeitraumBeginn aus zusammenhängenden Tagen. Ultimo=letzter Vormonatstag.
#Loeschen aus Urlaubsplanung (ZeitraumBeginn⇐Ultimo, aktuelles Jahr, Kennzeichen.IstUrlaub1) und gelieferten Abwesenheiten (von⇐Ultimo, aktuelles Jahr). Zweiter Join hat Datum>=von UND Datum⇐von. Ausgewählte Personentage in Pep2 löschen; PepBerechnet auf ZeitraumBeginn=Datum, UrlaubId0, tsPepChange=GETDATE, tsCalc=NULL setzen.
Gelieferte Intervalle über Kennzeichen.SchnittKstAbwesenheiten und Tage in Pep2 einfügen: Name,Datum,Status,Bereich0,Kommen/Gehen=Datum,Netto0. Nur bekannte Personen und Beginn bis Ultimo im aktuellen Jahr. Fehlende PepBerechnet(PersonID,Datum,tsPepChange) ergänzen. UPDATE ZeitraumBeginn=von/tsPepChange=GETDATE/tsCalc=NULL filtert Datum>=bis UND Datum⇐bis, nicht den ganzen Zeitraum. Abschließend identische zusammenhängende Urlaubsintervalle aus Pep2/Staging mit tsCalc=GETDATE markieren.
Temporärer Index wird auf dem permanenten Staging angelegt und gelöscht; Exception kann ihn zurücklassen. Nachfolgender PEPCALC ist Teilabdeckung Q11. Bezahlt/Unbezahlt werden im GKK-Transform nicht zum Mapping gelesen.
Befunde und Abnahme
⚠ Taggleichheits-Joins bei von/bis, breiter Urlaubsplanersatz und Calc/Archiv trotz SQL-Stopp. Doppelte Intervalle können Planzeilen vervielfachen. Snapshot-/Liefervertrag und Jahresgrenzen Q19; PEP-Regelkette Q11.
Einstellungen und gemeinsame Nebenwirkungen
Gemeinsames Profil: BASE (interne Referenz).
Gemeinsames Profil: PEPCALC (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 |
|---|---|---|---|---|---|
| 5327-D001 | SCHNITT_Abwesenheit.— Zeilen | TRUNCATE | Globales Importstaging | Vor Datei;KaDeWe zusätzlich zweimal vor PEP-Rückspiegelung | B |
| 5327-D002 | SCHNITT_Abwesenheit.PersonID | INSERT | CSV1/2/3+4/5+6/7;U→UnbezahltTrue,BezahltNULL;sonst umgekehrt | Mindestens7Felder, header verworfen | B |
| 5327-D003 | SCHNITT_Abwesenheit.Von | INSERT | CSV1/2/3+4/5+6/7;U→UnbezahltTrue,BezahltNULL;sonst umgekehrt | Mindestens7Felder, header verworfen | B |
| 5327-D004 | SCHNITT_Abwesenheit.Bis | INSERT | CSV1/2/3+4/5+6/7;U→UnbezahltTrue,BezahltNULL;sonst umgekehrt | Mindestens7Felder, header verworfen | B |
| 5327-D005 | SCHNITT_Abwesenheit.Kennzeichen | INSERT | CSV1/2/3+4/5+6/7;U→UnbezahltTrue,BezahltNULL;sonst umgekehrt | Mindestens7Felder, header verworfen | B |
| 5327-D006 | SCHNITT_Abwesenheit.Bezahlt | INSERT | CSV1/2/3+4/5+6/7;U→UnbezahltTrue,BezahltNULL;sonst umgekehrt | Mindestens7Felder, header verworfen | B |
| 5327-D007 | SCHNITT_Abwesenheit.Unbezahlt | INSERT | CSV1/2/3+4/5+6/7;U→UnbezahltTrue,BezahltNULL;sonst umgekehrt | Mindestens7Felder, header verworfen | B |
| 5327-D008 | SCHNITT_Abwesenheit.PersonID | SELECT | Lieferintervalle und Personen-/Kennzeichenmapping | SP | SQL |
| 5327-D009 | SCHNITT_Abwesenheit.Von | SELECT | Lieferintervalle und Personen-/Kennzeichenmapping | SP | SQL |
| 5327-D010 | SCHNITT_Abwesenheit.Bis | SELECT | Lieferintervalle und Personen-/Kennzeichenmapping | SP | SQL |
| 5327-D011 | SCHNITT_Abwesenheit.Kennzeichen | SELECT | Lieferintervalle und Personen-/Kennzeichenmapping | SP | SQL |
| 5327-D012 | Personen.PersonID | SELECT | Bekannte Person | ZielINSERT | SQL |
| 5327-D013 | Pep2.Name | SELECT | Urlaubsblockbildung/Löschschlüssel | SP undUrlaubKorrektur | SQL,KORR |
| 5327-D014 | Pep2.Datum | SELECT | Urlaubsblockbildung/Löschschlüssel | SP undUrlaubKorrektur | SQL,KORR |
| 5327-D015 | Pep2.Status | SELECT | Urlaubsblockbildung/Löschschlüssel | SP undUrlaubKorrektur | SQL,KORR |
| 5327-D016 | Kennzeichen.Kennzeichen | SELECT | Urlaubsfilter, Zusammenfassung undSAP-Mapping | SP | SQL,KORR |
| 5327-D017 | Kennzeichen.IstUrlaub | SELECT | Urlaubsfilter, Zusammenfassung undSAP-Mapping | SP | SQL,KORR |
| 5327-D018 | Kennzeichen.Urlaub | SELECT | Urlaubsfilter, Zusammenfassung undSAP-Mapping | SP | SQL,KORR |
| 5327-D019 | Kennzeichen.SchnittKstAbwesenheiten | SELECT | Urlaubsfilter, Zusammenfassung undSAP-Mapping | SP | SQL,KORR |
| 5327-D020 | PepBerechnet.PersonID | SELECT | Urlaubszeitraum-/Personentag-Filter | SP | SQL,KORR |
| 5327-D021 | PepBerechnet.Datum | SELECT | Urlaubszeitraum-/Personentag-Filter | SP | SQL,KORR |
| 5327-D022 | PepBerechnet.ZeitraumBeginn | SELECT | Urlaubszeitraum-/Personentag-Filter | SP | SQL,KORR |
| 5327-D023 | #Loeschen.PersonID | INSERT | Urlaubstage undgeliefertervon-Tag | Löschvorauswahl | SQL |
| 5327-D024 | #Loeschen.Datum | INSERT | Urlaubstage undgeliefertervon-Tag | Löschvorauswahl | SQL |
| 5327-D025 | #Loeschen.PersonID | SELECT | Personentagsersatz | SP | SQL |
| 5327-D026 | #Loeschen.Datum | SELECT | Personentagsersatz | SP | SQL |
| 5327-D027 | Pep2.— Zeilen | DELETE | Planung ausgewählterPersonentage | #Loeschen | SQL |
| 5327-D028 | Pep2.Name | INSERT | SAP-Intervalle proTag; Bereich0,Kommen/GehenDatum,Netto0 | Personbekannt undvon vorUltimoimaktuellenJahr | SQL |
| 5327-D029 | Pep2.Datum | INSERT | SAP-Intervalle proTag; Bereich0,Kommen/GehenDatum,Netto0 | Personbekannt undvon vorUltimoimaktuellenJahr | SQL |
| 5327-D030 | Pep2.Status | INSERT | SAP-Intervalle proTag; Bereich0,Kommen/GehenDatum,Netto0 | Personbekannt undvon vorUltimoimaktuellenJahr | SQL |
| 5327-D031 | Pep2.Bereich | INSERT | SAP-Intervalle proTag; Bereich0,Kommen/GehenDatum,Netto0 | Personbekannt undvon vorUltimoimaktuellenJahr | SQL |
| 5327-D032 | Pep2.Kommen | INSERT | SAP-Intervalle proTag; Bereich0,Kommen/GehenDatum,Netto0 | Personbekannt undvon vorUltimoimaktuellenJahr | SQL |
| 5327-D033 | Pep2.Gehen | INSERT | SAP-Intervalle proTag; Bereich0,Kommen/GehenDatum,Netto0 | Personbekannt undvon vorUltimoimaktuellenJahr | SQL |
| 5327-D034 | Pep2.Netto | INSERT | SAP-Intervalle proTag; Bereich0,Kommen/GehenDatum,Netto0 | Personbekannt undvon vorUltimoimaktuellenJahr | SQL |
| 5327-D035 | Tage.Datum | SELECT | Intervall auffächern | SP | SQL |
| 5327-D036 | PepBerechnet.PersonID | INSERT | FehlendePersonentage,jetzt | GültigerSAP-Zeitraum | SQL |
| 5327-D037 | PepBerechnet.Datum | INSERT | FehlendePersonentage,jetzt | GültigerSAP-Zeitraum | SQL |
| 5327-D038 | PepBerechnet.tsPepChange | INSERT | FehlendePersonentage,jetzt | GültigerSAP-Zeitraum | SQL |
| 5327-D039 | PepBerechnet.ZeitraumBeginn | UPDATE | LöschresetDatum/0/jetzt/NULL;SAPvon/jetzt/NULLnuramBis-Tag | SP | SQL |
| 5327-D040 | PepBerechnet.UrlaubId | UPDATE | LöschresetDatum/0/jetzt/NULL;SAPvon/jetzt/NULLnuramBis-Tag | SP | SQL |
| 5327-D041 | PepBerechnet.tsPepChange | UPDATE | LöschresetDatum/0/jetzt/NULL;SAPvon/jetzt/NULLnuramBis-Tag | SP | SQL |
| 5327-D042 | PepBerechnet.tsCalc | UPDATE | LöschresetDatum/0/jetzt/NULL;SAPvon/jetzt/NULLnuramBis-Tag | SP | SQL |
| 5327-D043 | PepBerechnet.ZeitraumBeginn | UPDATE | Beginn zusammenhängenderUrlaubsplanung | UrlaubKorrekturZeitraumBeginn | KORR |
| 5327-D044 | PepBerechnet.tsCalc | UPDATE | GETDATE füridenteUrlaubsintervalle | AbschließenderSP-Abgleich | 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). Nicht indizierte Folgefelder einer Teilanalyse sind unbekannt, nicht wirkungslos.
Gemeinsame Nebenwirkungen BASE
Einstellungen
| Beziehung | Schlüssel / Variable | Default | Einfluss | Wirkung | Beleg |
|---|---|---|---|---|---|
| BASE-S001 | MAIL_SCHNITTSTELLEONSUCCESS / MAIL_SchnittstelleOnSuccess | False | Basis | Direkte Mail bei Result 0 oder1, nicht MANUELL/SILENT | BASE:BASE, BASE:SET |
| BASE-S002 | MAIL_SCHNITTSTELLEONERROR / MAIL_SchnittstelleOnError | False | Basis | Direkte Mail bei Result 1 oder2, nicht MANUELL/SILENT | BASE:BASE, BASE:SET |
| BASE-S003 | SCHNITT_MELDUNG_SchnittstelleOnSuccess / SCHNITT_MELDUNG_SchnittstelleOnSuccess | False | Basis/API | sendmail=1 bei Result 0 oder1, nicht MANUELL/SILENT; API-Meldung sonst weiterhin sendmail=0 | BASE:BASE, BASE:SET |
| BASE-S004 | SCHNITT_MELDUNG_SchnittstelleOnError / SCHNITT_MELDUNG_SchnittstelleOnError | True | Basis/API | sendmail=1 bei Result 1 oder2, nicht MANUELL/SILENT | BASE:BASE, BASE:SET |
| BASE-S005 | MAIL_SCHNITTSTELLETO / MAIL_SchnittstelleTo | leer | Ersatz bei leerem MAILTO; Semikolonliste | BASE:MAIL, BASE:SET | |
| BASE-S006 | MAIL_SMTP_SERVER / MAIL_SMTPServer | leer | SMTP | Server für direkten Versand | BASE:MAIL, BASE:SET |
| BASE-S007 | MAIL_USER / MAIL_User | leer | SMTP | Nichtleer setzt NetworkCredential und überschreibt Defaultcredentials | BASE:MAIL, BASE:SET |
| BASE-S008 | MAIL_PASS / MAIL_Pass | leer; verschlüsselte Einstellung | SMTP | Passwort für explizite Credentials; kein Geheimnis dokumentiert | BASE:MAIL, BASE:SET |
| BASE-S009 | MAIL_USEDEFAULTCREDENTIALS / MAIL_UseDefaultCredentials | False | SMTP | SmtpClient.UseDefaultCredentials; ggf. durch MAIL_USER überschrieben | BASE:MAIL, BASE:SET |
| BASE-S010 | MAIL_SSL / MAIL_SSL | True | SMTP | SmtpClient.EnableSsl | BASE:MAIL, BASE:SET |
| BASE-S011 | MAIL_TESTADRESSE / MAIL_TestAdresse | nichtleere Testadresse im Quellcode (Wert bewusst nicht kopiert) | SMTP | Nichtleer ersetzt tatsächlichen To-Empfänger, auch wenn MAILTO gesetzt | BASE:MAIL, BASE:SET |
| BASE-S012 | MAIL_FROM / MAIL_From | leer | SMTP | Absenderadresse | BASE:MAIL, BASE:SET |
| BASE-S013 | MAIL_FROM_NAME / MAIL_FromName | leer | SMTP | Absendername | BASE:MAIL, BASE:SET |
| BASE-S014 | GLOBAL_LOGLEVEL / GLOBAL_LOGLEVEL | 50 | Logging | Persistenz bei InfoLevel>=Schwelle; Start/Erfolg51, ImportError102 | BASE:INIT, BASE:LOG, BASE:SET |
| BASE-S015 | GLOBAL_LOGLEVELEVLOG / GLOBAL_LOGLEVELEVENTLOG | 0 | Logging | Eventlog bei Level>Schwelle, Schwelle>0 und Level<200 | BASE:INIT, BASE:LOG, BASE:SET |
Datenbeziehungen
DB-Rolle Anmeldung; Logging über cInfoTools-Verbindung. Keine Geheimnisse/Livewerte. Indizes verknüpfen jede Mitglieds-ID mit diesen Beziehungen, auch wenn die Details nur einmal stehen.
| Beziehung | Tabelle.Feld | Operation | Datenfluss / Verwendung | Bedingung | Beleg |
|---|---|---|---|---|---|
| BASE-D001 | Dokumente.oFilename | INSERT | MAIL_BODY | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D002 | Dokumente.oFilesize | INSERT | Byteanzahl Body | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D003 | Dokumente.Daten | INSERT | cFn.StringToByteArray(MailBody) | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D004 | Dokumente.UserID | INSERT | dbo.fnUserId() | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D005 | Dokumente.ts | INSERT | getdate() | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D006 | Outbox.mTo | INSERT | MAILTO oder MAIL_SCHNITTSTELLETO; je Semikolonadresse | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D007 | Outbox.mCc | INSERT | leer | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D008 | Outbox.mFrom | INSERT | leer | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D009 | Outbox.mSubject | INSERT | Statusabhängiger Betreff | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D010 | Outbox.mBodyID | INSERT | ID des gespeicherten Bodys | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D011 | Outbox.mBodyHtml | INSERT | False | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D012 | Outbox.mDelayUntil | INSERT | getdate() | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D013 | Outbox.mStatus | INSERT | 1 | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D014 | Outbox.mSize | INSERT | Bodyzeichenanzahl (ohne Anhänge) | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D015 | Outbox.refArt | INSERT | 0 | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D016 | Outbox.RefID | INSERT | 0 | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D017 | Outbox.MailArt | INSERT | 5 (SchnittstellenMeldung) | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D018 | Outbox.UserID | INSERT | fnUserId() | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D019 | Outbox.ts | INSERT | getdate() | Direkte Rückmeldung aktiviert | BASE:MAIL |
| BASE-D020 | Outbox.ID | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D021 | Outbox.mFrom | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D022 | Outbox.mTo | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D023 | Outbox.mCc | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D024 | Outbox.mBodyID | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D025 | Outbox.mSubject | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D026 | Outbox.mBodyHtml | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D027 | Outbox.mStatus | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D028 | Outbox.mDelayUntil | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D029 | Outbox.MailArt | SELECT | SendOutbox(5): fällige Mails; auch frühere Outbox-Einträge derselben MailArt | Versandpfad | BASE:MAIL |
| BASE-D030 | Outbox.mSent | UPDATE | Erfolg → getdate() | Versandpfad | BASE:MAIL |
| BASE-D031 | Outbox.mStatus | UPDATE | Erfolg → 0; Fehler → +1, bei Status 20 pauschal -1 ohne WHERE | Versandpfad | BASE:MAIL |
| BASE-D032 | Outbox.mDelayUntil | UPDATE | Fehler → Staffel 2/5/10/30 Minuten; ab Status 12 CASE ohne ELSE → NULL | Versandpfad | BASE:MAIL |
| BASE-D033 | Dokumente.ID | SELECT | Body/Anhänge laden | Versandpfad | BASE:MAIL, BASE:DOC |
| BASE-D034 | Dokumente.oFilename | SELECT | Body/Anhänge laden | Versandpfad | BASE:MAIL, BASE:DOC |
| BASE-D035 | Dokumente.Daten | SELECT | Body/Anhänge laden | Versandpfad | BASE:MAIL, BASE:DOC |
| BASE-D036 | OutboxAttachment.OutBoxID | SELECT | Anhangszuordnung; diese Basisaufrufe erstellt selbst keine Anhänge | SendOutbox kann ältere Mailart-5-Einträge versenden | BASE:MAIL |
| BASE-D037 | OutboxAttachment.DokumenteID | SELECT | Anhangszuordnung; diese Basisaufrufe erstellt selbst keine Anhänge | SendOutbox kann ältere Mailart-5-Einträge versenden | BASE:MAIL |
| BASE-D038 | Pep3Log.UserID | INSERT | fnUserId() | InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich | BASE:LOG |
| BASE-D039 | Pep3Log.Datum | INSERT | getdate() | InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich | BASE:LOG |
| BASE-D040 | Pep3Log.Kurz | INSERT | Kurztext max255 | InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich | BASE:LOG |
| BASE-D041 | Pep3Log.LogText | INSERT | Protokoll | InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich | BASE:LOG |
| BASE-D042 | Pep3Log.Modul | INSERT | Modulname max50 | InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich | BASE:LOG |
| BASE-D043 | Pep3Log.InfoLevel | INSERT | Start/Erfolg=51; Importfehler=102; weitere Mail-Meldungen | InfoLevel >= GLOBAL_LOGLEVEL, DB-Logging möglich | BASE:LOG |
| BASE-D044 | tblUser.Name | SELECT | fnUserId: min(UserID) WHERE Name=RIGHT(SUSER_NAME(),25), sonst 0 | Mail-/Logpersistenz | BASE:USER |
| BASE-D045 | tblUser.UserID | SELECT | fnUserId: min(UserID) WHERE Name=RIGHT(SUSER_NAME(),25), sonst 0 | Mail-/Logpersistenz | BASE:USER |
Weitere Ausgänge und Grenzen
Logdateien unter ApplicationData/PEP/LogFiles; kontextabhängig Windows-Eventlog. Start/Erfolg InfoLevel 51, Importfehler 102; Schwellen beeinflussen Persistenz. SQL-fnUserId liest tblUser anhand RIGHT(SUSER_NAME(),25). API Send(MELDUNG) nutzt Anmeldungskontext und fest codierten Endpoint; dessen Serverimplementierung fehlt in dieser Quellenbasis (Q01).
Bekannte gemeinsame Befunde aus Pilot: Outbox-Retry bei Status 20 setzt mStatus=-1 ohne WHERE; Retry-CASE ab Status 12 ohne ELSE → NULL. Nicht korrigiert. Keine Kundendaten oder Zugangswerte übertragen.
Gemeinsame Nebenwirkungen PEPCALC
Einstellungen (Teilmenge)
| Beziehung | Schlüssel / Variable | Default | Einflussweg | Wirkung | Beleg |
|---|---|---|---|---|---|
| pepcalc-S001 | CALC_MINDATE / CALCMinDate | 1.1.2011 | CalcPep → Ladeuntergrenze | PepBerechnungLaden beginnt mindestens hier; vorgelagerte Netto-SP nutzt konkrete Aufrufparameter | PEPCALC:CALC, PEPCALC:SET |
| pepcalc-S002 | SQL_TIMEOUT / SQLTimeOut | 60 | CalcPep → Netto-SP | PepCalcNettoPerson Timeout; Ladekommando Timeout0, PepPlanLaden600; Speicher default | PEPCALC:CALC, PEPCALC:SET |
Feldbeziehungen (Teilmenge)
| Beziehung | Tabelle.Feld | Operation | Datenfluss / Verwendung | Bedingung | Beleg |
|---|---|---|---|---|---|
| pepcalc-D001 | Pep2.Name | SELECT | PepCalcNettoPerson-Neuberechnung und PepPlanLaden Tagesplan | Offene/ältere tsCalc, optionale Aufrufgrenzen | PEPCALC:NETTO, PEPCALC:PLAN |
| pepcalc-D002 | Pep2.Datum | SELECT | PepCalcNettoPerson-Neuberechnung und PepPlanLaden Tagesplan | Offene/ältere tsCalc, optionale Aufrufgrenzen | PEPCALC:NETTO, PEPCALC:PLAN |
| pepcalc-D003 | Pep2.Status | SELECT | PepCalcNettoPerson-Neuberechnung und PepPlanLaden Tagesplan | Offene/ältere tsCalc, optionale Aufrufgrenzen | PEPCALC:NETTO, PEPCALC:PLAN |
| pepcalc-D004 | Pep2.Kommen | SELECT | PepCalcNettoPerson-Neuberechnung und PepPlanLaden Tagesplan | Offene/ältere tsCalc, optionale Aufrufgrenzen | PEPCALC:NETTO, PEPCALC:PLAN |
| pepcalc-D005 | Pep2.Gehen | SELECT | PepCalcNettoPerson-Neuberechnung und PepPlanLaden Tagesplan | Offene/ältere tsCalc, optionale Aufrufgrenzen | PEPCALC:NETTO, PEPCALC:PLAN |
| pepcalc-D006 | Pep2.Netto | SELECT | PepCalcNettoPerson-Neuberechnung und PepPlanLaden Tagesplan | Offene/ältere tsCalc, optionale Aufrufgrenzen | PEPCALC:NETTO, PEPCALC:PLAN |
| pepcalc-D007 | Pep2.Netto | UPDATE | FLOAT(Gehen-Kommen)*Kennzeichen.Netto*ITZeit.NettoFaktor | Ungleich bisherigem Netto; NULL<>Wert bleibt unbekannt | PEPCALC:NETTO |
| pepcalc-D008 | Kennzeichen.Kennzeichen | SELECT | Nettofaktor | NETTO | PEPCALC:NETTO |
| pepcalc-D009 | Kennzeichen.Netto | SELECT | Nettofaktor | NETTO | PEPCALC:NETTO |
| pepcalc-D010 | ITZeit.PersonenStammID | SELECT | Zeitvertrag und Faktor | Gültiger Tag | PEPCALC:NETTO |
| pepcalc-D011 | ITZeit.von | SELECT | Zeitvertrag und Faktor | Gültiger Tag | PEPCALC:NETTO |
| pepcalc-D012 | ITZeit.bis2 | SELECT | Zeitvertrag und Faktor | Gültiger Tag | PEPCALC:NETTO |
| pepcalc-D013 | ITZeit.NettoFaktor | SELECT | Zeitvertrag und Faktor | Gültiger Tag | PEPCALC:NETTO |
| pepcalc-D014 | ITPEP.PersonenStammID | SELECT | Gültiger PEP-Vertrag als Joinfilter | NETTO | PEPCALC:NETTO |
| pepcalc-D015 | ITPEP.von | SELECT | Gültiger PEP-Vertrag als Joinfilter | NETTO | PEPCALC:NETTO |
| pepcalc-D016 | ITPEP.bis2 | SELECT | Gültiger PEP-Vertrag als Joinfilter | NETTO | PEPCALC:NETTO |
| pepcalc-D017 | PepBerechnet.PersonID | SELECT | Offene/ältere Berechnung | Netto-SP; weitere Ladefelder Q11 | PEPCALC:NETTO |
| pepcalc-D018 | PepBerechnet.Datum | SELECT | Offene/ältere Berechnung | Netto-SP; weitere Ladefelder Q11 | PEPCALC:NETTO |
| pepcalc-D019 | PepBerechnet.tsCalc | SELECT | Offene/ältere Berechnung | Netto-SP; weitere Ladefelder Q11 | PEPCALC:NETTO |
| pepcalc-D020 | PepBerechnet.tsPepChange | SELECT | Offene/ältere Berechnung | Netto-SP; weitere Ladefelder Q11 | PEPCALC:NETTO |
| pepcalc-D021 | Pep2.Bereich | SELECT | PepPlanLaden Gruppen-/Filialzuordnung | Person/Tag | PEPCALC:PLAN |
| pepcalc-D022 | PepGruppen.PEPGruppenID | SELECT | Filiale des Tagesplans | Person/Tag | PEPCALC:PLAN |
| pepcalc-D023 | PepGruppen.Filiale | SELECT | Filiale des Tagesplans | Person/Tag | PEPCALC:PLAN |
| pepcalc-D024 | FilialKalender.Filiale | SELECT | Kalender-Tagesart des Plans | Person/Tag | PEPCALC:PLAN |
| pepcalc-D025 | FilialKalender.Datum | SELECT | Kalender-Tagesart des Plans | Person/Tag | PEPCALC:PLAN |
| pepcalc-D026 | FilialKalender.Tagesart | SELECT | Kalender-Tagesart des Plans | Person/Tag | PEPCALC:PLAN |
| pepcalc-D027 | PepBerechnet.HatZuschlagZeiten | SELECT | Samstagsvortag-/Vortagsurlaubsprüfung | PepPlanLaden Resultset2/3, DATEFIRST-abhängig | PEPCALC:PLAN |
| pepcalc-D028 | PepBerechnet.UrlaubID | SELECT | Samstagsvortag-/Vortagsurlaubsprüfung | PepPlanLaden Resultset2/3, DATEFIRST-abhängig | PEPCALC:PLAN |
| pepcalc-D029 | PepBerechnet.PersonID | SELECT | Samstagsvortag-/Vortagsurlaubsprüfung | PepPlanLaden Resultset2/3, DATEFIRST-abhängig | PEPCALC:PLAN |
| pepcalc-D030 | PepBerechnet.Datum | SELECT | Samstagsvortag-/Vortagsurlaubsprüfung | PepPlanLaden Resultset2/3, DATEFIRST-abhängig | PEPCALC:PLAN |
| pepcalc-D031 | PepBerechnet.PersonID | SELECT | Update-Speicherschlüssel | SpeichernPepClassic | PEPCALC:SAVE |
| pepcalc-D032 | PepBerechnet.Datum | SELECT | Update-Speicherschlüssel | SpeichernPepClassic | PEPCALC:SAVE |
| pepcalc-D033 | PepBerechnet.Brutto | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D034 | PepBerechnet.Faktor | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D035 | PepBerechnet.Netto | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D036 | PepBerechnet.Urlaub | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D037 | PepBerechnet.Krank | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D038 | PepBerechnet.Zuschlag | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D039 | PepBerechnet.HatZuschlagZeiten | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D040 | PepBerechnet.Wegezeit | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D041 | PepBerechnet.UrlaubID | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D042 | PepBerechnet.PStatus | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
| pepcalc-D043 | PepBerechnet.tsCalc | UPDATE | Berechnetzeitwerte; PStatus FehlendesKontingent oder0;tsCalcGETDATE | Berechnete vorhandene Person-/Tag-Zeile | PEPCALC:SAVE |
Quellenverzeichnis
Siehe auch: Übersicht der Schnittstellen. Keine Ausführung oder Codekorrektur.