Inhaltsverzeichnis

Schnittstelle 1203: Sage LohnXL-Personalimport

Diese technische Referenz beschreibt die Eingänge, Ausgänge und aktiven Codepfade von Sage LohnXL-Personalimport. Sie ist keine Anleitung zur ungeprüften Ausführung.

Stand: 02.10.2026, Desktop-Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Statisch dokumentiert; Nutzerprüfung offen. Kein Import, Datenbank- oder HTTP-Test.

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

Identität und Quellenstand

eProgramm.ImpPersonalSageXL = 1203. Aktive feste Registrierung → cSchnittSageLohnXL.Ausführen; 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.

Zweck und Ablauf

Festbreitendatei → SCHNITT_SageLohnXL → dbo.SCHNITT_SageLohnXl_SP → Personen sowie fehlende ITZeit/ITORGA und Basisstämme. PFAD=FileImport; direkter Dictionary-Zugriff vor Try, keine Dateiprüfung. Staging wird global gelöscht, bevor StreamReader die Datei öffnet.

Dateivertrag

Encoding.Default; keine Trennzeichen/Quotes/Kopfzeile. Nur Zeilen mit Zeichen1–2='01' verarbeitet. Mindestens668 Zeichen für diese Satzart nötig; keine Längenprüfung, bereits Zeile<2 bricht ab. Positionen ab1, Ende inklusive:

Feld Von Bis Länge
FirmaID 3 4 2
PersonID 5 13 9
PersonalNummer 66 74 9
Aktiv 96 96 1
Anrede 377 393 17
Nachname 117 146 30
Vorname 147 176 30
Titel 167 186 20
Strasse 187 216 30
PLZ 217 221 5
Ort 222 246 25
Telefon 247 261 15
Mobil 534 558 25
Mail 559 658 100
Gebdat 265 274 10
Geschlecht 275 275 1
Abteilung 277 281 5
AbteilungBez 282 301 20
Kostenstelle5 302 306 5
KostenstelleBez 307 326 20
Funktion 327 331 5
Eintritt 352 361 10
Austritt 362 371 10
Waz 372 376 5
WazTarif 491 495 5
WazIndividuell 496 500 5
EndeProbe 501 510 10
Befristung 511 520 10
Kostenstelle10 659 668 10

Strings werden überwiegend Trim verarbeitet; Zahlen implizit SQL-Parameterkonvertierung. Datumsstrings '00.00.0000'→NULL erst in SP, andere Datumswerte SQL-kulturabhängig.

SQL-Wirkung und Befunde

Personen nach PersonID anlegen/aktualisieren; Mapping unten. ITZeit nur bei überhaupt keinem Person-Zeitsatz neu: heute, RMID1, RMAZPlan1, Waz/WazTarif, Auszahlung1. ITORGA entsprechend nur wenn kein Orga-Satz existiert: heute/FirmaID/Abteilung/Hierarchiestufe1. Vorhandene IT-Sätze bleiben unverändert. Fehlende Filialen/Abteilungen aus Nummern; Auszahlungsgruppe/Hierarchiestufe1 Standard. Kein Rechenlauf/Archiv.

1203-F01: Vorname liest30 Zeichen, U481 erlaubt nvarchar20; lange Werte können SQL-Fehler auslösen. 1203-F02: Vorname (147–176) und Titel (167–186) überlappen zehn Zeichen; tatsächlicher Liefervertrag Q13. Weitere Stagingfelder (u.a. Titel/PersonalNummer/Geschlecht) werden von SP nicht auf Personen übertragen.

Standard30s, keine SQL_TIMEOUT-Zuweisung, keine Transaktion. Fehler→MsgBox/False, normal True. Kein BASE oder LEGACY-Profil. FK-vorausgesetzte RM/Plan1 werden hier nicht angelegt, Installation Q02. Test: kurze Sätze, langes Vorname, bestehende Zeit-/Orgahistorie, Fehler nach Reset.

Systemeinstellungen und gemeinsame Nebenwirkungen

Kein BASE-/LEGACY-Profil: direkter MsgBox-Fehlerpfad.

Keine zusätzliche fachliche ZW-Einstellung im lokalen Importpfad gelesen. Timeoutwerte stehen im Betriebsabschnitt, nicht automatisch SQL_TIMEOUT zuordnen.

