Inhaltsverzeichnis
Schnittstelle 1071: UPM nach Filialabteilung/Kostenstelle importieren
Du ersetzt den gesamten UPM-Stagingbestand durch Produktivitätswerte aus einer Datei. Der Import berechnet keine Tagesumsätze.
Stand: 02.10.2026, statische Analyse von PEP4 Desktop, Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Statisch dokumentiert; Nutzerprüfung offen. Kein Schnittstellenlauf, Live-Schema- oder API-Test. Lokale PEP-Änderungen außerhalb dieser Schnittstellen wurden nicht einbezogen.
Zweck, Parameter und Dateivertrag
PFAD: FileImport, SetFile prüft bestehende Datei. UTF8-TextFieldParser (BOM-Erkennung), Semikolon, TrimWhiteSpace, Quotes, erste Zeile immer Header. Kein Archiv und keine Ausgabe; Werte bleiben in Import.dbo.UPM, keine Tagesumsätze oder Vorgaben direkt berechnet.
| Position / Variante | Verwendung |
|---|
| mindestens3 numerische Felder: 1 Filiale, 2 Abteilung, 3 UPM | FilialAbteilung = (10000 + Feld1) * 1000 + Feld2, UPM=Feld3; weitere Felder ungenutzt |
| genau2 numerische Felder: 1 FilialAbteilung, 2 UPM | Schlüssel bereits fertig, UPM=Feld2 |
Numerik via IsNumeric, danach VB-Konvertierung in bigint/float-Parameter. Keine Positivitäts-/Einheitenprüfung. Zeilen mit Fehler setzen BASE-Fehler, Import setzt mit Folgesätzen fort.
SQL-Kette, Schreibverhalten und Betrieb
Keine Fach-SP. Öffnet DB, TRUNCATE gesamte Import.dbo.UPM vor Dateiöffnung, anschließend INSERT(FilialAbteilung,Upm) je Zeile. Kein UPDATE/Upsert/Transaktion. Timeout fest3600. Schema0527: beide Felder NOT NULL, kein PK/Unique, Duplikate sind nicht durch diese DDL verhindert. Migration erstellt nur bei vorhandener Import-DB; verschluckter Migrationscatch beweist keine Live-Tabelle.
cSchnittKstUpm_Basis erbt BASE, Start→SetFile→Import→Ende, Return Fehlerfrei durch Shared gereicht. Keine Folgeprozedur zum Verteilen oder Anwenden der UPM. Das unterscheidet Stagingimport von späterer Vorgabeberechnung.
Befunde und Tests
Ein Import ersetzt auch fremde/fehlende Kostenstellen, leere/header-only Datei leert alles. Lese-/Zeilenfehler können einen unvollständigen Ersatzbestand hinterlassen; keine Sicherung des alten Bestands. Wiederholung und Zwei-/Dreifeldformat, Duplikate sowie erwartete UPM-Einheit isoliert testen. Frühere Wiki-Kurzbeschreibung wird präzisiert: UPM ist Produktivität, kein importierter Tagesumsatz.
Systemeinstellungen und gemeinsame Nebenwirkungen
Gemeinsamer Rückmeldepfad: cSchnitt_Basis mit bedingtem Logging, Mail-/Outbox- und Meldungs-API-Aufruf. MANUELL/SILENT und Rückmeldeschalter beeinflussen diesen Pfad; serverseitige API-Wirkungen bleiben offen.
Keine zusätzliche fachliche ZW-Einstellung im lokalen Importpfad gelesen. Timeoutwerte stehen im Betriebsabschnitt, nicht automatisch SQL_TIMEOUT zuordnen.
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 |
|---|
| 1071-D001 | Import.dbo.UPM.— gesamte Tabelle | TRUNCATE | Vollständiger Ersatz vor Lesen | jede bestehende Eingangsdatei | B |
| 1071-D002 | Import.dbo.UPM.FilialAbteilung | INSERT | fertiger Schlüssel oder (10000+Filiale)*1000+Abteilung | numerische Zeile | B,DDL |
| 1071-D003 | Import.dbo.UPM.Upm | INSERT | Dateifeld2 oder3; keine Einheitenumrechnung | numerische Zeile | B,DDL |
Quellen und weitere Schritte
Enum, aktive Registrierung, Projekteinschluss und die in der internen Einzelbeschreibung genannten VB-/SQL-Dateien wurden am Quellencommit geprüft. Konkrete fehlende Quellen und fachliche Fragen stehen oben; bei Tests benötigst du eine isolierte Umgebung und synthetische Dateien.