Benutzer-Werkzeuge

Webseiten-Werkzeuge


schnittstellen:1073

Schnittstelle 1073: Gezahlte Provisionen importieren und Zeitberechnung anstoßen

Dokumentiert / statisch geprüft: 2026-10-02. Statisch dokumentiert einschließlich der nachgearbeiteten lokalen Folgeketten; Nutzerprüfung offen. Keine Schnittstelle ausgeführt.

Identität und Quellenstand

eProgramm.ImpProvisionGezahlt = 1073. Aktive feste Registrierung → cSchnittProvisionGezahlt.Ausführen; Projekteinschluss bestätigt (E,P,PRJ). Active=True, InAutomatik=True und ManuellerAufruf=True (Registrierung bzw. Klassendefault), keine NurAufServer-Einschränkung gesetzt. Keine Aussage über eingerichtete Automatik oder produktive Nutzung.

seegerstefan/pep4desktop, master, Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Lokale .DS_Store-/cPep/PEP-Abweichungen außerhalb dieser Fachquellen bleiben unberührt; kein Remote-/Deploymentabgleich.

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_*.

Der vollständige lokale Zeitberechnungs-Folgegraph ist im zugeordneten CALCENTRY-Profil statisch aufgelöst: V1/V2 und Direktlauf, ReMo/CalcAZ, Arbeitszeiten, Tageswerte, Konten, Status, Kontingent und optionaler Periodenabschluss/Zusatzleistung. Q11 ist für diese Kette geschlossen.

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

Gemeinsames Profil: LEGACY (interne Referenz).

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

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 Nebenwirkungen LEGACY

Block17 ergänzt6001/6002/6003/6004/6005 ausschließlich für direkte Info-/Dialog-/Logmeldungen; keine BASE-Mail/API. Parameter, Auswahl, Return und Fachwirkung jeID.

Block16 ergänzt explizit3031/3032/3041/3042/3060/3500 für die direkten Info-/Logmeldungen. Keine BASE-Vererbung bzw. Mail-/API-Nebenwirkung; Fachdateien/SQL/Returns pro ID prüfen. Keine pauschale Übernahme alter Dateiverträge.

Stand 2026-10-02; statisch geprüft am Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Mitglieder ausschließlich durch expliziten Profilverweis: Block 07, IDs 2000, 2001, 2010, 2020, 3020, 3021, 3030, 3040, 3050, 3070.

Block 13: Profil für 1067,1070,1073 nur bezüglich direkter cInfoTools-Dialog-/Logmeldungen und ihrer zwei Einstellungen wiederverwendet. Deren Datei-/Rückgabe-/Timeout-/Folgeaufrufverträge stehen ausschließlich in den Einzelbeschreibungen; die nachfolgenden Block-07-PFAD-/Return-Aussagen sind keine pauschale Behauptung für diese drei neuen IDs.

Block14 nutzt LEGACY ausschließlich für direkte Info-/Logpfade von 1100,1101,1102,1103,1200,1207,1208,1209,1223. Keine pauschale Übernahme der nachfolgenden Block07-Datei-/Rückgabeverträge; konkrete Unterschiede stehen je ID. 1203 verwendet nur direkten MsgBox-Fehlerpfad und ist kein Mitglied.

Block15 ergänzt ausdrücklich 1224/1225/1226/1320/1360/1400/1401/2021/2023 sowie die Veraltet-Stubs 2028/2029/2032/2046/2047/2048. Nur direkte Info-/Logpfade; konkrete Datei-/Return-/Timeoutverträge stehen je ID. Die sechs Stubs erben als Klasse zwar BASE, instanziieren aber nichts und rufen deren Start/Ende nicht auf. 2022 hat keinen solchen Pfad.

Abgrenzung und Ablauf

Die belegten LEGACY-Einstiege rufen cSchnitt_Basis.Start/Ende nicht auf. Die ursprünglichen Block-07-Klassen erben auch nicht von der Basis; für spätere statische Stubs gilt dagegen nur die fehlende Start-/Ende-Ausführung. Deshalb keine BASE-Mail-/API-/Outboxbeziehungen übernehmen. MAILTO wird zwar von cProgramm angelegt, aber hier nicht ausgewertet; ebenso keine fachliche Auswertung von MANUELL oder SILENT. RunWithDialog setzt MANUELL. Dialogunterdrückung kommt aus Settings.Info.SupressDialogs (Clientkonstruktor False, Worker True), kein belegter ZW-Schlüssel.

