Benutzer-Werkzeuge

Webseiten-Werkzeuge


schnittstellen:5315

Schnittstelle 5315: KaDeWeZa ABW — Abwesenheitsexport

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. Statisch dokumentiert; Nutzerprüfung offen. Keine Schnittstelle ausgeführt.

Identität und Quellenstand

eProgramm.ExportSchnittKaDeWeZaAbw = 5315. Aktive feste Registrierung → cSchnittZalarisExportAbwesenheiten.AusführenKaDeWe (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.

Zweck, Parameter und Datei

PFAD: vorhandener Ordner (Folder, kein Default). yyyyMMdd_HHmmss_PEP4_SAP_ABWESENHEITEN.csv, StreamWriter-Default UTF-8. Kein Eingang, Header, CSV-Escaping oder Upload.

Feldfolge mit Abschlusssemikolon: EXTSYSTEM;EXTAPPLICATION;ID;Löschflag;Person;von-yyyyMMdd;bis-yyyyMMdd;SchnittKstAbwesenheiten;von-HHmm;bis-HHmm;leer;Ganztag. Erstes Resultset Löschflag X, zweites leer. Wenn beide Uhrzeiten>00:00: HHmm und Ganztag leer; andernfalls beide Uhrzeitfelder leer und Ganztag X. Ein Intervall mit nur einer Mitternachtsgrenze wird somit ganztägig ausgegeben.

SQL und Datenfluss

SCHNITT_ExportKaDeWeZaAbw_Alle ruft für jedes Kennzeichen mit Export=1 die Tabellenfunktion SCHNITT_ExportKaDeWeZaAbw auf. Sie liest Pep2 und gültige ITORGA mit Abteilung>0, fasst aufeinanderfolgende Ganztage bei GanzTag=1/Anzahl1 zusammen, sonst Uhrzeitintervall. Vor Beginn gestartete Intervalle werden rückwärts ergänzt, dann von<DatVon entfernt.

Beginn = Monatsbeginn + DB-Monate (Fallback−1), Ende exklusiv DB-DatumMax (Fallback01.01.2027). Keine GKK-Zusatzgrenze. Gemeinsames SCHNITT_KaDeWeZa_ABW_DIFF: alte Zeiträume löschen, entfernte Lieferung ausgeben/löschen, neue Intervalle anfügen/ausgeben, tsExport global setzen. Datei wird vor DB-Verbindung geöffnet. Keine Fachtransaktion oder Rückstellung bei Dateifehler.

Befunde und Abnahme

⚠5315/5323 teilen den Differenzbestand; fehlende Schreib-/Empfängerbestätigung kann Lieferung verlieren. Globaler Zeitstempel und Zeitrandfall beachten. Fachvertrag, Voll-/Teillieferung, Überschneidungen und Wiederholung synthetisch prüfen (Q19).

Einstellungen und gemeinsame Nebenwirkungen

Gemeinsames Profil: BASE (interne Referenz).

Beziehung Schlüssel / Variable Default Einflussweg Wirkung Beleg
5315-S001 SQL_TIMEOUT / SQLTimeOut 60 SqlCommand Fachcommand-Timeout in Sekunden; keine Dateitransaktion B,SET
5315-S002 SCHNITT_ZALARIS_EXTSYSTEM / SCHNITT_ZALARIS_EXTSYSTEM EXT VB Ausgabe CSV-Feld1 B,SET
5315-S003 SCHNITT_ZALARIS_EXTAPPLICATION / SCHNITT_ZALARIS_EXTAPPLICATION EXT VB Ausgabe CSV-Feld2 B,SET
5315-S004 SCHNITT_KaDeWeZa_Abw_MONATE / SQL @Monate −1 SP MIN / UDF Zuweisung Exportuntergrenze; Mehrfachwerte in UDF nicht eindeutig SQL,FN
5315-S005 SCHNITT_KaDeWeZa_Abw_DatumMax / SQL @DatumMax 01.01.2027 UDF DB-Lesen Exklusive Obergrenze; kein VB-Datumsmuster FN

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
5315-D001 Pep2.Name SELECT Abwesenheitstage, Status!=2-Zählung, ganztägige Zusammenfassung oder Uhrzeitintervall Ausgewähltes Kennzeichen; rückwärtige Erweiterung dann Beginnfilter FN
5315-D002 Pep2.Datum SELECT Abwesenheitstage, Status!=2-Zählung, ganztägige Zusammenfassung oder Uhrzeitintervall Ausgewähltes Kennzeichen; rückwärtige Erweiterung dann Beginnfilter FN
5315-D003 Pep2.Status SELECT Abwesenheitstage, Status!=2-Zählung, ganztägige Zusammenfassung oder Uhrzeitintervall Ausgewähltes Kennzeichen; rückwärtige Erweiterung dann Beginnfilter FN
5315-D004 Pep2.Kommen SELECT Abwesenheitstage, Status!=2-Zählung, ganztägige Zusammenfassung oder Uhrzeitintervall Ausgewähltes Kennzeichen; rückwärtige Erweiterung dann Beginnfilter FN
5315-D005 Pep2.Gehen SELECT Abwesenheitstage, Status!=2-Zählung, ganztägige Zusammenfassung oder Uhrzeitintervall Ausgewähltes Kennzeichen; rückwärtige Erweiterung dann Beginnfilter FN
5315-D006 ITORGA.PersonenStammID SELECT Gültige Organisation, Abteilung>0 Startauswahl UDF FN
5315-D007 ITORGA.von SELECT Gültige Organisation, Abteilung>0 Startauswahl UDF FN
5315-D008 ITORGA.bis2 SELECT Gültige Organisation, Abteilung>0 Startauswahl UDF FN
5315-D009 ITORGA.Abteilung SELECT Gültige Organisation, Abteilung>0 Startauswahl UDF FN
5315-D010 Kennzeichen.Kennzeichen SELECT Export=1; ganztägige Zusammenfassung; externe Abwesenheitsart SP/UDF und Resultsets SQL,FN
5315-D011 Kennzeichen.Export SELECT Export=1; ganztägige Zusammenfassung; externe Abwesenheitsart SP/UDF und Resultsets SQL,FN
5315-D012 Kennzeichen.GanzTag SELECT Export=1; ganztägige Zusammenfassung; externe Abwesenheitsart SP/UDF und Resultsets SQL,FN
5315-D013 Kennzeichen.SchnittKstAbwesenheiten SELECT Export=1; ganztägige Zusammenfassung; externe Abwesenheitsart SP/UDF und Resultsets SQL,FN
5315-D014 EinstellungenZw.Einstellung SELECT Monate und DatumMax DB-Lesen SP/UDF SQL,FN
5315-D015 EinstellungenZw.Wert SELECT Monate und DatumMax DB-Lesen SP/UDF SQL,FN
5315-D016 SCHNITT_KaDeWeZa_ABW_DIFF.Person SELECT Deduplikation und zwei Resultsets: gelöscht/neugeliefert Gemeinsamer KaDeWe-/GKK-Bestand SQL
5315-D017 SCHNITT_KaDeWeZa_ABW_DIFF.von SELECT Deduplikation und zwei Resultsets: gelöscht/neugeliefert Gemeinsamer KaDeWe-/GKK-Bestand SQL
5315-D018 SCHNITT_KaDeWeZa_ABW_DIFF.bis SELECT Deduplikation und zwei Resultsets: gelöscht/neugeliefert Gemeinsamer KaDeWe-/GKK-Bestand SQL
5315-D019 SCHNITT_KaDeWeZa_ABW_DIFF.Kennzeichen SELECT Deduplikation und zwei Resultsets: gelöscht/neugeliefert Gemeinsamer KaDeWe-/GKK-Bestand SQL
5315-D020 SCHNITT_KaDeWeZa_ABW_DIFF.ID SELECT Deduplikation und zwei Resultsets: gelöscht/neugeliefert Gemeinsamer KaDeWe-/GKK-Bestand SQL
5315-D021 SCHNITT_KaDeWeZa_ABW_DIFF.tsExport SELECT Deduplikation und zwei Resultsets: gelöscht/neugeliefert Gemeinsamer KaDeWe-/GKK-Bestand SQL
5315-D022 SCHNITT_KaDeWeZa_ABW_DIFF.— Zeilen DELETE Alte von<DatVon ohne Löschsatz, danach nicht mehr aktuelle Intervalle Kein eigener Kundenfilter SQL
5315-D023 SCHNITT_KaDeWeZa_ABW_DIFF.Person INSERT Noch nicht gelieferte Intervalle anfügen UDF-Ergebnis minus bestehende SQL
5315-D024 SCHNITT_KaDeWeZa_ABW_DIFF.von INSERT Noch nicht gelieferte Intervalle anfügen UDF-Ergebnis minus bestehende SQL
5315-D025 SCHNITT_KaDeWeZa_ABW_DIFF.bis INSERT Noch nicht gelieferte Intervalle anfügen UDF-Ergebnis minus bestehende SQL
5315-D026 SCHNITT_KaDeWeZa_ABW_DIFF.Kennzeichen INSERT Noch nicht gelieferte Intervalle anfügen UDF-Ergebnis minus bestehende SQL
5315-D027 SCHNITT_KaDeWeZa_ABW_DIFF.tsExport UPDATE GETDATE gesamter Bestand Ohne Transaktion, vor erfolgreichem Dateischluss SQL
5315-D028 SCHNITT_KaDeWeZa_ABW_DIFF.ID IDENTITY Neue Export-ID; PK(Person,von,bis,Kennzeichen) DDL0714 DDL

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 Mail 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.

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki