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.

Übersicht der Schnittstellen