Fachdaten werden ohne gemeinsame Transaktion verarbeitet. 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
1203-D001 SCHNITT_SageLohnXL.— Zeilen DELETE Gesamtes Staging Vor Fileöffnen B
1203-D002 SCHNITT_SageLohnXL.FirmaID INSERT Dateiposition3 bis4 Satzart01 B
1203-D003 SCHNITT_SageLohnXL.PersonID INSERT Dateiposition5 bis13 Satzart01 B
1203-D004 SCHNITT_SageLohnXL.PersonalNummer INSERT Dateiposition66 bis74 Satzart01 B
1203-D005 SCHNITT_SageLohnXL.Aktiv INSERT Dateiposition96 bis96 Satzart01 B
1203-D006 SCHNITT_SageLohnXL.Anrede INSERT Dateiposition377 bis393 Satzart01 B
1203-D007 SCHNITT_SageLohnXL.Nachname INSERT Dateiposition117 bis146 Satzart01 B
1203-D008 SCHNITT_SageLohnXL.Vorname INSERT Dateiposition147 bis176 Satzart01 B
1203-D009 SCHNITT_SageLohnXL.Titel INSERT Dateiposition167 bis186 Satzart01 B
1203-D010 SCHNITT_SageLohnXL.Strasse INSERT Dateiposition187 bis216 Satzart01 B
1203-D011 SCHNITT_SageLohnXL.PLZ INSERT Dateiposition217 bis221 Satzart01 B
1203-D012 SCHNITT_SageLohnXL.Ort INSERT Dateiposition222 bis246 Satzart01 B
1203-D013 SCHNITT_SageLohnXL.Telefon INSERT Dateiposition247 bis261 Satzart01 B
1203-D014 SCHNITT_SageLohnXL.Mobil INSERT Dateiposition534 bis558 Satzart01 B
1203-D015 SCHNITT_SageLohnXL.Mail INSERT Dateiposition559 bis658 Satzart01 B
1203-D016 SCHNITT_SageLohnXL.Gebdat INSERT Dateiposition265 bis274 Satzart01 B
1203-D017 SCHNITT_SageLohnXL.Geschlecht INSERT Dateiposition275 bis275 Satzart01 B
1203-D018 SCHNITT_SageLohnXL.Abteilung INSERT Dateiposition277 bis281 Satzart01 B
1203-D019 SCHNITT_SageLohnXL.AbteilungBez INSERT Dateiposition282 bis301 Satzart01 B
1203-D020 SCHNITT_SageLohnXL.Kostenstelle5 INSERT Dateiposition302 bis306 Satzart01 B
1203-D021 SCHNITT_SageLohnXL.KostenstelleBez INSERT Dateiposition307 bis326 Satzart01 B
1203-D022 SCHNITT_SageLohnXL.Funktion INSERT Dateiposition327 bis331 Satzart01 B
1203-D023 SCHNITT_SageLohnXL.Eintritt INSERT Dateiposition352 bis361 Satzart01 B
1203-D024 SCHNITT_SageLohnXL.Austritt INSERT Dateiposition362 bis371 Satzart01 B
1203-D025 SCHNITT_SageLohnXL.Waz INSERT Dateiposition372 bis376 Satzart01 B
1203-D026 SCHNITT_SageLohnXL.WazTarif INSERT Dateiposition491 bis495 Satzart01 B
1203-D027 SCHNITT_SageLohnXL.WazIndividuell INSERT Dateiposition496 bis500 Satzart01 B
1203-D028 SCHNITT_SageLohnXL.EndeProbe INSERT Dateiposition501 bis510 Satzart01 B
1203-D029 SCHNITT_SageLohnXL.Befristung INSERT Dateiposition511 bis520 Satzart01 B
1203-D030 SCHNITT_SageLohnXL.Kostenstelle10 INSERT Dateiposition659 bis668 Satzart01 B
1203-D031 SCHNITT_SageLohnXL.FirmaID SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D032 SCHNITT_SageLohnXL.PersonID SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D033 SCHNITT_SageLohnXL.Aktiv SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D034 SCHNITT_SageLohnXL.Nachname SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D035 SCHNITT_SageLohnXL.Vorname SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D036 SCHNITT_SageLohnXL.Strasse SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D037 SCHNITT_SageLohnXL.PLZ SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D038 SCHNITT_SageLohnXL.Ort SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D039 SCHNITT_SageLohnXL.Telefon SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D040 SCHNITT_SageLohnXL.Mobil SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D041 SCHNITT_SageLohnXL.Mail SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D042 SCHNITT_SageLohnXL.Gebdat SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D043 SCHNITT_SageLohnXL.Abteilung SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D044 SCHNITT_SageLohnXL.Eintritt SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D045 SCHNITT_SageLohnXL.Austritt SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D046 SCHNITT_SageLohnXL.Waz SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D047 SCHNITT_SageLohnXL.WazTarif SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D048 SCHNITT_SageLohnXL.EndeProbe SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D049 SCHNITT_SageLohnXL.Befristung SELECT Übernahme-/Existenzpfad; übrige Stagingfelder nicht verwendet SQL-Pfad SQL
1203-D050 Personen.PersonID SELECT/INSERT Staging.PersonID, nur bei Neuanlage Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D051 Personen.Nachname INSERT/UPDATE Staging.Nachname Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D052 Personen.Vorname INSERT/UPDATE Staging.Vorname Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D053 Personen.GebDat INSERT/UPDATE Staging.Gebdat; 00.00.0000→NULL Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D054 Personen.Eintritt INSERT/UPDATE Staging.Eintritt; Nulldatum→NULL Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D055 Personen.Austritt INSERT/UPDATE Staging.Austritt; Nulldatum→NULL Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D056 Personen.aktiv INSERT/UPDATE Staging.Aktiv0→0, sonst1 Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D057 Personen.EndeProbe INSERT/UPDATE Staging.EndeProbe; Nulldatum→NULL Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D058 Personen.EndeBefristung INSERT/UPDATE Staging.Befristung; Nulldatum→NULL Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D059 Personen.Adresse1 INSERT/UPDATE Staging.Strasse Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D060 Personen.PLZ INSERT/UPDATE Staging.PLZ Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D061 Personen.Ort INSERT/UPDATE Staging.Ort Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D062 Personen.Telefon1 INSERT/UPDATE Staging.Telefon Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D063 Personen.Telefon2 INSERT/UPDATE Staging.Mobil Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D064 Personen.Mail INSERT/UPDATE Staging.Mail Nach PersonID; vorhandene Personen aktualisiert SQL
1203-D065 AuszahlungsGruppen.ID SELECT/INSERT 1/Standard Nur fehlende Stammsätze SQL
1203-D066 AuszahlungsGruppen.Bezeichnung SELECT/INSERT 1/Standard Nur fehlende Stammsätze SQL
1203-D067 Filialen.FilialID SELECT/INSERT FirmaID/Nummer Nur fehlende Stammsätze SQL
1203-D068 Filialen.Bezeichnung SELECT/INSERT FirmaID/Nummer Nur fehlende Stammsätze SQL
1203-D069 Hierarchiestufen.HiID SELECT/INSERT 1/Standard Nur fehlende Stammsätze SQL
1203-D070 Hierarchiestufen.HiBezeichnung SELECT/INSERT 1/Standard Nur fehlende Stammsätze SQL
1203-D071 Abteilungen.AbteilungID SELECT/INSERT Abteilung/Nummer Nur fehlende Stammsätze SQL
1203-D072 Abteilungen.Bezeichnung SELECT/INSERT Abteilung/Nummer Nur fehlende Stammsätze SQL
1203-D073 ITZeit.PersonenStammID SELECT Existiert überhaupt ein Zeit-Satz? SQL-Pfad SQL
1203-D074 ITZeit.PersonenStammID INSERT PersonID/heute/1/1/Waz/WazTarif/1 Nur Person ohne ITZeit, keine Updates SQL
1203-D075 ITZeit.von INSERT PersonID/heute/1/1/Waz/WazTarif/1 Nur Person ohne ITZeit, keine Updates SQL
1203-D076 ITZeit.RMID INSERT PersonID/heute/1/1/Waz/WazTarif/1 Nur Person ohne ITZeit, keine Updates SQL
1203-D077 ITZeit.RMAZPlanID INSERT PersonID/heute/1/1/Waz/WazTarif/1 Nur Person ohne ITZeit, keine Updates SQL
1203-D078 ITZeit.WAZ INSERT PersonID/heute/1/1/Waz/WazTarif/1 Nur Person ohne ITZeit, keine Updates SQL
1203-D079 ITZeit.WazBasis INSERT PersonID/heute/1/1/Waz/WazTarif/1 Nur Person ohne ITZeit, keine Updates SQL
1203-D080 ITZeit.Auszahlung INSERT PersonID/heute/1/1/Waz/WazTarif/1 Nur Person ohne ITZeit, keine Updates SQL
1203-D081 ITORGA.PersonenStammID SELECT Existiert überhaupt Orga-Satz? SQL-Pfad SQL
1203-D082 ITORGA.PersonenStammID INSERT PersonID/heute/FirmaID/Abteilung/1 Nur Person ohne ITORGA, keine Updates SQL
1203-D083 ITORGA.von INSERT PersonID/heute/FirmaID/Abteilung/1 Nur Person ohne ITORGA, keine Updates SQL
1203-D084 ITORGA.Filiale INSERT PersonID/heute/FirmaID/Abteilung/1 Nur Person ohne ITORGA, keine Updates SQL
1203-D085 ITORGA.Abteilung INSERT PersonID/heute/FirmaID/Abteilung/1 Nur Person ohne ITORGA, keine Updates SQL
1203-D086 ITORGA.Hierarchiestufe INSERT PersonID/heute/FirmaID/Abteilung/1 Nur Person ohne ITORGA, keine Updates SQL

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.

Schnittstellenübersicht

Quellen je Datei

Repository: seegerstefan/pep4desktop, master, obiger Commit. Je Datei ein Quellenlink; Kürzel in den Tabellen. Private Git-Quellen setzen Zugriffsrechte voraus.

Offene Abnahme

Externe Liefer-/API-Verträge und installierte Migrationen sind nicht bestätigt. Vor einem Test die beschriebenen Datenrisiken in einer isolierten Umgebung klären. Bei1214/1215 sind weitere Calc-/CalcPep-Feldwirkungen ausdrücklich noch nicht vollständig analysiert.

Übersicht aller Schnittstellen