Benutzer-Werkzeuge

Webseiten-Werkzeuge


schnittstellen:1073

Dies ist eine alte Version des Dokuments!


Schnittstelle 1073: Gezahlte Provisionen importieren und Zeitberechnung anstoßen

Du übernimmst gezahlte Provisionen und stößt anschließend die allgemeine Zeitberechnung an. Der direkte Import ist beschrieben; die vollständige Regelmotor-Feldkette bleibt offen.

Stand: 02.10.2026, statische Analyse von PEP4 Desktop, Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Teilweise dokumentiert: Import vollständig, allgemeiner Calc-Folgepfad noch nicht vollständig indiziert (Q11); 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, fehlender Schlüssel oder fehlende Datei→False. IMP-Unterordner wird angelegt, Datei jedoch nicht dorthin verschoben. UTF8-StreamReader/BOM, einfache Split(';') ohne Quotehandling, kein Headerüberspringen, mindestens4 Felder (zusätzliche ignoriert): 1 Datum (kulturabhängig), 2 PersonID (Long), 3 Gruppe (Long), 4 Provision (Double). Textheader erzeugt Fehler. Zu kurze Zeilen still übersprungen.

Alle gültigen Datensätze im Speicher, eindeutige Datumsliste aus Feld1. Zeilenfehler schreiben Exceptiontext in Arbeitsordner LOG/yyyyMMdd_HHmmss_Import_Provision_Gezahlt.log und setzen bolFehler. SQL-Fehler verlassen den Importcatch des äußeren Ausführen, dann kein Folgerechnen.

SQL-Kette und direkter Schreibvertrag

Keine Fach-SP im Import selbst. Je in gültigen Datensätzen vorhandenem exaktem Datum DELETE sämtlicher ProvGezahlt-Personen und Gruppen; dann INSERT aller validierten Zeilen. Kein UPDATE, keine Transaktion. SQL-Command Default30. Schema0545: PK(PersonID,Gruppe,Datum), Provision float nullable. Duplikate können nach bereits gelöschtem Altbestand zu Teilimport führen. Import liefert Not bolFehler; äußere Success meldet diesen Status.

Zusätzlicher Berechnungspfad und Abdeckungsgrenze

Auch wenn Import False wegen Zeilenfehlern liefert, folgt Settings.Calc.Calc(Settings.ZW.CALCMinDate, Now.Date). cSetting erstellt cCalcZw. cCalcZw.Calc wählt über CALC_USESCHICHT (<2 V1, sonst V2) die allgemeine Zeitberechnung, nicht eine Provisions-SP. V1 ignoriert die übergebenen Von/Bis und verarbeitet offene Statuslisten; V2 nutzt sie für GetListCalc_V2, beginnt aber ebenfalls mit globaler Fehlerstammmarkierung. Kein belegter automatischer Aufruf PROV_CALC_KaDeWe_*.

Die Eintritts-/Dispatcher-/IO-Quellen sind vorhanden. Belegt sind indirekte Arbeitszeiten-DELETE/INSERT und UPDATE über SaveAz/SaveAzSchicht/UpdateAz, Calc_SaveBz, Calc_SetStatus, BerechnetKonten und optionale Perioden-/Zusatzleistungsberechnung. Vollständige rekursive Feld-/Einstellungsanalyse des allgemeinen Regelmotors noch offen (Q11). Diese Teilanalyse nicht als fehlenden Source oder vollständige Rückindexabdeckung ausgeben. Bereits direkt geprüfte IO-Updates sind unten aufgenommen; weitere Leser-/Schreiber nicht als wirkungslos betrachten.

Befunde und Tests

Tagesdelete ist für alle Personen/Gruppen, nicht nur gelieferte Schlüssel. Zeilenfehler können teilweisen Ersatz und anschließend trotzdem Neuberechnung bewirken. Berechnung fängt intern Exceptions; äußerer Success bestätigt nicht deren Erfolg. Datei-/Log-/DB-/Berechnungsoperationen nicht atomar. Vor Test Fachbedeutung des Datumstags, Duplikate, Teileingang und gewünschter allgemeiner Calc-Lauf klären.

Systemeinstellungen und gemeinsame Nebenwirkungen

