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.