Inhaltsverzeichnis

Schnittstelle 2015 – Kostenstellen importieren

Die Schnittstelle 2015 legt KRKostenstellen aus einer Datei an oder aktualisiert vorhandene Zeilen. Die Zuordnung zu einer Kostenstellengruppe wird jedoch nur beim Anlegen geschrieben. Umsatzdaten werden nicht unmittelbar geändert.

Wenn eine vorhandene Kostenstelle in der Datei eine andere Gruppe erhält, bleibt ihre bisherige KRKostenstellenGruppe unverändert. Prüfe die Gruppenzuordnung nach dem Lauf; eine Erfolgsmeldung beweist keinen Gruppenwechsel.

Eingabedatei

PFAD verlangt eine vorhandene Datei. Der Parser liest UTF-8, Semikolon, Rand-Leerraumkürzung und eingeschlossene Anführungszeichen. Es gibt keinen ausdrücklichen Header-Skip; eine nichtnumerische ID wird still ausgelassen. Mindestens drei Felder sind nötig; weitere ab Position 6 werden ignoriert. Die Datei bleibt liegen.

Position Zielfeld Verarbeitung
1 ID Numerische Vorprüfung, dann CLng; Match und INSERT.
2 KRKostenstellenGruppe CLng; Pflichtfeld auch für vorhandene ID, aber nur beim INSERT geschrieben.
3 Bezeichnung Maximal 50 Zeichen; UPDATE/INSERT.
4 AnteilKosten Falls Feld fehlt: 1. Ist es vorhanden, wird CDbl verwendet; leer ist kein Fallback.
5 Kostenträger100 Falls Feld fehlt: 0. Ist es vorhanden, wird CBool verwendet; leer ist kein Fallback.

Datum und Zahlformate sind nicht invariant festgelegt; Konvertierungen hängen von der Laufzeitkultur ab. Neue Gruppen-IDs müssen wegen des Fremdschlüssels in KRKostenstellenGruppen existieren.

Datenfluss und Ergebnis

Ein direktes parametriertes IF EXISTS/UPDATE/INSERT prüft KRKostenstellen.ID. Bei Treffer schreibt es Bezeichnung, AnteilKosten und Kostenträger100. Bei Neuanlage schreibt es zusätzlich ID und KRKostenstellenGruppe. Keine fachliche Stored Procedure, kein DELETE und keine unmittelbare Umsätze-Änderung.

Jede Zeile wird einzeln verarbeitet. Ohne Gesamttransaktion bleiben frühere Änderungen nach einem späteren Fehler bestehen. Wiederholte IDs können die drei UPDATE-Felder nacheinander ersetzen. Konvertierungs- und SQL-Fehler einer Zeile können protokolliert werden, während weitere Zeilen noch verarbeitet werden; Parserfehler können den Rest stoppen.

Einstellungen

Keine direkte fachliche ZW-Einstellung; SQL_TIMEOUT wird nicht ausdrücklich gesetzt. Die gemeinsame Basis verwendet bedingt GLOBAL_LOGLEVEL, GLOBAL_LOGLEVELEVLOG, MAIL_SCHNITTSTELLEONSUCCESS, MAIL_SCHNITTSTELLEONERROR, SCHNITT_MELDUNG_SchnittstelleOnSuccess, SCHNITT_MELDUNG_SchnittstelleOnError und beim Versand MAIL_SCHNITTSTELLETO, MAIL_SMTP_SERVER, MAIL_USER, MAIL_PASS, MAIL_USEDEFAULTCREDENTIALS, MAIL_SSL, MAIL_TESTADRESSE, MAIL_FROM und MAIL_FROM_NAME. MANUELL, SILENT und MAILTO sind Laufparameter.

Technische Referenz

Merkmal Wert
Programmkennung 2015 / ImpKRKostenstellen
Einstieg cSchnittKRKostenstellen.Import
Fachlicher Ausgang KRKostenstellen: UPDATE der drei Felder oder INSERT mit Gruppe
Fachliches SQL Parametriertes Inline-SQL; keine fachliche SP

Siehe auch

Prüfstand

Am 25.09.2026 aus der statischen Analyse des Quellcommits f1d82a003b62f2658f06eaa943dc685ab219bdf3 übernommen. Analyse vom 18.09.2026; kein Importlauf oder produktiver Schemaabgleich bestätigt.