Die folgenden Datei-/Return-Aussagen gelten für Block 07, nicht pauschal für spätere Profilmitglieder. PFAD ist FileImport, auch bei den Exporten 2001/3021: vorhandene Datei erforderlich, OpenFileDialog statt SaveFileDialog. Der lokale Registrywert PEP3/PFADESCHNITT/<ID> speichert den zuletzt verwendeten Ordner; dies ist keine serverseitige Systemeinstellung. Fehlender PFAD-Schlüssel ergibt False mit Fehlermeldung. Value.ToString bei Nothing liegt vor dem Fach-Try und kann ungefangen abbrechen. Datei-Existenzprüfung und Startmeldung liegen ebenfalls davor.

Meldungen: ShowProgrammStart/ShowProgrammEndeSuccessDialog mit Level 51, ShowProgrammEndeErrorDialog 102, ShowExceptionDialog 105 → ZeigeInfoEvent, ggf. Dialog, Log. Kein Nachweis über externe Event-Abonnentenwirkungen. Dialog kann unterdrückt sein, Logging bleibt separat. Die acht Ausführen-Funktionen außer 2010/3070 haben keinen abschließenden Return und liefern deshalb Boolean False, auch wenn Daten geändert wurden. 2020/3020 und die beiden Exporte haben zusätzlich im Fachhelfer keinen Return; dort wird bereits Success=False und ein Fehlerdialog gewählt. 2000/3030/3040/3050 können Erfolg melden und dennoch False liefern.

Einstellungen

Beziehung Schlüssel / Variable Default Einfluss Wirkung Beleg
LEGACY-S001 GLOBAL_LOGLEVEL / GLOBAL_LOGLEVEL 50 Init → Info.LogLevel Meldung ab einschließlich Grenzwert in Datei/DB; verändert keine Fachdaten LEGACY:SET, LEGACY:INIT, LEGACY:INFO
LEGACY-S002 GLOBAL_LOGLEVELEVLOG / GLOBAL_LOGLEVELEVENTLOG 0 Init → Info.LogLevelEvLog Windows-Ereignisprotokoll nur bei Level > Grenze, Grenze > 0 und Level < 200 LEGACY:SET, LEGACY:INIT, LEGACY:INFO

Beide gezeigten Settings-Konstruktoren setzen AlwaysToFile=True. Oberhalb LogLevel werden Datei UND DB versucht; bei False nur DB, Datei als Fehlerfallback. Datei unter ApplicationData/PEP/LogFiles/yyyyMMdd_peplog.txt (Append). DB-Fehler werden als False abgefangen, verhindern nicht zwingend den Import. EventLog-Fehler werden geschluckt. Direkte Fachcommands des Block 07 setzen kein Timeout; SQL_TIMEOUT ist in diesen zehn Pfaden nicht gelesen. Keine zusätzliche fachliche ZW-Einstellung nachgewiesen, auch nicht in spCalcUmsatzPlan.

Datenbeziehungen

DB-Rolle PEP4-Anmeldedatenbank. Log schreibt über eigene Verbindung; nicht atomar mit Fachoperationen. fnUserId liest minimalen UserID zum rechten 25-Zeichen-Teil von SUSER_NAME(), sonst 0.

Beziehung Tabelle.Feld Operation Datenfluss / Verwendung Bedingung Beleg
LEGACY-D001 Pep3Log.UserID INSERT dbo.fnUserId() Meldungslevel erreicht DB-Log LEGACY:INFO, LEGACY:FN
LEGACY-D002 Pep3Log.Datum INSERT getdate() Meldungslevel erreicht DB-Log LEGACY:INFO
LEGACY-D003 Pep3Log.Kurz INSERT Kurztext, maximal 255 Zeichen Meldungslevel erreicht DB-Log LEGACY:INFO
LEGACY-D004 Pep3Log.LogText INSERT Detailtext einschließlich Pfad/ggf. Exception Meldungslevel erreicht DB-Log LEGACY:INFO
LEGACY-D005 Pep3Log.Modul INSERT Modulbezeichnung, maximal 50 Zeichen Meldungslevel erreicht DB-Log LEGACY:INFO
LEGACY-D006 Pep3Log.InfoLevel INSERT 51, 102 oder 105 je Meldung Meldungslevel erreicht DB-Log LEGACY:INFO
LEGACY-D007 tblUser.Name SELECT Abgleich RIGHT(SUSER_NAME(),25) fnUserId bei Log-INSERT LEGACY:FN
LEGACY-D008 tblUser.UserID SELECT MIN(UserID), fehlend → 0 fnUserId bei Log-INSERT LEGACY:FN

Quellenverzeichnis

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.txt · Zuletzt geändert: von codex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki