504 lines
24 KiB
Markdown
504 lines
24 KiB
Markdown
# Last Change
|
|
|
|
Stand: 2026-06-05
|
|
|
|
Diese Datei ist fuer tokenarme RAG-Nutzung komprimiert.
|
|
|
|
## Aktueller Kurzstand
|
|
|
|
- Fuehrender Kurzkontext: `docs/rag/PROJECT.md`.
|
|
- Themenrouter: `docs/RAG_ROUTER.md`.
|
|
- Letzter dokumentierter Code-Stand: Finance-Dashboard-Vereinfachung, Expertenbereich mit 3D-Datenanalyse und Spanien-Sage-All-in-one-rclone-Upload.
|
|
- Letzte dokumentierte Validierung: `dotnet test TrafagSalesExporter.sln --verbosity minimal --artifacts-path C:\TMP\trafag-test-artifacts-finance-session-proof` mit `82/82` Tests gruen.
|
|
- Neu umgesetzt und deployed: Finance bekommt links eine einfache Schnelluebersicht; die bisherigen tieferen Analysefunktionen bleiben unter `Experten`.
|
|
- Neu umgesetzt und deployed: `Experten > 3D Datenanalyse` mit drehbarer 3D-Visualisierung, Achsenbeschriftung, waehlbaren Indikatoren, Diagrammarten und Simulation.
|
|
- Neu umgesetzt und deployed: 3D-Simulation mit Schiebereglern, u. a. fuer Wechselkurs-/Szenarioveraenderungen; Grafik reagiert in Echtzeit.
|
|
- Neu umgesetzt und deployed: 3D-Darstellung korrigiert fuer Canvas-Groesse, Achsen, Labelgroesse und breitere Indikatorauswahl.
|
|
- Bekannter Browser-Hinweis: 3D-Ansicht wurde in Chrome als korrekt bestaetigt; Firefox zeigte auf dem Client Probleme mit Interaktion/Groesse.
|
|
- Neu fuer Spanien: All-in-one-PS1 `SageSpainFinalExportPackage/Run-SpainRangeExportAndUpload-AllInOne.ps1` erstellt; es exportiert Sage direkt per SQL-Range und laedt CSV/Summary via rclone nach SharePoint.
|
|
- Neu fuer Spanien: Standard-Range ist letzte 7 Tage bis heute; `FromDate`/`ToDate` koennen per Parameter ueberschrieben werden.
|
|
- Neu fuer Spanien: SharePoint-Ziel wird vor Export per rclone geprueft/angelegt: `trafag-bi:Import/Finance/Spanien`.
|
|
- Neu fuer Spanien: rclone-Uploadfehler `Can't set -v and --log-level` behoben; `--verbose` wurde aus dem All-in-one-Upload entfernt.
|
|
- Neu fuer Spanien: rclone wird automatisch an mehreren Standardpfaden gesucht, inkl. `C:\Tools\rclone.exe`, `C:\Tools\rclone\rclone.exe`, `C:\Tools\rclone\rclone\rclone.exe` und `PATH`.
|
|
- Wichtig fuer Spanien: Nur das All-in-one-Script benoetigt keine separate `Export-SageSpainSalesCsv.ps1`; der alte Wrapper `Run-SpainExportAndUpload.ps1` braucht weiterhin das Export-Script daneben.
|
|
- Neu fuer Spanien-Import: SharePoint-/lokale Ordner mit `Spain_Sales*.csv` werden komplett gelesen; Basisdateien und taegliche Range-/Delta-Dateien werden zu einem deduplizierten Gesamtstand zusammengefuehrt.
|
|
- Spanien-Dedupe-Regel: primaer `SourceLineId`, Fallback `TSC + InvoiceNumber + PositionOnInvoice + Material`.
|
|
- Neu dokumentiert: Spanien-rclone-Anleitung und Package-README auf den All-in-one-Workflow aktualisiert.
|
|
- Neu umgesetzt: ES-Referenz 2025 auf `3'082'320.18 EUR` korrigiert; alter Sollwert `3'102'333.61 EUR` als Referenz-/Excel-Fehler dokumentiert.
|
|
- Neu umgesetzt: `FinanceProbe` nutzt dieselbe korrigierte ES-Referenz.
|
|
- Neu umgesetzt: Wechselkurs-Anwendungsdatum in Settings konfigurierbar (`PostingDate`, `InvoiceDate`, `ExtractionDate`) und in Rohdaten-Diagnose sichtbar.
|
|
- Neu umgesetzt: CHF als Anzeige-Waehrung in Management Analyse verfuegbar.
|
|
- Neu umgesetzt: `Management Analyse > Laender` zeigt IC/2nd-party und `Ist ohne IC` als Diagnosewerte.
|
|
- Neu umgesetzt: Sparten-Materialabgleich normalisiert fuehrende Nullen.
|
|
- Neu umgesetzt: Warnhinweis bei >=90% nicht zugeordnet / nicht im TR-AG-Stamm, mit Test abgesichert.
|
|
- Neu erstellt: kompaktes Andreas-Memo `docs/FINANCE_MEMO_ANDREAS_2026-06-01.md`.
|
|
- Neu dokumentiert: Produktsparten-Mapping fuer Group Sales Report ueber TR-AG-Artikelstamm und separate Mapping-Tabelle.
|
|
- Neu dokumentiert: Upgreat-Firewall-Freigabe muss fuer den publizierten Webserver `10.120.1.17` erfolgen, nicht fuer den lokalen Entwicklungs-PC.
|
|
- Neu umgesetzt: `Management Analyse` im Finance Cockpit hat zusaetzliche Reiter fuer Laender, Datenstatus, Abweichungen, Gutschriften-Kandidaten und Datenqualitaet.
|
|
- Neu erstellt: ABAP-Arbeitsstand fuer Produktsparten-Mapping mit Provider-Klasse, ALV-Report und Mapping-Build-Report.
|
|
- Neu umgesetzt: Produktspartenfelder im Web-Datenmodell, Gateway-Join-Konfiguration fuer `ProductDivisionRefSet` und Excel-Ausgabe.
|
|
- Neu umgesetzt und deployed: Reiter `Zentrale Spartenzuordnung` in `Management Analyse`, der Finance-Materialien gegen die fuehrende TR-AG-/SAP-Referenz prueft.
|
|
- Neu umgesetzt und deployed: Reiter `Sparten-Finanzanalyse` in `Management Analyse`, der Umsatzabdeckung und Umsatz nach Produktsparte aus der zentralen Spartenzuordnung berechnet.
|
|
- Neu umgesetzt und deployed: `Management Analyse` ist in der linken Navigation aufklappbar; direkte Links springen in Finance Summary, Laender, Datenstatus, Abweichungen, Gutschriften, Datenqualitaet, Spartenanalyse und Rohdaten Diagnose.
|
|
- Neu umgesetzt und deployed: Spartenanalyse ist als Hauptreiter mit Unterreitern `Finanzanalyse` und `Zentrale Zuordnung` strukturiert.
|
|
- Neu umgesetzt und deployed: Sparten-Finanzanalyse kann nach `PAPH1 Detail`, `Produktfamilie` oder `Produktsparte` aggregieren, optional `Top 10` anzeigen und Laender mit Flaggen darstellen.
|
|
- Neu umgesetzt und deployed: Produktsparte zeigt visuelle Kategorie-Icons fuer Gas/Density, Pressure/Druck, Temperatur/Thermostat, Switch/Schalter, Access/Zubehoer, UNASS und Sonstige.
|
|
- Neu umgesetzt und deployed: Finance-Schulung hat einen neuen Tab `Spartenanalyse` mit Navigation, Gruppierung, Top 10, Flaggen, Icons und Statusinterpretation.
|
|
- Neu umgesetzt und deployed: Browser-Favicon `wwwroot/favicon.svg` und Head-Link in `Components/App.razor`.
|
|
- Letzter dokumentierter Finance-Deploy: 2026-06-04 nach 3D-Datenanalyse-/Schnelluebersicht-Anpassungen auf `\\trch-webapp-bidashboard.trafagch.local\BiDashboard$\`.
|
|
- Aktueller Stand 2026-06-05: Spanien-Scriptfixes sind committed; Server muss die aktuelle All-in-one-PS1 verwenden, nicht alte Kopien mit `(1)` und nicht den alten Wrapper.
|
|
- Spanien-Delta-Sync im Dashboard-Import wurde am 2026-06-05 publiziert. Publish brauchte kurz `app_offline.htm`, weil `BiDashboard.dll` gesperrt war; danach wurde `app_offline.htm` wieder entfernt.
|
|
- Neu umgesetzt: Linker Menuebaum ist datengetrieben und ueber `Admin > Menuestruktur` umhaengbar/sortierbar; bestehende Punkte koennen in andere Untermenues verschoben werden.
|
|
- Neu umgesetzt: Neuer Hauptpunkt `Einkauf` mit Einkaufswagen-Icon und vorbereiteter Einstiegseite `Einkauf Dashboard`.
|
|
- Letzte Validierung: `dotnet test TrafagSalesExporter.sln --verbosity minimal --artifacts-path C:\TMP\trafag-test-artifacts-finance-session-proof` mit `82/82` Tests gruen.
|
|
|
|
## Nachtrag 2026-06-05 Spanien Sage / rclone Upload
|
|
|
|
Ziel:
|
|
|
|
- Spanien soll auf dem Sage-Server selbst exportieren und die Datei automatisch nach SharePoint laden.
|
|
- Nach dem alten Vollbestand werden kuenftig nur noch Range-/Delta-Exporte benoetigt.
|
|
|
|
Server-/rclone-Kontext:
|
|
|
|
- Spanien-Server laut Chat:
|
|
- IP: `194.30.41.41`
|
|
- Hostname: `WIN-4BJQJ9S1PVJ`
|
|
- VPS im Netzwerkprovider von Spanien, Wartung durch Spanien.
|
|
- Microsoft-365/rclone-Berechtigung wurde durch Admin genehmigt; rclone-Remote-Konfiguration war danach erfolgreich.
|
|
- Zielordner:
|
|
- Browser: `https://trafagag.sharepoint.com/sites/WorldwideBIPlatform/Shared%20Documents/Import/Finance/Spanien`
|
|
- rclone: `trafag-bi:Import/Finance/Spanien`
|
|
|
|
Umgesetzt:
|
|
|
|
- Neues Einzel-Script `SageSpainFinalExportPackage/Run-SpainRangeExportAndUpload-AllInOne.ps1`.
|
|
- Das Script macht alles in einem Lauf:
|
|
- Datum pruefen.
|
|
- rclone finden.
|
|
- SharePoint-Ziel pruefen/erstellen.
|
|
- Sage-SQL direkt lesen.
|
|
- Range-CSV und Summary schreiben.
|
|
- CSV/Summary per rclone hochladen.
|
|
- Upload via `rclone lsf` verifizieren.
|
|
- Default:
|
|
- `FromDate = heute - 7 Tage`
|
|
- `ToDate = heute`
|
|
- `ToDate` ist exklusiv.
|
|
- Parameter koennen ueberschrieben werden:
|
|
|
|
```powershell
|
|
.\Run-SpainRangeExportAndUpload-AllInOne.ps1 -FromDate "2026-06-01" -ToDate "2026-06-04"
|
|
```
|
|
|
|
rclone-Fix:
|
|
|
|
- Fehler im Serverlog:
|
|
|
|
```text
|
|
CRITICAL: Can't set -v and --log-level
|
|
```
|
|
|
|
- Ursache: rclone darf nicht gleichzeitig mit `--verbose` / `-v` und `--log-level INFO` gestartet werden.
|
|
- Fix im All-in-one-Script:
|
|
- `--verbose` aus dem `rclone copy` Uploadblock entfernt.
|
|
- `--log-level INFO` bleibt erhalten.
|
|
- Bei rclone-Fehlern werden die letzten 80 Logzeilen direkt ausgegeben.
|
|
|
|
rclone-Pfade:
|
|
|
|
- Automatische Suche prueft:
|
|
- expliziter Parameter `-RcloneExe`
|
|
- `rclone.exe` im Scriptordner
|
|
- `C:\Tools\rclone.exe`
|
|
- `C:\Tools\rclone\rclone.exe`
|
|
- `C:\Tools\rclone\rclone\rclone.exe`
|
|
- `rclone` aus `PATH`
|
|
|
|
Wichtige Bedienregel:
|
|
|
|
- Fuer den Ein-Datei-Betrieb immer starten:
|
|
|
|
```powershell
|
|
.\Run-SpainRangeExportAndUpload-AllInOne.ps1
|
|
```
|
|
|
|
- Nicht starten:
|
|
|
|
```powershell
|
|
.\Run-SpainExportAndUpload.ps1
|
|
```
|
|
|
|
Dieser alte Wrapper erwartet daneben `Export-SageSpainSalesCsv.ps1` und ist nicht der gewuenschte Ein-Datei-Workflow.
|
|
|
|
Commits:
|
|
|
|
- `e55a86c Add Spain all-in-one export upload script`
|
|
- `8e0b696 Default Spain export range to last seven days`
|
|
- `af097ca Fix Spain all-in-one rclone upload`
|
|
- `3fd19a8 Detect nested Spain rclone executable`
|
|
|
|
## Nachtrag 2026-06-05 Spanien Delta-Sync im Dashboard-Import
|
|
|
|
Problem:
|
|
|
|
- Der Sage-Server laedt per rclone taeglich neue Delta-Dateien in den SharePoint-Ordner.
|
|
- Dateinamen sind z. B. `Spain_Sales_range_20260528_to_20260603.csv`.
|
|
- Bisher haette ein einzelnes Delta beim Standortexport den kompletten Spanienbestand ersetzt, wenn nur dieses Delta gelesen wird.
|
|
|
|
Umgesetzt:
|
|
|
|
- `ManualExcelDataSourceAdapter` erkennt Spanien-Ordner lokal und in SharePoint.
|
|
- Fuer Spanien werden alle `Spain_Sales*.csv` gelesen, nicht nur die neueste Datei.
|
|
- SharePoint-Auswahl akzeptiert Spanien-Dateien ohne `TRES` im Namen.
|
|
- Sortierung:
|
|
- Basis-/Vollfiles zuerst.
|
|
- danach `Spain_Sales_range_YYYYMMDD_to_YYYYMMDD.csv` nach Datumsbereich.
|
|
- `ManualExcelImportService` liest `SourceLineId` aus dem CSV.
|
|
- Vor dem Speichern wird Spanien dedupliziert:
|
|
- primaer `SourceLineId`.
|
|
- Fallback `TSC + InvoiceNumber + PositionOnInvoice + Material`.
|
|
- `CentralSalesRecords` werden weiterhin pro Standort ersetzt, aber mit dem zusammengesetzten und deduplizierten Gesamtstand aus Basis + Deltas.
|
|
|
|
Wichtige Bedienregel:
|
|
|
|
- Fuer Delta-Sync muss im Standort/Manuellen Import der Ordner hinterlegt sein, nicht eine einzelne Delta-Datei.
|
|
- Beispielordner lokal/testweise: `SageSpainExportPackage`.
|
|
- Beispiel SharePoint: `Import/Finance/Spanien`.
|
|
|
|
Validierung:
|
|
|
|
```text
|
|
dotnet test TrafagSalesExporter.sln --verbosity minimal --filter ManualExcel
|
|
```
|
|
|
|
Ergebnis: `12/12` Tests gruen.
|
|
|
|
```text
|
|
dotnet test TrafagSalesExporter.sln --verbosity minimal
|
|
```
|
|
|
|
Ergebnis: `83/83` Tests gruen.
|
|
|
|
Deploy:
|
|
|
|
- `dotnet publish .\TrafagSalesExporter.csproj -c Release --no-restore /p:PublishProfile=FolderProfile --verbosity minimal`
|
|
- Ziel: `\\trch-webapp-bidashboard.trafagch.local\BiDashboard$\`
|
|
- Erster Publishversuch scheiterte wegen gesperrter `BiDashboard.dll`.
|
|
- Danach `app_offline.htm` gesetzt, Publish erfolgreich ausgefuehrt und `app_offline.htm` wieder entfernt.
|
|
|
|
## Nachtrag 2026-06-04 Finance Schnelluebersicht / Experten / 3D Datenanalyse
|
|
|
|
Ziel:
|
|
|
|
- Finance Dashboard war fuer Finance/Andreas zu unuebersichtlich.
|
|
- Bestehende Funktionen bleiben erhalten, werden aber als Expertenbereich eingeordnet.
|
|
- Neue fuehrende Navigation soll links klarer sein: einfache Uebersicht zuerst, tiefe Analysen darunter.
|
|
|
|
Umgesetzt und deployed:
|
|
|
|
- Finance-Schnelluebersicht links sichtbarer gemacht.
|
|
- Bestehende tiefe Funktionen unter `Experten` zusammengefasst.
|
|
- Neuer Expertenpunkt `3D Datenanalyse`.
|
|
- 3D-Datenanalyse:
|
|
- drehbare 3D-Ansicht mit Maus.
|
|
- Achsenbeschriftung fuer Zeit/Werte/Indikatoren.
|
|
- waehlbare Indikatoren erweitert.
|
|
- Diagrammarten erweitert, u. a. Balken, Linien und weitere Analyseformen.
|
|
- Labelgroesse in der Grafik einstellbar.
|
|
- Canvas-/Frame-Groesse korrigiert, damit die Grafik nicht eingequetscht ist.
|
|
- Simulation mit Schiebereglern, u. a. fuer Wechselkurs-/Szenarioaenderungen.
|
|
- Realtime-Aktualisierung der Grafik bei Parameterveraenderungen.
|
|
|
|
Bekannte Beobachtung:
|
|
|
|
- In Chrome sah die 3D-Ansicht korrekt aus.
|
|
- In Firefox gab es auf dem Client Interaktions-/Zoomprobleme; vorerst als Browser-Hinweis merken.
|
|
|
|
Commits:
|
|
|
|
- `40805e0 Simplify finance dashboard overview`
|
|
- `b44e8ba Expose quick finance overview in navigation`
|
|
- `a8dc565 Add finance 3D data analysis`
|
|
- `13a7331 Improve finance 3D controls and simulation`
|
|
- `9409174 Fix finance 3D scenario scaling`
|
|
- `fde7f6b Add finance 3D chart modes`
|
|
- `1049216 Label finance 3D axes`
|
|
- `e33a2fd Expand finance 3D indicators`
|
|
- `9c63c36 Fix finance 3D canvas sizing`
|
|
- `cad2140 Add finance 3D label size control`
|
|
|
|
## Nachtrag 2026-06-01 Finance-Sitzung Andreas
|
|
|
|
Umgesetzt:
|
|
|
|
- ES hat laut Sitzung keine echte Ist-Abweichung. `DatabaseSeedService` setzt `FinanceReference ES 2025` auf `3'082'320.18 EUR`; `CheckValue` wird fuer ES entfernt.
|
|
- `Tools/FinanceProbe` verwendet fuer den Spain-CSV-Check ebenfalls `3'082'320.18 EUR`.
|
|
- `Settings > Export Einstellungen` hat neu `Wechselkurse anwenden auf` mit Optionen:
|
|
- `PostingDate / Buchungsdatum`
|
|
- `InvoiceDate / Rechnungsdatum`
|
|
- `ExtractionDate / Extraktionsdatum`
|
|
- `Management Analyse > Rohdaten Diagnose` zeigt `Kursdatum` bzw. das fuer Wechselkurse verwendete Datumsfeld.
|
|
- `Management Analyse` erlaubt `CHF` als Anzeige-Waehrung.
|
|
- `Management Analyse > Laender` zeigt zusaetzlich:
|
|
- `IC/2nd-party`
|
|
- `Ist ohne IC`
|
|
- Intercompany bleibt Diagnose: Der Standard-Ist wird nicht automatisch bereinigt.
|
|
- Sparten-Zuordnung normalisiert Materialnummern fuer den Vergleich gegen TR-AG-Referenz, insbesondere fuehrende Nullen.
|
|
- Bei >=90% Umsatz in `Nicht zugeordnet` + `Nicht im TR-AG-Stamm` erzeugt die Management-Analyse einen Warnhinweis mit Pruefpunkten (`ProductDivisionRefSet`, Join, fuehrende Nullen, lokale Materialnummern, letzter ZSCHWEIZ-Export).
|
|
- Der Warnhinweis ist per Test `AnalyzeFinanceSummaryAsync_Warns_When_Product_Assignment_Coverage_Is_Implausibly_Low` abgesichert.
|
|
- Bestehender Sparten-Test prueft weiterhin, dass `000MAT-OK` in der TR-AG-Referenz zu `MAT-OK` aus einem lokalen Standort matcht.
|
|
|
|
Dokumentiert:
|
|
|
|
- `docs/FINANCE_STATUS_OFFENE_PUNKTE_2026-06-01.md`
|
|
- `docs/FINANCE_MEMO_ANDREAS_2026-06-01.md`
|
|
- `docs/rag/FINANCE.md`
|
|
- `docs/FINANCE_ENTSCHEIDE.md`
|
|
- `docs/FINANCE_BERECHNUNGSFORMELN_LAENDER_2026-05-19.md`
|
|
- `SAGE_SPAIN_EXPORT_2026-05-05.md`
|
|
|
|
Validierung:
|
|
|
|
```text
|
|
dotnet test TrafagSalesExporter.sln --verbosity minimal --artifacts-path C:\TMP\trafag-test-artifacts-finance-session-proof
|
|
```
|
|
|
|
Ergebnis:
|
|
|
|
```text
|
|
82/82 Tests gruen
|
|
```
|
|
|
|
Offen / fachlich:
|
|
|
|
- Pro Standort bestaetigen, ob Intercompany bereits in der gelieferten Quelle herausgerechnet ist.
|
|
- Fuer Wechselkurse fachlich final bestaetigen, welches Datumsfeld fuehrend ist.
|
|
- Falls die Spartenanalyse weiterhin >90% ungeklaert bleibt, TR-AG-Referenz, `ProductDivisionRefSet`, Join und lokale Materialnummern mit Andreas/Kendra pruefen.
|
|
|
|
## Nachtrag 2026-05-29 Management Analyse UX / Spartenanalyse / Favicon
|
|
|
|
Umgesetzt und deployed:
|
|
|
|
- `Management Analyse` ist in der linken Navigation als `MudNavGroup` aufklappbar.
|
|
- Direkte Navigationspunkte:
|
|
- `Finance Summary`
|
|
- `Laender`
|
|
- `Datenstatus`
|
|
- `Abweichungen`
|
|
- `Gutschriften`
|
|
- `Datenqualitaet`
|
|
- `Sparten-Finanzanalyse`
|
|
- `Zentrale Spartenzuordnung`
|
|
- `Rohdaten Diagnose`
|
|
- Die Navigation nutzt Query-Parameter (`section`, `division`), und `ManagementCockpit.razor` bindet diese auf feste Reiter-Indizes.
|
|
- Die bisherigen Top-Level-Reiter `Sparten-Finanzanalyse` und `Zentrale Spartenzuordnung` wurden in einen Top-Level-Reiter `Spartenanalyse` mit Unterreitern zusammengefuehrt:
|
|
- `Finanzanalyse`
|
|
- `Zentrale Zuordnung`
|
|
- `Sparten-Finanzanalyse` hat neue Controls:
|
|
- Dropdown `Gruppierung`: `PAPH1 Detail`, `Produktfamilie`, `Produktsparte`
|
|
- Button `Top 10 anzeigen` mit Filter-Icon
|
|
- dynamische Spaltenausblendung je Gruppierung
|
|
- Aggregation:
|
|
- Umsatz, Anteil, Zeilen und Laender werden je Gruppierung neu berechnet.
|
|
- `Top 10` filtert nur die Anzeige, nicht die zugrunde liegende Berechnungsbasis.
|
|
- Laender werden mit Flagge formatiert.
|
|
- Visuelle Produktsparte-Icons:
|
|
- Gas/Density -> `Sensors`
|
|
- Pressure/Druck -> `Compress`
|
|
- Temp/Thermostat -> `DeviceThermostat`
|
|
- Switch/Schalter -> `ToggleOn`
|
|
- Access/Zubehoer -> `Extension`
|
|
- UNASS/Nicht zugeordnet -> `HelpOutline`
|
|
- sonst -> `Category`
|
|
- Finance-Schulung:
|
|
- Neuer Schulungs-Tab `Spartenanalyse`.
|
|
- Dokumentiert Navigation, Gruppierung, Top 10, Flaggen, Icons und Statusinterpretation.
|
|
- Browser:
|
|
- Neues SVG-Favicon `wwwroot/favicon.svg`.
|
|
- Eingebunden in `Components/App.razor` via `<link rel="icon" type="image/svg+xml" href="favicon.svg" />`.
|
|
|
|
Commits:
|
|
|
|
- `dc2bc7d Group division analysis tabs`
|
|
- `0a7aafb Add management analysis navigation group`
|
|
- `3c82747 Add division finance grouping controls`
|
|
- `18208cb Add product division category icons`
|
|
- `61de1be Document division analysis in finance training`
|
|
- `674c103 Expose management analysis tabs in navigation`
|
|
- `36ca822 Add browser favicon`
|
|
|
|
Validierungen:
|
|
|
|
- Mehrfach `dotnet test TrafagSalesExporter.sln --verbosity minimal` mit separaten Artefaktpfaden.
|
|
- Letzter dokumentierter Testlauf: `80/80` Tests gruen.
|
|
- Letzter Webserver-Deploy: `BiDashboard.dll` aktualisiert am `29.05.2026 13:47:36`.
|
|
|
|
## Nachtrag 2026-05-29 Produktsparten-Mapping Gateway/Web
|
|
|
|
SAP/Gateway:
|
|
|
|
- Bestehender Service wird verwendet: `ZPOWERBI_EINKAUF_SRV`.
|
|
- Service Root: `http://travt762.sap.trafag.com:8000/sap/opu/odata/sap/ZPOWERBI_EINKAUF_SRV/`.
|
|
- Neuer Entity Type/Entity Set:
|
|
- `ProductDivisionRef`
|
|
- `ProductDivisionRefSet`
|
|
- Entity Type basiert auf `ZSTR_PRODSPARTE_OUT`.
|
|
- Gateway-Test liefert Daten, Beispiel:
|
|
- `Matnr = VCP1000`
|
|
- `Paph1 = 9999`
|
|
- `Wwpsp = UNASS`
|
|
- `WwpspText = Nicht zugeordnet`
|
|
- Wichtig: `FINANZDATASCHWEI_GET_ENTITYSET` ist der bestehende Sales-EntitySet und muss den alten `ZSCHWEIZ`-Select behalten. Produktspartenlogik gehoert in `PRODUCTDIVISIONR_GET_ENTITYSET`.
|
|
- Fehler `/IWFND/MED/170` wurde als fehlender Slash zwischen Service und EntitySet identifiziert.
|
|
|
|
Web/App:
|
|
|
|
- Neue Felder in `SalesRecord` und `CentralSalesRecord`:
|
|
- `ProductHierarchyCode`
|
|
- `ProductHierarchyText`
|
|
- `ProductFamilyCode`
|
|
- `ProductFamilyText`
|
|
- `ProductDivisionCode`
|
|
- `ProductDivisionText`
|
|
- `ProductMappingAssigned`
|
|
- `CentralSalesRecords` erhaelt die Spalten per Schema-Maintenance.
|
|
- `CentralSalesRecordService` liest/schreibt die Felder.
|
|
- Excel-Export fuehrt die Produktfelder im Blatt `Sales` direkt nach `Product Group`.
|
|
- Manual-Excel-Header-Mapping kennt die neuen Feldnamen.
|
|
- Lokale DB-Konfiguration fuer Standort `ZSCHWEIZ`:
|
|
- Quelle `P`: `ProductDivisionRefSet`
|
|
- Join: `Z.Matnr = P.Matnr`
|
|
- Mappings: `P.Paph1`, `P.Paph1Text`, `P.Wwpfa`, `P.WwpfaText`, `P.Wwpsp`, `P.WwpspText`, `P.IsAssigned`
|
|
- Lokaler Neustart durchgefuehrt; `http://localhost:55416/` antwortet mit HTTP 200.
|
|
- Validierung: `dotnet test TrafagSalesExporter.sln --verbosity minimal --artifacts-path C:\TMP\trafag-test-artifacts-productmapping` mit `79/79` Tests gruen.
|
|
|
|
Offen:
|
|
|
|
- `ZSCHWEIZ` im Export Dashboard neu laufen lassen.
|
|
- Danach Fuellung der neuen Produktfelder und Quote `UNASS` pruefen.
|
|
- Fachliche Mapping-Luecken wie `0509`/`0540` spaeter mit Andreas/Kendra klaeren.
|
|
- Wenn `TR-AG Referenz = 0` angezeigt wird, ist die zentrale Referenz im Web noch leer. Dann `ZSCHWEIZ` nach aktivem `ProductDivisionRefSet`-Join erneut exportieren/laden.
|
|
|
|
## Nachtrag 2026-05-29 Zentrale Spartenzuordnung
|
|
|
|
Umgesetzt:
|
|
|
|
- Neuer Reiter in `Management Analyse`: `Zentrale Spartenzuordnung`.
|
|
- Fachlogik:
|
|
- Andere Laender-ERPs sind fuer Produktsparten nicht fuehrend.
|
|
- Fuehrend ist die TR-AG-/SAP-Referenz aus `ProductDivisionRefSet`.
|
|
- Umsatzzeilen aus `CentralSalesRecords` werden ueber `Material` gegen die TR-AG-Referenz geprueft.
|
|
- Statuswerte:
|
|
- `Zugeordnet`
|
|
- `Nicht zugeordnet`
|
|
- `Nicht im TR-AG-Stamm`
|
|
- `Material fehlt`
|
|
- Der Reiter zeigt:
|
|
- Summary-Kennzahlen
|
|
- Abdeckung nach Land/TSC
|
|
- Detailtabelle mit Land-Material links und TR-AG-MATNR/PAPH1/Familie/Sparte rechts.
|
|
- Die Sicht verwendet die bestehenden Finance-Filter fuer Jahr, Land und Waehrung.
|
|
- Noch keine persistente Mutation anderer Laenderzeilen; es ist bewusst eine Pruefansicht.
|
|
|
|
Technisch:
|
|
|
|
- Neue Modelle in `ManagementCockpitModels`.
|
|
- Produktzuordnungsanalyse in `ManagementCockpitService`.
|
|
- Neuer Reiter in `Components/Pages/ManagementCockpit.razor`.
|
|
- Test ergaenzt: `AnalyzeFinanceSummaryAsync_Builds_Central_Product_Assignment_Tab_Data`.
|
|
- Validierung: `dotnet test TrafagSalesExporter.sln --verbosity minimal --artifacts-path C:\TMP\trafag-test-artifacts-central-product-assignment` mit `80/80` Tests gruen.
|
|
|
|
## Nachtrag 2026-05-29 Sparten-Finanzanalyse
|
|
|
|
Umgesetzt:
|
|
|
|
- Neuer Reiter in `Management Analyse`: `Sparten-Finanzanalyse`.
|
|
- Grundlage sind die bestehenden Statuswerte aus `Zentrale Spartenzuordnung`, damit Materialstatus und Finanzwerte identisch abgegrenzt sind.
|
|
- Kennzahlen:
|
|
- Gesamtumsatz
|
|
- Zugeordneter Umsatz
|
|
- Nicht zugeordneter Umsatz
|
|
- Umsatz nicht im TR-AG-Stamm
|
|
- Tabellen:
|
|
- Umsatz nach Produktsparte mit Produktsparte, Produktfamilie, PAPH1, Umsatz, Anteil, Materialanzahl, Zeilen und Laendern.
|
|
- Umsatzabdeckung nach Land/TSC mit Gesamt, Zugeordnet, Nicht zugeordnet, Nicht im Stamm, Material fehlt und Abdeckungsquote.
|
|
- Seed-Fix:
|
|
- SAP-Quelle `P = ProductDivisionRefSet` wird beim App-Start nicht mehr deaktiviert.
|
|
- Join `Z.Matnr = P.Matnr` und Produktfeld-Mappings werden als Standard gepflegt.
|
|
- Server-DB nach Deploy geprueft:
|
|
- `ProductRows = 36'847`
|
|
- `TR-AG Referenzmaterialien = 6'805`
|
|
- `ProductDivisionRefSet` aktiv.
|
|
- Deploy: `BiDashboard.dll` auf Server aktualisiert am `29.05.2026 10:42`.
|
|
- Validierung: `dotnet test TrafagSalesExporter.sln --verbosity minimal --artifacts-path C:\TMP\trafag-test-artifacts-division-finance` mit `80/80` Tests gruen.
|
|
|
|
## Nachtrag 2026-05-28 ABAP Produktsparten-Mapping
|
|
|
|
Erstellt:
|
|
|
|
- `docs/abap/ZCL_PRODSPARTE_PROVIDER.abap`
|
|
- `docs/abap/Z_PRODSPARTE_REPORT.abap`
|
|
- `docs/abap/Z_PRODSPARTE_MAP_BUILD.abap`
|
|
- `docs/abap/README_PRODSPARTE.md`
|
|
|
|
Dokumentierter Zielansatz:
|
|
|
|
- SAP TR AG bleibt Quelle der Wahrheit fuer `MATNR -> PAPH1 -> WWPFA -> WWPSP`.
|
|
- Mapping-Build liest reale CO-PA-Ableitungen aus `CE11000` und schreibt eindeutige Saetze in `ZPRODSPARTE_MAP`.
|
|
- Provider liest verkaufsrelevante Materialien aus `MVKE`, Texte aus SAP-Texttabellen und Mapping aus `ZPRODSPARTE_MAP`.
|
|
- ALV-Report und spaeter OData sollen dieselbe Provider-Methode verwenden.
|
|
- Nicht zugeordnete Materialien erhalten Fallback `UNASS` / `Nicht zugeordnet`.
|
|
|
|
Offen:
|
|
|
|
- `PAPH1 = MVKE-PRODH(5)` bestaetigen.
|
|
- Texttabellen `T25A0`/`T25A1` bestaetigen.
|
|
- Relevante `VKORG`/`VTWEG` fuer TR AG festlegen.
|
|
- `CE11000` als richtige CO-PA-Quelle bestaetigen.
|
|
|
|
## Nachtrag 2026-05-28 Finance Management Analyse Reiter
|
|
|
|
Umgesetzt:
|
|
|
|
- `Management Analyse` erweitert die bestehende `Finance Summary` um weitere Reiter im Cockpit-Stil.
|
|
- Neue Reiter:
|
|
- `Laender`
|
|
- `Datenstatus`
|
|
- `Abweichungen`
|
|
- `Gutschriften`
|
|
- `Datenqualitaet`
|
|
- Grundlage sind vorhandene Daten aus `CentralSalesRecords`, `FinanceReferences`, `Sites` und `ExportLogs`.
|
|
- Keine neuen Fachregeln eingefuehrt:
|
|
- Gutschriften-Reiter zeigt technische Kandidaten.
|
|
- Datenqualitaet zeigt technische Pruefpunkte.
|
|
- Produktsparten-/Produktfamilienlogik bleibt bis Kendra-Mapping offen.
|
|
- Test ergaenzt: `AnalyzeFinanceSummaryAsync_Builds_Dashboard_Tab_Data`.
|
|
- Validierung: `dotnet test TrafagSalesExporter.sln --verbosity minimal` mit `79/79` Tests gruen.
|
|
|
|
## Nachtrag 2026-05-27 Produktsparten-Mapping
|
|
|
|
Dokumentiert:
|
|
|
|
- Neue Detaildoku `docs/PRODUCT_SPARTEN_MAPPING_2026-05-27.md`.
|
|
- Neue RAG-Kurzdatei `docs/rag/PRODUCT_MAPPING.md`.
|
|
- Router-Eintrag fuer Themen `Group Sales Report`, `Produkthierarchie`, `Produktfamilie`, `Produktsparte`.
|
|
- Fachliche Annahme: Materialnummern aus Group Sales Report werden gegen TR-AG-Artikelstamm aufgeloest; nicht gefundene Artikel laufen unter `Sonstige/ohne Zuordnung`.
|
|
- Offene Sitzungspunkte: Quelle des Artikelstamms, Bedeutung von `Z.Prodh`, Mapping-Tabelle von Kendra, Range-/Prefix-Regeln, Historisierung.
|
|
|
|
## Volltext Bei Bedarf
|
|
|
|
Die kanonische Detailhistorie liegt hier:
|
|
|
|
```text
|
|
docs/raw_md_archive/HISTORY_CANONICAL.md.raw
|
|
```
|
|
|
|
Die frueheren Original-Volltexte liegen als Wiederherstellungs-Backup hier:
|
|
|
|
```text
|
|
docs/raw_md_archive/original_history_raws.zip
|
|
```
|
|
|
|
Nur laden, wenn genaue Chronologie, alte Zwischenstaende, Commit-Historie oder Audit-Spuren benoetigt werden.
|