Benutzer-Werkzeuge

Webseiten-Werkzeuge


schnittstellen:1074

Schnittstelle 1074: Stundenwetter abrufen und Tageswetter verdichten

Du rufst Stundenwetter für die in Filialen hinterlegten Orte ab und verdichtest es zu Tageswerten.

Stand: 02.10.2026, statische Analyse von PEP4 Desktop, Commit f1d82a003b62f2658f06eaa943dc685ab219bdf3. Statisch dokumentiert; Nutzerprüfung offen. Kein Schnittstellenlauf, Live-Schema- oder API-Test. Lokale PEP-Änderungen außerhalb dieser Schnittstellen wurden nicht einbezogen.

Zweck, Parameter und Eingangsvertrag

Trotz Enum-Präfix Imp als Programm registriert. DATVON/DATBIS: Datumsmuster via SetDatum, keine Von≤Bis-Prüfung. Kein PFAD, keine Eingangsdatei/Archivierung. Aktiver Shared-Einstieg ruft GetWeather2, nicht das noch vorhandene ältere GetWeather. Orte kommen aus TOOLS.My.Resources.Orte (CSV-Ressource: Schlüssel Feld1, Latitude/Lon Feld4/5) oder Filialen.GeoLocation='Lat;Lon'. Konvertiert mit Punkt→Komma, auf2 Stellen gerundet, gleiche Koordinaten gruppiert; kulturabhängig.

Je Koordinate/Tag synchroner HTTP-GET mit date yyyy-MM-dd und tz Europe/Berlin; Antwort BrightSkyResponse.Weather, Timestamp als DateTime, optionale Nullable-Zahlen/Stringwerte. Kein festgelegter Einheitenumrechner im Code. API-Vertrag/Einheiten/Stationswahl nicht live geprüft (Q12); keine echte URLabfrage ausgeführt.

SQL-Kette, Datenwirkung und Betrieb

Filialen.FilialID/GeoLocation SELECT → je gemappter Filiale/Tag DELETE WetterH vor HTTP → INSERT aller gelieferten Stunden mit Timestamp.Date=Datum → Calc_WetterDatum(DatVon,DatBis,ZeitVon,ZeitBis). Kein Upsert. HTTP-/Insertfehler im Tagesthread werden im leeren Catch verschluckt; nicht erfolgreiche HTTP-Statusantwort ergibt ebenfalls keinen Fehlerstatus. Gelöschte Tagesstunden können fehlen.

SP löscht Wetter aller Filialen im Datumintervall und fügt Tagesverdichtung aus WetterH ein: Min/MaxTemperatur gerundet, SonnenDauer/Niederschlag summiert, Wind max, Wolkendichte avg, ts max. DATEPART(hour) zwischen ZeitVon/ZeitBis inklusiv. Datum between DatVon/DatBis bezieht sich auf Zeitstempel: Endtag DATBIS als Mitternacht schließt spätere Stunden des letzten Tages aus, obwohl VB sie abgerufen hat.

SQL-Commands Default30, SQL_TIMEOUT nicht gelesen. HttpClient.Timeout kommt aus dem bereitgestellten Clientkontext, in dieser Klasse nicht gesetzt. Keine Transaktion, kein Fach-SP-Fehlercatch außen; Ressourcen-/DB-/SP-Ausnahmen können AusführungEnde überspringen.

Befunde und Grenzen

Shared GetWetter ohne Return liefert False, obwohl GetWeather2 Daten schreibt und True zurückgibt. Interner Erfolg ist weder Fehlerfrei() noch HTTP-Erfolgsnachweis. NULL-Wetterwerte werden DBNull, sight wird Real-Parameter→int, Timestamp→smalldatetime im Schema0878. Tagesziel Schema0873/0874/0877 enthält Result, das aktive GetWeather2/Calc_WetterDatum nicht schreibt. Alte JSON-Result-Ausgabe aus GetWeather ist kein aktiver Pfad.

Q12 benötigt bestätigten API-/Einheiten-/Zeitvertrag und isolierte Tests zu HTTP-Ausfall, fehlenden Koordinaten, Endtag, Rundung, NULL und DST. Kein direkter Umsätze-UPDATE.

Systemeinstellungen und gemeinsame Nebenwirkungen

Gemeinsamer Rückmeldepfad: cSchnitt_Basis mit bedingtem Logging, Mail-/Outbox- und Meldungs-API-Aufruf. MANUELL/SILENT und Rückmeldeschalter beeinflussen diesen Pfad; serverseitige API-Wirkungen bleiben offen.