Direkte Dialog-/Logmeldungen über cInfoTools; keine belegte BASE-Mail-/API-Ausführung. GLOBAL_LOGLEVEL (Default50) und GLOBAL_LOGLEVELEVLOG (Default0) steuern die Protokollierung.

Beziehung Schlüssel / Variable Default Einflussweg Wirkung Beleg
1073-S001 CALC_MINDATE / CALCMinDate 1.1.2011 Ausführen → Settings.Calc.Calc Untergrenze des Folgerechnens; V1 verarbeitet Statuslisten B,SET,CALC
1073-S002 CALC_USESCHICHT / CALC_UseSchicht 0 cCalcZw.Calc V1/V2-Dispatcher, keine Importformatsteuerung CALC,SET
1073-S003 CALC_BLOCKSIZE / CALCBlockSize 500 CalcIO / GetListCalc_V2 Stapelgröße des Folgerechnens IO,CALC2,SET
1073-S004 CALC_SALDO_ABSCHLUSS / CALC_SALDO_ABSCHLUSS False Calc V1/V2 Optionaler Periodenabschluss; Folgekette noch nicht komplett indiziert CALC,CALC2,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
1073-D001 ProvGezahlt.— Zeilen DELETE Alle Personen/Gruppen für jedes valide exakte Dateidatum keine System-/Personbegrenzung B
1073-D002 ProvGezahlt.Datum INSERT Feld1 gültige Zeilen; PK aus Datum/PersonID/Gruppe B,DDL
1073-D003 ProvGezahlt.PersonID INSERT Feld2 gültige Zeilen; PK aus Datum/PersonID/Gruppe B,DDL
1073-D004 ProvGezahlt.Gruppe INSERT Feld3 gültige Zeilen; PK aus Datum/PersonID/Gruppe B,DDL
1073-D005 ProvGezahlt.Provision INSERT Feld4 gültige Zeilen; PK aus Datum/PersonID/Gruppe B,DDL
1073-D006 Arbeitszeiten.ID SELECT UpdateAz: Schlüssel/Nettozeit-/Buchungstagberechnung Folge-Calc; nicht komplette Motorabdeckung IO
1073-D007 Arbeitszeiten.Kennzeichen SELECT UpdateAz: Schlüssel/Nettozeit-/Buchungstagberechnung Folge-Calc; nicht komplette Motorabdeckung IO
1073-D008 Arbeitszeiten.Kommen SELECT UpdateAz: Schlüssel/Nettozeit-/Buchungstagberechnung Folge-Calc; nicht komplette Motorabdeckung IO
1073-D009 Arbeitszeiten.Gehen SELECT UpdateAz: Schlüssel/Nettozeit-/Buchungstagberechnung Folge-Calc; nicht komplette Motorabdeckung IO
1073-D010 Arbeitszeiten.P SELECT UpdateAz: Schlüssel/Nettozeit-/Buchungstagberechnung Folge-Calc; nicht komplette Motorabdeckung IO
1073-D011 Arbeitszeiten.Buchungstag SELECT UpdateAz: Schlüssel/Nettozeit-/Buchungstagberechnung Folge-Calc; nicht komplette Motorabdeckung IO
1073-D012 Arbeitszeiten.KommenCalc UPDATE UpdateAz: berechnete Zeiten/Netto, Fehlerreset teilweise NULL/0 Folge-Calc; detailreiche übrige Kette Q11 IO
1073-D013 Arbeitszeiten.GehenCalc UPDATE UpdateAz: berechnete Zeiten/Netto, Fehlerreset teilweise NULL/0 Folge-Calc; detailreiche übrige Kette Q11 IO
1073-D014 Arbeitszeiten.Netto1 UPDATE UpdateAz: berechnete Zeiten/Netto, Fehlerreset teilweise NULL/0 Folge-Calc; detailreiche übrige Kette Q11 IO
1073-D015 Arbeitszeiten.Netto2 UPDATE UpdateAz: berechnete Zeiten/Netto, Fehlerreset teilweise NULL/0 Folge-Calc; detailreiche übrige Kette Q11 IO
1073-D016 Arbeitszeiten.Buchungstag UPDATE UpdateAz: berechnete Zeiten/Netto, Fehlerreset teilweise NULL/0 Folge-Calc; detailreiche übrige Kette Q11 IO

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

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
schnittstellen/1073.1790918706.txt.gz · Zuletzt geändert: von codex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki