Inhaltsverzeichnis
Schnittstelle 1072: Produktivitäten je Filialabteilung ersetzen
Du ersetzt sämtliche Produktivitäten je Filialabteilung durch Dateiwert und ein festes Gültigkeitsintervall.
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. TextFieldParser Encoding.Default, Semikolon, TrimWhiteSpace; HasFieldsEnclosedInQuotes nicht explizit geändert (Frameworkdefault True). Keine erste Zeile übersprungen. Mindestens2 Felder, Zusatzfelder ignoriert: 1 FilialAbteilung (numerisch), 2 Produktivitaet (numerisch/Float). Zweifeld-Textheader wird durch IsNumeric still übersprungen, nicht als Fehler gezählt. Weniger2 Felder oder Konvertierungs-/SQLfehler setzen BASE-Fehler; Folgezeilen werden weiter verarbeitet.
SQL-Kette und Schreibverhalten
Keine Fach-SP. Parser öffnen → DB öffnen → TRUNCATE gesamte ProduktivitaetenFilialabteilung → INSERT je numerischer Zeile. FilialAbteilung und Produktivitaet aus Datei; von='1.1.2000', bis='31.12.2099' als SQL-Textliterale (sessionabhängige Datumskonvertierung). Kein UPDATE/Upsert, kein Archiv, keine automatische Umsatzplanberechnung. CommandTimeout0.
Schema0537: vier NOT-NULL-Spalten, PK(FilialAbteilung,von,bis). Doppelte Schlüssel im Import treffen dieselbe festgesetzte Gültigkeit und können PK-Fehler auslösen. Jeder Lauf ersetzt sämtliche alten Zeiträume und Abteilungen; keine Transaktion. Instanz erbt BASE, Fehlerfrei als Shared-Rückgabe.
Befunde, Kontext und Tests
Header-only/leer/nichtnumerische Datei kann gesamten Zielbestand ohne erfolgreiche Nutzzeile leeren. Alte zeitlich differenzierte Produktivitäten gehen verloren. Frühere Wiki-Aussage „Moses, vor Umsatzplan“ bleibt als historische Bedienungsnotiz erkennbar, nicht als von dieser Methode selbst gestartete Folgekette; 1054 ist der separat dokumentierte Planimport. Duplikate, internationale SQL-Datumsformate, Produktivität0 und erwartete Einheiten isoliert prüfen.
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 |
|---|
| 1072-D001 | ProduktivitaetenFilialabteilung.— gesamte Tabelle | TRUNCATE | Alle Abteilungen/Gültigkeitsintervalle | jede Datei | B |
| 1072-D002 | ProduktivitaetenFilialabteilung.FilialAbteilung | INSERT | Dateifeld1 | numerische Zeile; PK der drei Schlüsselspalten | B,DDL |
| 1072-D003 | ProduktivitaetenFilialabteilung.von | INSERT | SQL-Literal 1.1.2000 | numerische Zeile; PK der drei Schlüsselspalten | B,DDL |
| 1072-D004 | ProduktivitaetenFilialabteilung.bis | INSERT | SQL-Literal 31.12.2099 | numerische Zeile; PK der drei Schlüsselspalten | B,DDL |
| 1072-D005 | ProduktivitaetenFilialabteilung.Produktivitaet | INSERT | Dateifeld2 | numerische Zeile; PK der drei Schlüsselspalten | 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.