Inhaltsverzeichnis
Schnittstelle 1214: Zalaris-Stammdaten KaDeWe
Dokumentiert / statisch geprüft: 2026-10-02. Statisch dokumentiert einschließlich der nachgearbeiteten lokalen Folgeketten; Nutzerprüfung offen. Keine Schnittstelle ausgeführt.
Identität und Quellenstand
eProgramm.ZalarisImportStammdatenKaDeWe = 1214. Aktive feste Registrierung → cSchnittZalarisImportStammdaten.AusführenStamm_KaDeWe; Projekteinschluss bestätigt (E,P,PRJ). Active=True, InAutomatik=True und ManuellerAufruf=True (Registrierung bzw. Klassendefault); NurAufServer=False (Default bzw. Registrierung). Keine Aussage über eingerichtete Automatik oder produktive Nutzung.
seegerstefan/pep4desktop, master, Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Lokale .DS_Store-/cPep/PEP-Abweichungen außerhalb dieser Fachquellen bleiben unberührt; kein Remote-/Deploymentabgleich.
Zweck und Abdeckung
Zalaris-CSV-Sätze → Personal-/Organisations-/Zeitstämme und Nachberechnungsmarkierung. Anschließend allgemeine Zeitberechnung und PEP-Berechnung. Lokale aktive Version2-Import-/Transformkette und erreichbare Rechenmotoren sind statisch beschrieben; Azubi-Schemaergänzung bleibt als konkreter Code-/Schemawiderspruch unbelegt (Q14). Live-Trigger, Binärabweichungen und unbestätigte Migrationen sind keine belegten lokalen Wirkungen.
PFAD=Folder, SetPfad/CreateImpPfad. Namen/IT-Dateivertrag, Sortierung, Fehler-/Archivverhalten im gemeinsamen Profil unten; keine Saldo-/Urlaubsanspruch- oder Version1-Pfade aus ähnlich benannten Methoden übernehmen.
SQL-Aufrufkette und Variante
SCHNITT_ZALARIS_PERSONAL_KADEWE → BASIS_KADEWE → RM_KADEWE → SCHNITT_ZALARIS_STAMM → PERSONALMAIN_KADEWE → SCHNITT_ZALARIS_PERSONALHOB → SCHNITT_ZALARIS_NACHBERECHNUNG → SCHNITT_ZALARIS_INAKTIV (→KontingentKorrektur) → SCHNITT_ZALARIS_INAKTIVE_KADEWE. Namen vorher separat SCHNITT_KADEWEZA_NAMEN.
Resetgrenze für ITORGA/ITZahlung/ITZeit/ITProvision/ITZeitausweis 01.06.2023, unabhängig vom Parser-Mindestdatum. Inserts haben nicht denselben festen Datumsfilter; Wiederholung kann daher Historien vor Resetgrenze duplizieren. Personen müssen für die meisten Stamminserts existieren (Namenlieferung). Keine übergreifende Transaktion.
KDW erzeugt/ersetzt Provision, stellt StundenVK/FaktorVJ/FaktorPlan nach Person/von wieder her; erzeugt Zeitausweise, HOB-Zeitsätze und Abschlussregeln. INAKTIVE_KADEWE löscht global jeweils neueste Abteilung0-Orga in Schleife und schreibt Personen.Austritt aus verbleibendem neuestem bis.
Berechnungsnachfolge und Betriebsgrenze
Settings.Calc.Calc(CALCMinDate,Now.Date) wählt CALC_USESCHICHT<2→V1 (Statuslisten), sonstV2. Beide rufen Settings.Calc.CalcPep() ohne Personen-/Datumsargumente auf, auch wenn ImportStamm nur per Exit Sub beendet wurde. CalcPep ruft PepCalcNettoPerson(NULL,NULL,NULL), PepBerechnungLaden(-1,CALCMinDate,NULL,False), je Datensatz PepPlanLaden, CalcAZ.Berechnen und cCalcStatus.SpeichernPepClassic. Rechen-/Regel-/Persistenzkette siehe die zugeordneten vollständigen Motorprofile; Rückgabe von CalcPep wird ignoriert.
SQLEx nutzt SQL_TIMEOUT, Parsercommands30s; CalcPep Laden0, PepPlanLaden600s; keine Importatomarität durch diese Timeouts. Archive können überschrieben werden vor erfolgreichem Transform. BASIS/RM/STAMM/INAKTIV und Main wirken teils global, nicht nur auf gelieferte Personen.
Befunde / Testvorbereitung
Namen-GebDat-Arraylängenbug, fortwirkende optionale AZPR und nicht behandelte eResult.Fehler siehe ZAL. U714 zeigt IT0001 ohne Azubi; keine passende Ergänzung gefunden, dennoch Parser/View/Main aktiv mit Azubi. Q14 verlangt anonymisierte installierte DDL/zugehörige Migration und synthetische Lieferdateien. Vor Test Überlappungen, Historien vor 01.06.2023, NULL-Ende der View, Archivkollisionen und globale Austritts-/HOB-Wirkung klären. Kein Test oder Codefix.
Gemeinsames Profil: ZAL (interne Referenz).
Systemeinstellungen und gemeinsame Nebenwirkungen
Gemeinsames Profil: BASE (interne Referenz).
| Beziehung | Schlüssel / Variable | Default | Einflussweg | Wirkung | Beleg |
|---|---|---|---|---|---|
| 1214-S001 | SQL_TIMEOUT / SQLTimeOut | 60 | Explizite CommandTimeout-Zuweisung | Timeout nur bei den im Betrieb benannten Commands; Standardcommands weiterhin 30 Sekunden | B,SET |
| 1214-S002 | SCHNITT_KaDeWeZa_DatMin / SCHNITT_KaDeWeZa_DatMin | 1.4.2023 | IT-Parser | bis>=Minimum und von ggf.gekürzt; ändert feste SQL-Resetgrenze nicht | B,SET |
| 1214-S003 | SCHNITT_SAP_RESUMEONERROR / SCHNITT_SAP_RESUMEONERROR | True | IT0001/0007/Namen-Zeilenfehler | True→Fehlerstatus, vom Caller teilweise ignoriert; IT0050 immerStopp | B,SET |
| 1214-S004 | CALC_MINDATE / CALCMinDate | 1.1.2011 | CalcPep/Calc | Berechnungsuntergrenze; Folgeeffekte im Motorprofil | CALC,SET |
| 1214-S005 | CALC_USESCHICHT / CALC_UseSchicht | 0 | Calc-Dispatcher | <2 V1, sonstV2; weitere Motoreinstellungen Q11 | CALC,SET |
Nur belegte Profilzuordnung; Fachdaten und Rückmeldung sind nicht atomar. Defaults sind keine Livewerte.
Feldbeziehungen
Unqualifizierte Fachobjekte in der Anmeldedatenbank; Import.dbo ausdrücklich Importdatenbank. Dateifelder stehen separat im Dateivertrag.
| Beziehung | Tabelle.Feld | Operation | Datenfluss / Verwendung | Bedingung | Beleg |
|---|---|---|---|---|---|
| 1214-D001 | Tage.Datum | SELECT | MAX(Datum) geladen, lokale @MaxDat danach ungenutzt | Main-SP | MAIN |
| 1214-D002 | Personen.PersonID | SELECT | Person existiert? | Main-INSERTs | MAIN |
| 1214-D003 | ITORGA.PersonenStammID | SELECT | Importpersonen/Zeitgrenze; später globale minvon/maxFiliale | Main | MAIN |
| 1214-D004 | ITORGA.von | SELECT | Importpersonen/Zeitgrenze; später globale minvon/maxFiliale | Main | MAIN |
| 1214-D005 | ITORGA.— Zeilen | DELETE | Importpersonen IT0001 mit von>=01.06.2023 | Feste Grenze, nicht Einstellung-DatMin | MAIN |
| 1214-D006 | ITORGA.PersonenStammID | INSERT | IT0001.Person | IT0001-Person existiert; Einfügungen auch vor Resetgrenze möglich | MAIN |
| 1214-D007 | ITORGA.von | INSERT | von | IT0001-Person existiert; Einfügungen auch vor Resetgrenze möglich | MAIN |
| 1214-D008 | ITORGA.bis | INSERT | bis9999→NULL | IT0001-Person existiert; Einfügungen auch vor Resetgrenze möglich | MAIN |
| 1214-D009 | ITORGA.Filiale | INSERT | 10000+Teilbereich | IT0001-Person existiert; Einfügungen auch vor Resetgrenze möglich | MAIN |
| 1214-D010 | ITORGA.Abteilung | INSERT | Stat0→0, sonst Kostenstelle | IT0001-Person existiert; Einfügungen auch vor Resetgrenze möglich | MAIN |
| 1214-D011 | ITORGA.Hierarchiestufe | INSERT | 1 | IT0001-Person existiert; Einfügungen auch vor Resetgrenze möglich | MAIN |
| 1214-D012 | ITORGA.Kostenstelle | INSERT | 1 | IT0001-Person existiert; Einfügungen auch vor Resetgrenze möglich | MAIN |
| 1214-D013 | ITORGA.Azubi | INSERT | IT0001.Azubi (Schemafrage) | IT0001-Person existiert; Einfügungen auch vor Resetgrenze möglich | MAIN |
| 1214-D014 | ITZahlung.PersonenStammID | SELECT | Importpersonen/Resetgrenze | Main | MAIN |
| 1214-D015 | ITZahlung.von | SELECT | Importpersonen/Resetgrenze | Main | MAIN |
| 1214-D016 | ITZahlung.— Zeilen | DELETE | IT0001-Personen mit von>=01.06.2023 | Keine allgemeine Historienteilung | MAIN |
| 1214-D017 | ITZahlung.PersonenStammID | INSERT | IT0001 Person/von/bis9999→NULL/Tarif | Existierende Person | MAIN |
| 1214-D018 | ITZahlung.von | INSERT | IT0001 Person/von/bis9999→NULL/Tarif | Existierende Person | MAIN |
| 1214-D019 | ITZahlung.bis | INSERT | IT0001 Person/von/bis9999→NULL/Tarif | Existierende Person | MAIN |
| 1214-D020 | ITZahlung.TarifGruppe | INSERT | IT0001 Person/von/bis9999→NULL/Tarif | Existierende Person | MAIN |
| 1214-D021 | ITProvision.PersonenStammID | SELECT | Globale Sicherung #ITProvision | GKK nur liest; KDW später rückspielt | MAIN |
| 1214-D022 | ITProvision.von | SELECT | Globale Sicherung #ITProvision | GKK nur liest; KDW später rückspielt | MAIN |
| 1214-D023 | ITProvision.StundenVK | SELECT | Globale Sicherung #ITProvision | GKK nur liest; KDW später rückspielt | MAIN |
| 1214-D024 | ITProvision.FaktorVJ | SELECT | Globale Sicherung #ITProvision | GKK nur liest; KDW später rückspielt | MAIN |
| 1214-D025 | ITProvision.FaktorPlan | SELECT | Globale Sicherung #ITProvision | GKK nur liest; KDW später rückspielt | MAIN |
| 1214-D026 | ITProvision.— Zeilen | DELETE | IT0001-Personen von>=01.06.2023 | Main | MAIN |
| 1214-D027 | ITProvision.PersonenStammID | INSERT | IT0050 Person/von/bis9999→NULL/Provision | Person existiert | MAIN |
| 1214-D028 | ITProvision.von | INSERT | IT0050 Person/von/bis9999→NULL/Provision | Person existiert | MAIN |
| 1214-D029 | ITProvision.bis | INSERT | IT0050 Person/von/bis9999→NULL/Provision | Person existiert | MAIN |
| 1214-D030 | ITProvision.Kennzeichen | INSERT | IT0050 Person/von/bis9999→NULL/Provision | Person existiert | MAIN |
| 1214-D031 | ITProvision.StundenVK | UPDATE | Backup nach Person/von | Wiederherstellung vorhandener Werte | MAIN |
| 1214-D032 | ITProvision.FaktorVJ | UPDATE | Backup nach Person/von | Wiederherstellung vorhandener Werte | MAIN |
| 1214-D033 | ITProvision.FaktorPlan | UPDATE | Backup nach Person/von | Wiederherstellung vorhandener Werte | MAIN |
| 1214-D034 | Personen.Eintritt | SELECT/UPDATE | min(ITORGA.von) | Alle Personen mit NULL-Wert und Orga, nicht nur Import | MAIN |
| 1214-D035 | Personen.StartPEP | SELECT/UPDATE | min(ITORGA.von) | Alle Personen mit NULL-Wert und Orga, nicht nur Import | MAIN |
| 1214-D036 | Personen.StartZW | SELECT/UPDATE | 01.01.2022 | Alle Personen mit NULL-Wert und Orga, nicht nur Import | MAIN |
| 1214-D037 | AuszahlungsGruppen.ID | SELECT/INSERT | 0/kein | Fehlt ID0 | MAIN |
| 1214-D038 | AuszahlungsGruppen.Bezeichnung | SELECT/INSERT | 0/kein | Fehlt ID0 | MAIN |
| 1214-D039 | ITZeit.PersonenStammID | SELECT | Personen aus View und Resetgrenze | Main | MAIN |
| 1214-D040 | ITZeit.von | SELECT | Personen aus View und Resetgrenze | Main | MAIN |
| 1214-D041 | ITZeit.— Zeilen | DELETE | View-Personen mit von>=01.06.2023 | GKK auch HOB-Personen, obwohl kein HOB-Insert | MAIN |
| 1214-D042 | RM.ID | SELECT | KDW20000/GKK10000+Teilbereich+Z | Main Zeitzuordnung | MAIN |
| 1214-D043 | RM.Bezeichnung | SELECT | KDW20000/GKK10000+Teilbereich+Z | Main Zeitzuordnung | MAIN |
| 1214-D044 | RMAZPlan.ID | SELECT | minID LabelV; HOB feste2 | Main Zeitzuordnung | MAIN |
| 1214-D045 | RMAZPlan.Bezeichnung | SELECT | minID LabelV; HOB feste2 | Main Zeitzuordnung | MAIN |
| 1214-D046 | ITZeit.PersonenStammID | INSERT | View.Person | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D047 | ITZeit.von | INSERT | View.von | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D048 | ITZeit.bis | INSERT | View.bis (9999 bereitsNULL) | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D049 | ITZeit.RMID | INSERT | 20000+Teilbereich+'Z'; HOB V46/sonst47 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D050 | ITZeit.RMAZPlanID | INSERT | minID LabelV; HOB2 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D051 | ITZeit.Waz | INSERT | View.WAZ; HOB V→WAZ sonst MAZ*12/52.143 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D052 | ITZeit.MAZ | INSERT | View.MAZ | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D053 | ITZeit.Auszahlung | INSERT | 0; HOB9 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D054 | ITZeit.SollArt | INSERT | 12; HOBNULL | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D055 | ITZeit.GutschriftGanztagBuchung | INSERT | 13; HOBNULL | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D056 | ITZeit.GutschriftGanztagTagesart | INSERT | FTA→11, sonst12; HOBNULL | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D057 | ITZeit.Wegezeit | INSERT | WZ+UZ; HOB0 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D058 | ITZeit.RollSystem | INSERT | NULL | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D059 | ITZeit.JAZBerechnung | INSERT | VZTZ V→1, sonst2 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D060 | ITZeit.IsAktiv | INSERT | Stat>0→1, sonst0 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D061 | ITZeit.VorgabeArt | INSERT | 0 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D062 | ITZeit.GutschriftPauschal | INSERT | Nur HOB0 | Alle gültigen View-Personen; HOB Kostenstelle/10000=199 | MAIN |
| 1214-D063 | ITPEP.PersonenStammID | SELECT | Person hat überhaupt einen PEP-Satz? | Alle Orga-Personen | MAIN |
| 1214-D064 | ITORGA.Filiale | SELECT | maxFiliale für neue PEP-Zuordnung | Alle Orga-Personen | MAIN |
| 1214-D065 | ITPEP.PersonenStammID | INSERT | Person/minOrgaVon/maxOrgaFiliale/1 | Alle Personen ohne ITPep, nicht nur Import | MAIN |
| 1214-D066 | ITPEP.von | INSERT | Person/minOrgaVon/maxOrgaFiliale/1 | Alle Personen ohne ITPep, nicht nur Import | MAIN |
| 1214-D067 | ITPEP.PepGruppe | INSERT | Person/minOrgaVon/maxOrgaFiliale/1 | Alle Personen ohne ITPep, nicht nur Import | MAIN |
| 1214-D068 | ITPEP.Anteil | INSERT | Person/minOrgaVon/maxOrgaFiliale/1 | Alle Personen ohne ITPep, nicht nur Import | MAIN |
| 1214-D069 | ITZeitausweis.— Zeilen | DELETE | View-Personen von>=01.06.2023 | Main | MAIN |
| 1214-D070 | ITZeitausweis.PersonID | INSERT | IT0050 Person/von/bis 9999 bleibt9999/Zeitausweis/Z/now/0 | Person existiert | MAIN |
| 1214-D071 | ITZeitausweis.von | INSERT | IT0050 Person/von/bis 9999 bleibt9999/Zeitausweis/Z/now/0 | Person existiert | MAIN |
| 1214-D072 | ITZeitausweis.bis | INSERT | IT0050 Person/von/bis 9999 bleibt9999/Zeitausweis/Z/now/0 | Person existiert | MAIN |
| 1214-D073 | ITZeitausweis.Zeitausweis | INSERT | IT0050 Person/von/bis 9999 bleibt9999/Zeitausweis/Z/now/0 | Person existiert | MAIN |
| 1214-D074 | ITZeitausweis.Art | INSERT | IT0050 Person/von/bis 9999 bleibt9999/Zeitausweis/Z/now/0 | Person existiert | MAIN |
| 1214-D075 | ITZeitausweis.ts | INSERT | IT0050 Person/von/bis 9999 bleibt9999/Zeitausweis/Z/now/0 | Person existiert | MAIN |
| 1214-D076 | ITZeitausweis.UserID | INSERT | IT0050 Person/von/bis 9999 bleibt9999/Zeitausweis/Z/now/0 | Person existiert | MAIN |
| 1214-D077 | Personen.LastEAP | UPDATE | getdate() | View-Personen | MAIN |
| 1214-D078 | ITORGA.Abteilung | SELECT | Abteilung/10000=199 | HOB-SP | HOB |
| 1214-D079 | ITORGA.PersonenStammID | SELECT | Abteilung/10000=199 | HOB-SP | HOB |
| 1214-D080 | Personen.PersonID | SELECT | HOB-Titel | HOB-SP | HOB |
| 1214-D081 | Personen.Titel | SELECT | HOB-Titel | HOB-SP | HOB |
| 1214-D082 | ITZeit.MonatsAbschlussTag | UPDATE | Tag0, TitelAT1→4/AT2→5/sonst6 | Alle Zeit-Sätze der HOB-Personen, kein Datumfilter | HOB |
| 1214-D083 | ITZeit.MonatsAbschlussArt | UPDATE | Tag0, TitelAT1→4/AT2→5/sonst6 | Alle Zeit-Sätze der HOB-Personen, kein Datumfilter | HOB |
| 1214-D084 | ITORGA.ID | SELECT | ROW_NUMBER neueste Orga je Person | InaktiveKDW | INK |
| 1214-D085 | ITORGA.PersonenStammID | SELECT | ROW_NUMBER neueste Orga je Person | InaktiveKDW | INK |
| 1214-D086 | ITORGA.Abteilung | SELECT | ROW_NUMBER neueste Orga je Person | InaktiveKDW | INK |
| 1214-D087 | ITORGA.von | SELECT | ROW_NUMBER neueste Orga je Person | InaktiveKDW | INK |
| 1214-D088 | ITORGA.bis | SELECT | ROW_NUMBER neueste Orga je Person | InaktiveKDW | INK |
| 1214-D089 | ITORGA.— Zeilen | DELETE | Neueste Orga wenn Abteilung0; Schleife bis keine mehr | Global, nicht nur Importpersonen | INK |
| 1214-D090 | Personen.Austritt | UPDATE | bis des verbleibenden neuesten Orga-Satzes | Globaler Join neueste Orga | INK |
Teststatus und Pflege
Keine Laufzeit-/Live-Schema-/Lieferformat-Abnahme. Fachbefunde und Grenzen siehe oben und Fragen (interne Referenz); kundenspezifische Trigger/Constraints, DLLs und Jobs bleiben Q02. Nutzerprüfung offen.
Gemeinsame Nebenwirkungen ZAL
Stand:2026-10-02, Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Nur aktive Version2 der IDs 1214/1215. Beide Einzelbeschreibungen nennen BASE zusätzlich; ZAL enthält nur gemeinsame Fachbeziehungen. Teilanalysen: allgemeine Calc/CalcPep-Feldwirkung und konkrete Schemaergänzung Azubi bleiben offen (Q11/Q14). Keine Laufzeitausführung.
Dateivertrag und Ablauf
PFAD ist Folder. Root-Namenfiles *SAP_PEP4_NAMEN.csv unsortiert vor IT-Import. IT-Dateinamen enthalten SAP_PEP4_IT und numerisches Datumpräfix Zeichen1–8 sowie Uhrzeit10–15; Sortieren verschiebt nach TOIMP_Datum_Zeit (vorhandenes gleichnamiges Ziel wird gelöscht). TOIMP-Ordner alphabetisch. Satz braucht je genau eine it0001.csv/it0007.csv/it0050.csv; Dublette Stop. Globales Staging-TRUNCATE vor Vollständigkeitsprüfung, gemeinsame Tabellen nicht parallel betreiben.
Semikolon/Quotes/Trim, keine Kopfzeile. Namen UTF8; IT Encoding.Default. Positionen ab1:
| Datei | Positionen / Transformation |
|---|---|
| NAMEN | 1 PersonID,2 Nachname,3 Vorname,4 Geburt YYYYMMDD,5 Tel,6 Mail |
| IT0001 V2 | 1 Person,2 von,3 bis,4 Stat,5 Teilbereich,6 Kostenstelle (H/B/M→0),7 Tarif,8 Azubi |
| IT0007 | 1 Person,2 von,3 bis,4 MAZ,5 WAZ,6 VZTZ,7 AZPR optional |
| IT0050 V2 | 1 Person,2 von,3 bis,4 FT,5 WZ,6 Zeitausweis,7 UZ,8 Provision (leer→DBNull) |
von/bis=CharToDate YYYYMMDD; nur bis>=SCHNITT_KaDeWeZa_DatMin, von ggf. auf Mindestdatum gekürzt. Keine feste validierte Dateifeldzahl. NAMEN-Bug: GebDat wird nur konvertiert, wenn Arraylänge8 statt Datumsstringlänge8; normale sechs Felder→NULL, SP überschreibt vorhandenen Geburtstag damit. IT0007-AZPR wird bei fehlender7.Spaltе nicht pro Zeile zurückgesetzt: nach vorhandener AZPR kann Vorzeilenwert weiterleben.
SQL- und Fehlerpfad
Namen: SCHNITT_Namen leeren → Parser → SCHNITT_KADEWEZA_NAMEN (beide Varianten!) → IMP. IT: drei Stagings leeren → V2-Parser → Dateien vor Transform-SP nach IMP verschieben → kundenspezifischer Wrapper. MoveFile ersetzt gleichnamige Archivdateien; Archiv kein Erfolgsnachweis. Nichtleeres TOIMP-Verzeichnis→Stopp.
IT0001/0007-Zeilenfehler: RESUMEONERROR=True→eResult.Fehler; dieser Zwischenstatus wird vom aufrufenden SelectCase nicht behandelt. Teilimport kann ohne Fehlerstatus weiterlaufen. IT0050-V2 setzt bei Zeilenfehler immer FehlerUndStopp. SQLEx setzt Fehlerstatus bei Exception, Rückgabe im Transform/Namenpfad ignoriert. Ein Exit Sub aus ImportStamm verhindert im Außenpfad Calc/CalcPep nicht automatisch.
Wrapperfolge: BASIS_Kunde → RM_Kunde → STAMM → PERSONALMAIN_Kunde → (KDW HOB) → NACHBERECHNUNG → INAKTIV → (KDW INAKTIVE_KADEWE). INAKTIV ruft KontingentKorrektur. View SCHNITT_IT00XX schneidet die drei Gültigkeitsintervalle über Person; bis9999 wirdNULL. NACHBERECHNUNG vergleicht Datum⇐View.bis, dadurch matcht offenes NULL-Ende nicht.
BASIS legt fehlende Rundung/Labels an; KDW-Präfix20000+Teilbereich, GKK10000+Teilbereich. RM ergänzt ModelleZ/O und alle RM ohne Calc/Pause (nicht nur neue Importmodelle). STAMM legt Filialen10000+Teilbereich, Gruppen für alle Filialen und Abteilungen an. INAKTIV begrenzt/löscht ITPEP/Planung/UrlaubsAbtragung nach neuester offener Abteilung0; KontingentKorrektur reaggregiert alle Ansprüche. Personen.aktiv wird global neu bestimmt.
SQLEx-Timeout=SQL_TIMEOUT, Parser-Insertcommands Standard30s. Keine übergreifende Transaktion; Dateisortierung/Archiv/SQL können auseinanderfallen.
Belegkürzel und Grenzen
NAM=SQL1, VIEW=SQL2, BASIS=SQL3/4, RM=SQL5/6, STAMM=SQL7, NACH=SQL8, INAKTIV=SQL9, KONT=SQL10; MAIN verweist auf die Variante in der Einzelbeschreibung. U714 erstellt IT0001 ohne Azubi, U770 ergänzt Tarif/Zeitausweis, U785 Provision, U852 AZPR. In der dekodierten Migrationensuche keine Ergänzung SCHNITT_IT0001.Azubi gefunden; aktive Parser/View/Main verlangen sie. Benötigt: installierte Definition/zugehörige Migration, synthetischer Liefervertrag (Q14), kein Datenbankzugriff automatisch freigegeben.
Feldbeziehungen
Unqualifizierte Objekte in der Anmeldedatenbank; #Tempobjekte dienen nur SQL-Interna. Rechenmotorwirkung nicht vollständig in diesen Zeilen; nicht als Ausschluss unbekannter Felder nutzen.
| Beziehung | Tabelle.Feld | Operation | Datenfluss / Verwendung | Bedingung | Beleg |
|---|---|---|---|---|---|
| ZAL-D001 | SCHNITT_Namen.— Zeilen | TRUNCATE | Gesamte Tabelle vor jeweiliger Datei/Satzgruppe | Namen je Datei, IT je Ordner | ZAL:B |
| ZAL-D002 | SCHNITT_Namen.PersonID | INSERT | Dateiposition1; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D003 | SCHNITT_Namen.Nachname | INSERT | Dateiposition2; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D004 | SCHNITT_Namen.Vorname | INSERT | Dateiposition3; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D005 | SCHNITT_Namen.GebDat | INSERT | Dateiposition4; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D006 | SCHNITT_Namen.Tel | INSERT | Dateiposition5; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D007 | SCHNITT_Namen.Mail | INSERT | Dateiposition6; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D008 | SCHNITT_Namen.PersonID | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D009 | SCHNITT_Namen.Nachname | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D010 | SCHNITT_Namen.Vorname | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D011 | SCHNITT_Namen.GebDat | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D012 | SCHNITT_Namen.Tel | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D013 | SCHNITT_Namen.Mail | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D014 | SCHNITT_IT0001.— Zeilen | TRUNCATE | Gesamte Tabelle vor jeweiliger Datei/Satzgruppe | Namen je Datei, IT je Ordner | ZAL:B |
| ZAL-D015 | SCHNITT_IT0001.Person | INSERT | Dateiposition1; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D016 | SCHNITT_IT0001.von | INSERT | Dateiposition2; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D017 | SCHNITT_IT0001.bis | INSERT | Dateiposition3; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D018 | SCHNITT_IT0001.Stat | INSERT | Dateiposition4; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D019 | SCHNITT_IT0001.Teilbereich | INSERT | Dateiposition5; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D020 | SCHNITT_IT0001.Kostenstelle | INSERT | Dateiposition6; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D021 | SCHNITT_IT0001.Tarif | INSERT | Dateiposition7; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D022 | SCHNITT_IT0001.Azubi | INSERT | Dateiposition8; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D023 | SCHNITT_IT0001.Person | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D024 | SCHNITT_IT0001.von | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D025 | SCHNITT_IT0001.bis | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D026 | SCHNITT_IT0001.Stat | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D027 | SCHNITT_IT0001.Teilbereich | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D028 | SCHNITT_IT0001.Kostenstelle | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D029 | SCHNITT_IT0001.Tarif | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D030 | SCHNITT_IT0001.Azubi | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D031 | SCHNITT_IT0007.— Zeilen | TRUNCATE | Gesamte Tabelle vor jeweiliger Datei/Satzgruppe | Namen je Datei, IT je Ordner | ZAL:B |
| ZAL-D032 | SCHNITT_IT0007.Person | INSERT | Dateiposition1; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D033 | SCHNITT_IT0007.von | INSERT | Dateiposition2; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D034 | SCHNITT_IT0007.bis | INSERT | Dateiposition3; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D035 | SCHNITT_IT0007.Maz | INSERT | Dateiposition4; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D036 | SCHNITT_IT0007.Waz | INSERT | Dateiposition5; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D037 | SCHNITT_IT0007.VZTZ | INSERT | Dateiposition6; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D038 | SCHNITT_IT0007.AZPR | INSERT | Dateiposition7; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D039 | SCHNITT_IT0007.Person | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D040 | SCHNITT_IT0007.von | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D041 | SCHNITT_IT0007.bis | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D042 | SCHNITT_IT0007.Maz | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D043 | SCHNITT_IT0007.Waz | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D044 | SCHNITT_IT0007.VZTZ | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D045 | SCHNITT_IT0007.AZPR | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D046 | SCHNITT_IT0050.— Zeilen | TRUNCATE | Gesamte Tabelle vor jeweiliger Datei/Satzgruppe | Namen je Datei, IT je Ordner | ZAL:B |
| ZAL-D047 | SCHNITT_IT0050.Person | INSERT | Dateiposition1; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D048 | SCHNITT_IT0050.von | INSERT | Dateiposition2; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D049 | SCHNITT_IT0050.bis | INSERT | Dateiposition3; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D050 | SCHNITT_IT0050.FT | INSERT | Dateiposition4; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D051 | SCHNITT_IT0050.WZ | INSERT | Dateiposition5; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D052 | SCHNITT_IT0050.Zeitausweis | INSERT | Dateiposition6; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D053 | SCHNITT_IT0050.UZ | INSERT | Dateiposition7; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D054 | SCHNITT_IT0050.Provision | INSERT | Dateiposition8; Umrechnung/Filter siehe Vertrag | Namen UTF8, IT Encoding.Default; Azubi-DDL-Lücke | ZAL:B |
| ZAL-D055 | SCHNITT_IT0050.Person | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D056 | SCHNITT_IT0050.von | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D057 | SCHNITT_IT0050.bis | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D058 | SCHNITT_IT0050.FT | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D059 | SCHNITT_IT0050.WZ | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D060 | SCHNITT_IT0050.Zeitausweis | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D061 | SCHNITT_IT0050.UZ | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D062 | SCHNITT_IT0050.Provision | SELECT | Namenübernahme bzw. View/SQL-Folgekette | Transform erreicht; schemaabhängig | ZAL:NAM, ZAL:VIEW, ZAL:MAIN |
| ZAL-D063 | Personen.PersonID | SELECT/INSERT | Neue IDs aus SCHNITT_Namen | Namen-SP, beide Varianten | ZAL:NAM |
| ZAL-D064 | Personen.Nachname | INSERT/UPDATE | Nachname/Vorname/GebDat/Tel/Mail | Nach PersonID; GebDat bei sechs DateifeldernNULL | ZAL:NAM |
| ZAL-D065 | Personen.Vorname | INSERT/UPDATE | Nachname/Vorname/GebDat/Tel/Mail | Nach PersonID; GebDat bei sechs DateifeldernNULL | ZAL:NAM |
| ZAL-D066 | Personen.GebDat | INSERT/UPDATE | Nachname/Vorname/GebDat/Tel/Mail | Nach PersonID; GebDat bei sechs DateifeldernNULL | ZAL:NAM |
| ZAL-D067 | Personen.Telefon1 | INSERT/UPDATE | Nachname/Vorname/GebDat/Tel/Mail | Nach PersonID; GebDat bei sechs DateifeldernNULL | ZAL:NAM |
| ZAL-D068 | Personen.Mail | INSERT/UPDATE | Nachname/Vorname/GebDat/Tel/Mail | Nach PersonID; GebDat bei sechs DateifeldernNULL | ZAL:NAM |
| ZAL-D069 | SCHNITT_IT00XX.Person | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D070 | SCHNITT_IT00XX.von | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D071 | SCHNITT_IT00XX.bis | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D072 | SCHNITT_IT00XX.Stat | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D073 | SCHNITT_IT00XX.Teilbereich | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D074 | SCHNITT_IT00XX.Kostenstelle | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D075 | SCHNITT_IT00XX.Azubi | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D076 | SCHNITT_IT00XX.FT | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D077 | SCHNITT_IT00XX.WZ | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D078 | SCHNITT_IT00XX.UZ | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D079 | SCHNITT_IT00XX.Maz | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D080 | SCHNITT_IT00XX.Waz | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D081 | SCHNITT_IT00XX.VZTZ | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D082 | SCHNITT_IT00XX.Tarif | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D083 | SCHNITT_IT00XX.Zeitausweis | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D084 | SCHNITT_IT00XX.Provision | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D085 | SCHNITT_IT00XX.AZPR | VIEW/SELECT | Zeitintervall-Schnitt über Person, A/B Überlappung; Enddatum9999→NULL | View aus drei IT-Stagingtabellen | ZAL:VIEW |
| ZAL-D086 | RMRundung.Bezeichnung | SELECT/INSERT | kein | Fehlende Labels; Präfix KDW20000+/GKK10000+Teilbereich | ZAL:BASIS |
| ZAL-D087 | RMZuschlag.Bezeichnung | SELECT/INSERT | kein sowie Teilbereichpräfix_S1/_S2 | Fehlende Labels; Präfix KDW20000+/GKK10000+Teilbereich | ZAL:BASIS |
| ZAL-D088 | RMRahmen.Bezeichnung | SELECT/INSERT | kein sowie Teilbereichpräfix_S1/_S2 | Fehlende Labels; Präfix KDW20000+/GKK10000+Teilbereich | ZAL:BASIS |
| ZAL-D089 | RMPausengrenzen.Bezeichnung | SELECT/INSERT | Teilbereichpräfix | Fehlende Labels; Präfix KDW20000+/GKK10000+Teilbereich | ZAL:BASIS |
| ZAL-D090 | Regionen.ID | SELECT/INSERT | 0/kein | Fehlender Basissatz | ZAL:BASIS |
| ZAL-D091 | Regionen.Bezeichnung | SELECT/INSERT | 0/kein | Fehlender Basissatz | ZAL:BASIS |
| ZAL-D092 | RM.Bezeichnung | SELECT/INSERT | Teilbereichpräfix+Z/O | Fehlendes Modell | ZAL:RM |
| ZAL-D093 | RM.ID | SELECT | Modellzuordnung; alle RM ohne Calc/Pause | RM-Ergänzung | ZAL:RM |
| ZAL-D094 | RM.Bezeichnung | SELECT | Modellzuordnung; alle RM ohne Calc/Pause | RM-Ergänzung | ZAL:RM |
| ZAL-D095 | RMRahmen.ID | SELECT | Präfix_S1 | RM-Ergänzung | ZAL:RM |
| ZAL-D096 | RMRahmen.Bezeichnung | SELECT | Präfix_S1 | RM-Ergänzung | ZAL:RM |
| ZAL-D097 | RMZuschlag.ID | SELECT | ModellZ→Präfix_S1, sonstkein | RM-Ergänzung | ZAL:RM |
| ZAL-D098 | RMZuschlag.Bezeichnung | SELECT | ModellZ→Präfix_S1, sonstkein | RM-Ergänzung | ZAL:RM |
| ZAL-D099 | RMRundung.ID | SELECT | kein | RM-Ergänzung | ZAL:RM |
| ZAL-D100 | RMRundung.Bezeichnung | SELECT | kein | RM-Ergänzung | ZAL:RM |
| ZAL-D101 | RMPausengrenzen.ID | SELECT | Präfix | RM-Ergänzung | ZAL:RM |
| ZAL-D102 | RMPausengrenzen.Bezeichnung | SELECT | Präfix | RM-Ergänzung | ZAL:RM |
| ZAL-D103 | RMCalc.RMID | SELECT | Existiert irgendein Calc-Satz? | Alle RM | ZAL:RM |
| ZAL-D104 | RMCalc.von | INSERT | 1.1.2000/RM-ID/Lookup-IDs/0/0/0 | RM ohne Calc, auch Nichtimportmodelle | ZAL:RM |
| ZAL-D105 | RMCalc.RMID | INSERT | 1.1.2000/RM-ID/Lookup-IDs/0/0/0 | RM ohne Calc, auch Nichtimportmodelle | ZAL:RM |
| ZAL-D106 | RMCalc.RMRahmenID | INSERT | 1.1.2000/RM-ID/Lookup-IDs/0/0/0 | RM ohne Calc, auch Nichtimportmodelle | ZAL:RM |
| ZAL-D107 | RMCalc.RMZuschlagID | INSERT | 1.1.2000/RM-ID/Lookup-IDs/0/0/0 | RM ohne Calc, auch Nichtimportmodelle | ZAL:RM |
| ZAL-D108 | RMCalc.RMRundung | INSERT | 1.1.2000/RM-ID/Lookup-IDs/0/0/0 | RM ohne Calc, auch Nichtimportmodelle | ZAL:RM |
| ZAL-D109 | RMCalc.SollArt | INSERT | 1.1.2000/RM-ID/Lookup-IDs/0/0/0 | RM ohne Calc, auch Nichtimportmodelle | ZAL:RM |
| ZAL-D110 | RMCalc.GutschriftArt | INSERT | 1.1.2000/RM-ID/Lookup-IDs/0/0/0 | RM ohne Calc, auch Nichtimportmodelle | ZAL:RM |
| ZAL-D111 | RMCalc.GutschriftTagesart | INSERT | 1.1.2000/RM-ID/Lookup-IDs/0/0/0 | RM ohne Calc, auch Nichtimportmodelle | ZAL:RM |
| ZAL-D112 | RMPause.RMID | SELECT | Existiert irgendein Pause-Satz? | Alle RM | ZAL:RM |
| ZAL-D113 | RMPause.von | INSERT | 1.1.2000/RM-ID/1/Lookup-ID/1 | RM ohne Pause | ZAL:RM |
| ZAL-D114 | RMPause.RMID | INSERT | 1.1.2000/RM-ID/1/Lookup-ID/1 | RM ohne Pause | ZAL:RM |
| ZAL-D115 | RMPause.PausenArt | INSERT | 1.1.2000/RM-ID/1/Lookup-ID/1 | RM ohne Pause | ZAL:RM |
| ZAL-D116 | RMPause.RMPausenGrenzenID | INSERT | 1.1.2000/RM-ID/1/Lookup-ID/1 | RM ohne Pause | ZAL:RM |
| ZAL-D117 | RMPause.Basis | INSERT | 1.1.2000/RM-ID/1/Lookup-ID/1 | RM ohne Pause | ZAL:RM |
| ZAL-D118 | Filialen.FilialID | SELECT/INSERT | 10000+Teilbereich als ID/Bezeichnungen, Mandant1/Region0/LandX; zusätzlich0 Import/Imp | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D119 | Filialen.Bezeichnung | SELECT/INSERT | 10000+Teilbereich als ID/Bezeichnungen, Mandant1/Region0/LandX; zusätzlich0 Import/Imp | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D120 | Filialen.KurzBez | SELECT/INSERT | 10000+Teilbereich als ID/Bezeichnungen, Mandant1/Region0/LandX; zusätzlich0 Import/Imp | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D121 | Filialen.Mandant | SELECT/INSERT | 10000+Teilbereich als ID/Bezeichnungen, Mandant1/Region0/LandX; zusätzlich0 Import/Imp | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D122 | Filialen.Region | SELECT/INSERT | 10000+Teilbereich als ID/Bezeichnungen, Mandant1/Region0/LandX; zusätzlich0 Import/Imp | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D123 | Filialen.Land | SELECT/INSERT | 10000+Teilbereich als ID/Bezeichnungen, Mandant1/Region0/LandX; zusätzlich0 Import/Imp | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D124 | PepGruppen.PEPGruppenID | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D125 | PepGruppen.PEPGruppenBez | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D126 | PepGruppen.PepGruppenBezKurz | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D127 | PepGruppen.Filiale | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D128 | PepGruppen.InUebersicht | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D129 | PepGruppen.InUmsatzPlanung | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D130 | PepGruppen.InFilialUmsatz | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D131 | PepGruppen.Etage | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D132 | PepGruppen.aktiv | SELECT/INSERT | Je aller Filialen GruppeID=FilialID, Import/Imp, Flags0/Etage-/aktiv0; zusätzlich0 | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D133 | Abteilungen.AbteilungID | SELECT/INSERT | Kostenstelle/Nummer; zusätzlich0 inaktiv | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D134 | Abteilungen.Bezeichnung | SELECT/INSERT | Kostenstelle/Nummer; zusätzlich0 inaktiv | Nur fehlende Basisstämme | ZAL:STAMM |
| ZAL-D135 | ITORGA.PersonenStammID | SELECT | Neueste offene Orga Abteilung0→Austritt=von-1; später global neueste Orga für aktiv | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D136 | ITORGA.von | SELECT | Neueste offene Orga Abteilung0→Austritt=von-1; später global neueste Orga für aktiv | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D137 | ITORGA.bis | SELECT | Neueste offene Orga Abteilung0→Austritt=von-1; später global neueste Orga für aktiv | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D138 | ITORGA.Abteilung | SELECT | Neueste offene Orga Abteilung0→Austritt=von-1; später global neueste Orga für aktiv | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D139 | ITPEP.PersonenStammID | SELECT | Abgleich Austrittsliste | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D140 | ITPEP.von | SELECT | Abgleich Austrittsliste | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D141 | ITPEP.bis | SELECT | Abgleich Austrittsliste | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D142 | ITPEP.bis | UPDATE | Austritt oder eigener von, wenn Austritt<von | bisNULL oder bis>=Austritt | ZAL:INAKTIV |
| ZAL-D143 | ITPEP.— Zeilen | DELETE | von>Austritt | Inaktivpersonen | ZAL:INAKTIV |
| ZAL-D144 | Pep2.Name | SELECT | Austrittszuordnung | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D145 | Pep2.Datum | SELECT | Austrittszuordnung | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D146 | Pep2.— Zeilen | DELETE | Datum>Austritt | Inaktivpersonen | ZAL:INAKTIV |
| ZAL-D147 | PepBerechnet.PersonID | SELECT | Austrittszuordnung | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D148 | PepBerechnet.Datum | SELECT | Austrittszuordnung | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D149 | PepBerechnet.— Zeilen | DELETE | Datum>Austritt | Inaktivpersonen | ZAL:INAKTIV |
| ZAL-D150 | UrlaubsAbtragung.Person | SELECT | Austrittszuordnung | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D151 | UrlaubsAbtragung.Datum | SELECT | Austrittszuordnung | Inaktiv-SP | ZAL:INAKTIV |
| ZAL-D152 | UrlaubsAbtragung.— Zeilen | DELETE | Datum>Austritt | Inaktivpersonen | ZAL:INAKTIV |
| ZAL-D153 | UrlaubsAbtragung.Person | SELECT | SUM(Abtragung) getrennt QuellenP/Z | KontingentKorrektur, global | ZAL:KONT |
| ZAL-D154 | UrlaubsAbtragung.Art | SELECT | SUM(Abtragung) getrennt QuellenP/Z | KontingentKorrektur, global | ZAL:KONT |
| ZAL-D155 | UrlaubsAbtragung.GültigVon | SELECT | SUM(Abtragung) getrennt QuellenP/Z | KontingentKorrektur, global | ZAL:KONT |
| ZAL-D156 | UrlaubsAbtragung.Abtragung | SELECT | SUM(Abtragung) getrennt QuellenP/Z | KontingentKorrektur, global | ZAL:KONT |
| ZAL-D157 | UrlaubsAbtragung.Quelle | SELECT | SUM(Abtragung) getrennt QuellenP/Z | KontingentKorrektur, global | ZAL:KONT |
| ZAL-D158 | Urlaubsanspruch.Person | SELECT | Leftjoin Abtragung | Global | ZAL:KONT |
| ZAL-D159 | Urlaubsanspruch.Art | SELECT | Leftjoin Abtragung | Global | ZAL:KONT |
| ZAL-D160 | Urlaubsanspruch.GültigVon | SELECT | Leftjoin Abtragung | Global | ZAL:KONT |
| ZAL-D161 | Urlaubsanspruch.AbtragungP | UPDATE | Summe oder0 | Alle Ansprüche, nicht nur Importpersonen | ZAL:KONT |
| ZAL-D162 | Urlaubsanspruch.AbtragungZ | UPDATE | Summe oder0 | Alle Ansprüche, nicht nur Importpersonen | ZAL:KONT |
| ZAL-D163 | ITORGA.Filiale | UPDATE | 0 | Austritts-Orga von=Austritt+1, Filiale<>10199 | ZAL:INAKTIV |
| ZAL-D164 | Personen.aktiv | UPDATE | Neueste Orga-Abteilung0 und von<heute-30→0, sonst1 | Alle Personen | ZAL:INAKTIV |
| ZAL-D165 | PepBerechnet.PersonID | SELECT | Importintervall; gültige Orga/aktiveZeit/PEP; Jahr>=YEAR(getdate()-1) | Nachberechnung | ZAL:NACH |
| ZAL-D166 | PepBerechnet.Datum | SELECT | Importintervall; gültige Orga/aktiveZeit/PEP; Jahr>=YEAR(getdate()-1) | Nachberechnung | ZAL:NACH |
| ZAL-D167 | PepBerechnet.tsCalc | SELECT | Importintervall; gültige Orga/aktiveZeit/PEP; Jahr>=YEAR(getdate()-1) | Nachberechnung | ZAL:NACH |
| ZAL-D168 | PepBerechnet.tsCalc | UPDATE | NULL | Nur bisher nichtNULL und gültiger Nachberechnungsbereich | ZAL:NACH |
| ZAL-D169 | CStatus.PersonenStammID | SELECT | Importintervall und gültige Orga/aktiveZeit | Nachberechnung | ZAL:NACH |
| ZAL-D170 | CStatus.Datum | SELECT | Importintervall und gültige Orga/aktiveZeit | Nachberechnung | ZAL:NACH |
| ZAL-D171 | CStatus.CStatus | SELECT | Importintervall und gültige Orga/aktiveZeit | Nachberechnung | ZAL:NACH |
| ZAL-D172 | CStatus.CStatus | UPDATE | 1 | CStatus!=1 im gültigen Importbereich; kein Jahrfilter | ZAL:NACH |
| ZAL-D173 | ITORGA.PersonenStammID | SELECT | Gültigkeitsvoraussetzung | Nachberechnung | ZAL:NACH |
| ZAL-D174 | ITORGA.von | SELECT | Gültigkeitsvoraussetzung | Nachberechnung | ZAL:NACH |
| ZAL-D175 | ITORGA.bis2 | SELECT | Gültigkeitsvoraussetzung | Nachberechnung | ZAL:NACH |
| ZAL-D176 | ITZeit.PersonenStammID | SELECT | Gültigkeit/IsAktiv1 | Nachberechnung | ZAL:NACH |
| ZAL-D177 | ITZeit.von | SELECT | Gültigkeit/IsAktiv1 | Nachberechnung | ZAL:NACH |
| ZAL-D178 | ITZeit.bis2 | SELECT | Gültigkeit/IsAktiv1 | Nachberechnung | ZAL:NACH |
| ZAL-D179 | ITZeit.IsAktiv | SELECT | Gültigkeit/IsAktiv1 | Nachberechnung | ZAL:NACH |
| ZAL-D180 | ITPEP.PersonenStammID | SELECT | Gültigkeit nur PepBerechnet-Zweig | Nachberechnung | ZAL:NACH |
| ZAL-D181 | ITPEP.von | SELECT | Gültigkeit nur PepBerechnet-Zweig | Nachberechnung | ZAL:NACH |
| ZAL-D182 | ITPEP.bis2 | SELECT | Gültigkeit nur PepBerechnet-Zweig | Nachberechnung | ZAL:NACH |
Gemeinsame Nebenwirkungen BASE
Block17 ergänzt explizit5314/5315/5316/5317/5318/5319/5323/5324/5325/5326/5327/5328/6000/6006/6007/6008/6009. Alle nutzen BASE-Start/Ende;6001/6002/6003/6004/6005 verwenden LEGACY statt BASE. Fachverträge jeID, keine automatische gemeinsame Kunden-/Dateiwirkung.
Stand: 2026-10-02 · Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Gilt ausdrücklich für Block 01: 1012, 1013, 1016, 1017, 1018, 1019, 1079, 1080, 1082, 2016 sowie Block 02: 2011, 2012, 2014, 2015, 2017, 2018, 2019, 2033, 2034, 2041 sowie Block 03: 1057, 1058, 1059, 1060, 2030, 2035, 2040, 2042, 2044 sowie Block 04: 2053, 2054, 1081, 2031, 2052 sowie Block 05: 2045, 2050 sowie Block 06: 3044, Block 08: 1010, 1011, 1015 und Block 10: 1047, 1051 sowie Block 12: 1064. 2024, 1020, 1030, 1048, 1049, 1050, 1052, 1053, 1054, 1061, 1062 und 1063 verwenden diese Basis nicht. 1078 enthält die gleichversionierten Beziehungen weiterhin in seiner Einzelbeschreibung; keine Doppelzählung für 1078. Kein Test-/Deploymentnachweis.
Block 13 ergänzt ausdrücklich 1065,1066,1068,1069,1071,1072,1074: aktive Implementierungen bzw. Hilfsinstanzen erben BASE und rufen Start/Ende auf. Bei 1074 ist AusführungEnde nur bei unbehelligtem Abschluss erreichbar; Ressourcen-/DB-/SP-Fehler können es überspringen. 1067/1070/1073 verwenden direkte LEGACY-Meldungen.
Block14 ergänzt ausdrücklich 1104,1105,1106,1108,1109,1150,1210,1214,1215,1222. Aktive Klassen/Instanzen erben BASE und starten/beenden den Lauf; ungefangene Fehler können das Ende überspringen. Nur gemeinsame Rückmeldung, keine Gesamttransaktion oder erfolgreiche Fachwirkung. 1203 hat keinen BASE-/LEGACY-Pfad.
Block15 ergänzt ausdrücklich 2025/2026/2027/2049 mit erreichbarem Instanz-Start/Ende. Die aktiven Veraltet-Stubs 2028/2029/2032/2046/2047/2048 nutzen trotz Klassenvererbung nur den direkten LEGACY-Meldepfad; keine BASE-Ausführung. 2022 hat keinen Delegate.
Reichweite und Wiederverwendung
Block16 ergänzt ausdrücklich 2051/2055/3043/3512/3513/3520/3521/3522. WebZerf2 nutzt Multi-Start/Ende mit BASE je Teilstufe; IsMultiSchnitt reduziert Dialoge, nicht Mail-/API-Wirkungen. Nach Fehlern können weitere Teilstufen starten. 3011 ohne Delegate;3031/3032/3041/3042/3060/3500 nur LEGACY.
Die ausdrücklich zugeordneten Programmregistrierungen mit ihren Implementierungen erben cSchnitt_Basis und rufen AusführungStart/AusführungEnde auf. Gemeinsam geprüfte Basisklasse/Registrierung; Mail-/Logging-/API-Details aus der dokumentierten Pilotprüfung desselben Commits wiederverwendet. Nicht automatisch auf jede zukünftige Schnittstelle übertragen: Erreichbarkeit, Overrides, Sonderpfade und Quellenstand jeweils prüfen.
Start setzt Status/Protokoll zurück. Fehlerstatus steigt nur (0→1→2). Fehlerfrei() ist True nur bei Status 0. SILENT unterdrückt die Startanzeige und beendet AusführungEnde sofort. MANUELL wird über Schlüsselinzidenz erkannt, unterdrückt direkte Mail und API-sendmail, nicht die API-Meldung selbst. MAILTO leer → MAIL_SCHNITTSTELLETO. Bei nicht lokal gefangener Exception kann der Abschluss ausfallen (besonders 1079/1082); 2016 hat einen getrennten Rückgabe-/Fehlerstatusbefund; 2017 reicht ebenfalls den Instanzstatus nicht als Shared-Rückgabe durch. 1057–1060 besitzen untypisierte Shared-Einstiege ohne Return (Nothing) und übernehmen Modul nicht; Instanz-Abschluss separat betrachten. Die acht Exporte aus Block 02/03 verwenden cSchnittExport mit Start/Ende.
Erfolg: OnSuccess; Fehlerstatus 1: OnSuccess ODER OnError; Stoppstatus 2: OnError. Mail nur nicht MANUELL und nicht SILENT; API wird sonst unabhängig vom sendmail-Schalter aufgerufen. Direkte Mail speichert Body/Outbox in eigener Transaktion (keine Fachimporttransaktion). SendOutbox(5) kann ältere fällige Schnittstellenmails versenden und deren Anhänge lesen; diese Fachpfade erzeugen selbst keine Anhänge. SMTP-Testadresse kann Zieladresse ersetzen. Mail-/API-Ergebnis ist kein verlässlicher Bestandteil von Fehlerfrei().
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.
Quellenverzeichnis
Siehe auch: Übersicht der Schnittstellen. Keine Ausführung oder Codekorrektur.