Inhaltsverzeichnis
Schnittstelle 1105: Aprocon-Kunden importieren
Diese technische Referenz beschreibt die Eingänge, Ausgänge und aktiven Codepfade von Aprocon-Kunden importieren. Sie ist keine Anleitung zur ungeprüften Ausführung.
Stand: 02.10.2026, Desktop-Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Statisch dokumentiert; Nutzerprüfung offen. Kein Import, Datenbank- oder HTTP-Test.
Dokumentiert / statisch geprüft: 2026-10-02. Statisch dokumentiert; Nutzerprüfung offen. Keine Schnittstelle ausgeführt.
Identität und Quellenstand
eProgramm.ImpKundenApc = 1105. Aktive feste Registrierung → cSchnittKRApc.Import_Kunden; Projekteinschluss bestätigt (E,P,PRJ). Active=True, InAutomatik=True und ManuellerAufruf=True (Registrierung bzw. Klassendefault); NurAufServer=True. Keine Aussage über eingerichtete Automatik oder produktive Nutzung.
Zweck, Parameter und Variante
Aprocon-Kunden/Adressen/Zahlungsbedingungen → KRKunden und fehlende Lookup-Typen/-Gruppen. Kein File, keine SP. Delegate identisch mit 1106. Registrierung enthält INSERT (Info-Dialog); allein Schlüsselpräsenz, nicht sein Wert, erlaubt Neuanlage.
IDENTITY_INSERT KRKundenTypen wird eingeschaltet, fehlende Typen/Auswertungsgruppen bekommen zunächst die Nummer als Bezeichnung. Danach Kundendaten UPDATE nach ID, bei @@rowcount0 INSERT. Im Anschluss werden vier Kriterienbezeichnungen aus Datenfelder/Feldwerte übernommen und über Settings.ZW.Speichern persistiert. Die Bezeichnungen sind Ausgangseinstellungen, nicht steuernde Eingänge.
Feldmapping
- ID: Kunden.Nummer (Matchschlüssel)
- Bezeichnung: Left(Trim(Suchbegriff),50)
- Skonto: Zahlungsbedingungen.Skonto, NULL→0
- KRKundenTyp: Kunden.KundenTyp
- Plz: Adressen.PLZ max10
- LKZ: Adressen.LKZ max10 (DDL varchar3!)
- Mail: Adressen.email max255
- MatchCode: Kunden.Matchcode max20
- KRAuswertungsGruppe: Kunden.Auswertungsgruppe
- APCFiliale: Kunden.Filiale
- Preiskategorie: Kunden.Preiskategorie
- Angebot: Kunden.Sonderangebot
- Liefersperre: Kunden.Liefersperre
- Einstellung1: Kriterium1
- Einstellung2: Kriterium2
- Einstellung3: Kriterium3
- Einstellung4: Kriterium4
Betrieb und Befunde
ODBC-Timeout=SQL_TIMEOUT; lokale SqlCommands Standard30s. Kein DELETE/Archiv, keine Transaktion; Lookup- und Kundenteilstand können bleiben. Fehler vor IDENTITY_INSERT OFF hinterlassen Sessionzustand bis Verbindungsende. U625/U821: PK/FKs Typ und Auswertungsgruppe; ID wird nicht umnummeriert, deshalb keine Schlüssel-Kaskaden durch diesen Import.
1105-F01: LKZ wird auf10 Zeichen geschnitten, U781 definiert aber varchar(3); längere Werte können SQL-Fehler auslösen. LEFT-JOIN-Nullfelder werden außer Skonto nicht einheitlich abgesichert. Externes Schema und Prompt-/Nullvertrag Q13. Test: Insert-Schlüssel, fehlende Kunden, Lookupanlage, lange LKZ, Prompt-Änderungen.
Systemeinstellungen und gemeinsame Nebenwirkungen
Gemeinsames Profil: BASE (interne Referenz).
| Beziehung | Schlüssel / Variable | Default | Einflussweg | Wirkung | Beleg |
|---|---|---|---|---|---|
| 1105-S001 | SCHNITT_APC_DSN / SCHNITT_AproconDSN | leer | ODBC-Eingang | Verbindung zum externen Aprocon-DSN; kein DSN-Wert gespeichert | B,SET |
| 1105-S002 | SQL_TIMEOUT / SQLTimeOut | 60 | Explizite CommandTimeout-Zuweisung | Timeout nur bei den im Betrieb benannten Commands; Standardcommands weiterhin 30 Sekunden | B,SET |
| 1105-S003 | KR_KundeEinstellung1Bez / KR_KundeEinstellung1Bez | Einstellung1 | AUSGANG, nicht Auswahlfilter | Wird aus KunKriterium1Prompt in RAM und EinstellungenZw überschrieben | B,SET |
| 1105-S004 | KR_KundeEinstellung2Bez / KR_KundeEinstellung2Bez | Einstellung2 | AUSGANG, nicht Auswahlfilter | Wird aus KunKriterium2Prompt in RAM und EinstellungenZw überschrieben | B,SET |
| 1105-S005 | KR_KundeEinstellung3Bez / KR_KundeEinstellung3Bez | Einstellung3 | AUSGANG, nicht Auswahlfilter | Wird aus KunKriterium3Prompt in RAM und EinstellungenZw überschrieben | B,SET |
| 1105-S006 | KR_KundeEinstellung4Bez / KR_KundeEinstellung4Bez | Einstellung4 | AUSGANG, nicht Auswahlfilter | Wird aus KunKriterium4Prompt in RAM und EinstellungenZw überschrieben | B,SET |
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 |
|---|---|---|---|---|---|
| 1105-D001 | Aprocon.Kunden.Nummer | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D002 | Aprocon.Kunden.Matchcode | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D003 | Aprocon.Kunden.Suchbegriff | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D004 | Aprocon.Kunden.KundenTyp | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D005 | Aprocon.Kunden.Adresse | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D006 | Aprocon.Kunden.Zahlungsbedingungen | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D007 | Aprocon.Kunden.Auswertungsgruppe | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D008 | Aprocon.Kunden.Kriterium1 | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D009 | Aprocon.Kunden.Kriterium2 | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D010 | Aprocon.Kunden.Kriterium3 | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D011 | Aprocon.Kunden.Kriterium4 | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D012 | Aprocon.Kunden.Liefersperre | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D013 | Aprocon.Kunden.Filiale | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D014 | Aprocon.Kunden.Preiskategorie | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D015 | Aprocon.Kunden.Sonderangebot | SELECT | Kundenquelle | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D016 | Aprocon.Adressen.Nummer | SELECT | INNER JOIN Kunden.Adresse=Nummer | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D017 | Aprocon.Adressen.PLZ | SELECT | INNER JOIN Kunden.Adresse=Nummer | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D018 | Aprocon.Adressen.LKZ | SELECT | INNER JOIN Kunden.Adresse=Nummer | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D019 | Aprocon.Adressen.email | SELECT | INNER JOIN Kunden.Adresse=Nummer | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D020 | Aprocon.Zahlungsbedingungen.Nummer | SELECT | LEFT JOIN; NULL-Skonto0 | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D021 | Aprocon.Zahlungsbedingungen.Skonto | SELECT | LEFT JOIN; NULL-Skonto0 | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D022 | KRKundenTypen.ID | SELECT | Lookup existiert? | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D023 | KRKundenTypen.ID | INSERT | Fehlender Typ: KundenTyp als ID/Bezeichnung; IDENTITY_INSERT | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D024 | KRKundenTypen.Bezeichnung | INSERT | Fehlender Typ: KundenTyp als ID/Bezeichnung; IDENTITY_INSERT | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D025 | KRAuswertungsGruppen.ID | SELECT | Lookup existiert? | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D026 | KRAuswertungsGruppen.ID | INSERT | Fehlende Gruppe: Nummer als ID/Bezeichnung | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D027 | KRAuswertungsGruppen.Bezeichnung | INSERT | Fehlende Gruppe: Nummer als ID/Bezeichnung | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D028 | KRKunden.ID | SELECT/INSERT | Kunden.Nummer (Matchschlüssel) | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D029 | KRKunden.Bezeichnung | INSERT/UPDATE | Left(Trim(Suchbegriff),50) | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D030 | KRKunden.Skonto | INSERT/UPDATE | Zahlungsbedingungen.Skonto, NULL→0 | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D031 | KRKunden.KRKundenTyp | INSERT/UPDATE | Kunden.KundenTyp | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D032 | KRKunden.Plz | INSERT/UPDATE | Adressen.PLZ max10 | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D033 | KRKunden.LKZ | INSERT/UPDATE | Adressen.LKZ max10 (DDL varchar3!) | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D034 | KRKunden.Mail | INSERT/UPDATE | Adressen.email max255 | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D035 | KRKunden.MatchCode | INSERT/UPDATE | Kunden.Matchcode max20 | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D036 | KRKunden.KRAuswertungsGruppe | INSERT/UPDATE | Kunden.Auswertungsgruppe | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D037 | KRKunden.APCFiliale | INSERT/UPDATE | Kunden.Filiale | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D038 | KRKunden.Preiskategorie | INSERT/UPDATE | Kunden.Preiskategorie | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D039 | KRKunden.Angebot | INSERT/UPDATE | Kunden.Sonderangebot | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D040 | KRKunden.Liefersperre | INSERT/UPDATE | Kunden.Liefersperre | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D041 | KRKunden.Einstellung1 | INSERT/UPDATE | Kriterium1 | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D042 | KRKunden.Einstellung2 | INSERT/UPDATE | Kriterium2 | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D043 | KRKunden.Einstellung3 | INSERT/UPDATE | Kriterium3 | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D044 | KRKunden.Einstellung4 | INSERT/UPDATE | Kriterium4 | UPDATE nach ID; INSERT falls @@rowcount0 | B |
| 1105-D045 | Aprocon.Datenfelder.Feldname | SELECT | KunKriteriumXPrompt | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D046 | Aprocon.Datenfelder.Nummer | SELECT | KunKriteriumXPrompt | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D047 | Aprocon.Feldwerte.Datenfeld | SELECT | Join Datenfelder.Nummer; Prompt-Wert | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D048 | Aprocon.Feldwerte.Wert | SELECT | Join Datenfelder.Nummer; Prompt-Wert | Aktiver Pfad; kein Laufzeitnachweis | B |
| 1105-D049 | EinstellungenZw.Einstellung | SELECT/INSERT | KR_KundeEinstellung1Bez bis4Bez | Speichern | SET |
| 1105-D050 | EinstellungenZw.Wert | INSERT/UPDATE | Trim(Feldwerte.Wert) | Speichern | SET |
| 1105-D051 | EinstellungenZw.ts | INSERT/UPDATE | getdate()/SHA-Validierung; Wert nicht als Geheimnis dokumentieren | Speichern | SET |
| 1105-D052 | EinstellungenZw.Validierung | INSERT/UPDATE | getdate()/SHA-Validierung; Wert nicht als Geheimnis dokumentieren | Speichern | SET |
| 1105-D053 | EinstellungenZw.tsCreate | INSERT | getdate() | Erstanlage | SET |
Teststatus und Pflege
Keine Laufzeit-/Live-Schema-/Lieferformat-Abnahme. Fachbefunde und Grenzen siehe oben und Fragen (interne Referenz); kundenspezifische Trigger/Constraints, DLLs und Jobs bleiben Q02. Nutzerprüfung offen.
Gemeinsame Rückmeldung
Die Basis kann abhängig von MAIL_SCHNITTSTELLEONSUCCESS/ONERROR, MAIL_SCHNITTSTELLETO und SMTP-Einstellungen Mail speichern/versenden (Dokumente/Outbox). SCHNITT_MELDUNG_SchnittstelleOnSuccess/OnError steuert sendmail der Rückmeldungs-API, nicht deren gesamten Aufruf. MANUELL unterdrückt Mail, SILENT beendet den Abschluss früh. GLOBAL_LOGLEVEL/GLOBAL_LOGLEVELEVLOG steuert Logging (Pep3Log/Eventlog). Keine Fachimporttransaktion und kein API-Erfolgsnachweis; Serverwirkung bleibt ungeprüft.
Quellen je Datei
Repository: seegerstefan/pep4desktop, master, obiger Commit. Je Datei ein Quellenlink; Kürzel in den Tabellen. Private Git-Quellen setzen Zugriffsrechte voraus.
Offene Abnahme
Externe Liefer-/API-Verträge und installierte Migrationen sind nicht bestätigt. Vor einem Test die beschriebenen Datenrisiken in einer isolierten Umgebung klären. Bei1214/1215 sind weitere Calc-/CalcPep-Feldwirkungen ausdrücklich noch nicht vollständig analysiert.