Beziehung Schlüssel / Variable Default Einflussweg Wirkung Beleg
1074-S001 SCHNITT_WETTER_ZEITVON / SCHNITT_WETTER_ZEITVON 9 Calc_WetterDatum Stundenfilter erste eingeschlossene Stunde der Tagesverdichtung B,SQL,SET
1074-S002 SCHNITT_WETTER_ZEITBIS / SCHNITT_WETTER_ZEITBIS 19 Calc_WetterDatum Stundenfilter letzte eingeschlossene Stunde; keine Wirkung auf HTTP-Abrufmenge B,SQL,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
1074-D001 Filialen.FilialID SELECT Filiale zur normalisierten Koordinate GeoLocation nicht NULL B
1074-D002 Filialen.GeoLocation SELECT Orte-Ressourcenkey oder Lat;Lon numerisch, auf2 Dezimalstellen gerundet B
1074-D003 WetterH.— Zeilen DELETE Alle Stunden der gemappten Filiale am angefragten Tag vor HTTP HTTP-Ausfall verhindert Wiederbefüllung B
1074-D004 WetterH.Filiale INSERT Filialen.FilialID HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D005 WetterH.Datum INSERT weather.timestamp HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D006 WetterH.Niederschlag INSERT precipitation HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D007 WetterH.Niederschlagswahrscheinlichkeit INSERT precipitation_probability HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D008 WetterH.Druck INSERT pressure_msl HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D009 WetterH.SonnenDauer INSERT sunshine HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D010 WetterH.SonnenIntensität INSERT solar HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D011 WetterH.Temperatur INSERT temperature HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D012 WetterH.Wind INSERT wind_speed HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D013 WetterH.Windrichtung INSERT wind_direction HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D014 WetterH.Wolkendichte INSERT cloud_cover HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D015 WetterH.Boeen INSERT wind_gust_speed HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D016 WetterH.Taupunkt INSERT dew_point HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D017 WetterH.Sicht INSERT visibility (VB Real-Parameter, DB int) HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D018 WetterH.Bedingung INSERT condition, varchar25 HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D019 WetterH.Icon INSERT icon, varchar25 HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D020 WetterH.ts INSERT getdate() HTTP erfolgreich; Timestamp.Date=angefragter Tag; NULL via DBNull B,DDLH
1074-D021 WetterH.Filiale SELECT Tagesverdichtung; Stunde inklusiv ZeitVon–ZeitBis Datum zwischen Von/Bis; Enddatum Mitternacht beachten SQL
1074-D022 WetterH.Datum SELECT Tagesverdichtung; Stunde inklusiv ZeitVon–ZeitBis Datum zwischen Von/Bis; Enddatum Mitternacht beachten SQL
1074-D023 WetterH.Temperatur SELECT Tagesverdichtung; Stunde inklusiv ZeitVon–ZeitBis Datum zwischen Von/Bis; Enddatum Mitternacht beachten SQL
1074-D024 WetterH.SonnenDauer SELECT Tagesverdichtung; Stunde inklusiv ZeitVon–ZeitBis Datum zwischen Von/Bis; Enddatum Mitternacht beachten SQL
1074-D025 WetterH.Niederschlag SELECT Tagesverdichtung; Stunde inklusiv ZeitVon–ZeitBis Datum zwischen Von/Bis; Enddatum Mitternacht beachten SQL
1074-D026 WetterH.Wind SELECT Tagesverdichtung; Stunde inklusiv ZeitVon–ZeitBis Datum zwischen Von/Bis; Enddatum Mitternacht beachten SQL
1074-D027 WetterH.Wolkendichte SELECT Tagesverdichtung; Stunde inklusiv ZeitVon–ZeitBis Datum zwischen Von/Bis; Enddatum Mitternacht beachten SQL
1074-D028 WetterH.ts SELECT Tagesverdichtung; Stunde inklusiv ZeitVon–ZeitBis Datum zwischen Von/Bis; Enddatum Mitternacht beachten SQL
1074-D029 Wetter.— Zeilen DELETE Alle Filialen im Datumintervall Nicht auf tatsächlich abgerufene Locations begrenzt SQL
1074-D030 Wetter.Filiale INSERT WetterH.Filiale nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2
1074-D031 Wetter.Datum INSERT convert(date,WetterH.Datum) nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2
1074-D032 Wetter.MinTemp INSERT round(min(Temperatur),2) nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2
1074-D033 Wetter.MaxTemp INSERT round(max(Temperatur),2) nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2
1074-D034 Wetter.Sonne INSERT sum(isnull(SonnenDauer,0)) nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2
1074-D035 Wetter.Regen INSERT sum(isnull(Niederschlag,0)) nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2
1074-D036 Wetter.WindSpeed INSERT max(Wind) nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2
1074-D037 Wetter.Wolken INSERT avg(Wolkendichte) nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2
1074-D038 Wetter.ts INSERT max(ts) nur Stunden innerhalb des inklusiven Zeitfensters/Datumintervalls SQL,DDL,DDL2

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki