diff --git a/TrafagSalesExporter/docs/PROGRAMM_DIAGRAMME.md b/TrafagSalesExporter/docs/PROGRAMM_DIAGRAMME.md new file mode 100644 index 0000000..9458869 --- /dev/null +++ b/TrafagSalesExporter/docs/PROGRAMM_DIAGRAMME.md @@ -0,0 +1,45 @@ +# Programm-Diagramme + +## Empfohlene Diagrammarten + +Fuer das Programm bieten sich zwei Diagrammarten an: + +- **User Story Map** fuer Rollen, fachliche Aktivitaeten und Ausbaustufen. +- **Swimlane-Prozessdiagramm** fuer den Ablauf von Quellsystem bis Finance-Abgleich, weil Verantwortung und Datenfluss getrennt sichtbar werden. + +## Dateien + +- `docs/program-user-stories.svg` + - zeigt Finance, Power User/Admin und IT/SAP als Rollen + - ordnet Stories nach Quellenpflege, Mapping, Import, Konsolidierung, Finance-Abgleich und Betrieb + - markiert Kernfunktionen, naechsten Ausbau und Kontrollpunkte + +- `docs/program-process-plan.svg` + - zeigt den Prozess als Swimlanes + - enthaelt SAP ZSCHWEIZ, SAP OData, SAP HANA/BI1, Manual Excel/CSV + - zeigt den zentralen Weg ueber grafisches Mapping, `MappedSalesRecordComposer`, `CentralSalesRecords`, Finance-Abgleich und Export + - markiert bewusste Rest-Doppelspuren wie HANA-B1-Legacy und den offenen Ausbau fuer Finance-Regelpflege + +## Abgleich gegen Quellcode + +Die Diagramme wurden gegen folgende Codebereiche abgeglichen: + +- `Program.cs`: registrierte Adapter und Services +- `Services/DataSources/*`: HANA, SAP Gateway und Manual Excel/CSV Adapter +- `Services/SiteExportService.cs`: Standortexport, Transformation, Excel-Erzeugung, zentrale Speicherung, SharePoint-Upload +- `Services/ExportOrchestrationService.cs`: Export aller aktiven Standorte und anschliessender konsolidierter Export +- `Services/ConsolidatedExportService.cs`: zentrale Datei aus `CentralSalesRecords` +- `Services/MappedSalesRecordComposer.cs`: gemeinsame Mapping-Engine fuer SAP OData und generisches HANA-Mapping +- `Services/FinanceReconciliationService.cs`: Soll/Ist-Kandidaten, Budgetkurse, IC-Regeln und Ampelstatus +- `Services/DatabaseSeedService.cs`: Seed fuer Quellsysteme, ZSCHWEIZ, Finance-Referenzen, Budgetkurse und IC-Regeln +- `Data/AppDbContext.cs`: relevante Tabellen + +Wichtige Praezisierung aus dem Code: + +- `SalesPriceValue` wird im Finance-Abgleich positionsweise summiert. +- Belegkopfwerte wie `DocTotal - VatSum` werden vor der Summierung pro Beleg dedupliziert. +- Der ausgewaehlte Finance-Wert ist daher ein Ist-Kandidat, nicht pauschal immer eine Positionssumme. + +## Einsatz + +Die SVG-Dateien koennen direkt im Browser geoeffnet, in Markdown verlinkt oder in Praesentationen eingefuegt werden. diff --git a/TrafagSalesExporter/docs/program-process-plan.svg b/TrafagSalesExporter/docs/program-process-plan.svg new file mode 100644 index 0000000..e9d1687 --- /dev/null +++ b/TrafagSalesExporter/docs/program-process-plan.svg @@ -0,0 +1,317 @@ + + Trafag Sales Exporter Prozessplan + Swimlane-Prozessplan fuer Datenquellen, Konfiguration, Import, Konsolidierung, Finance-Abgleich und Betrieb. + + + + + + + + + + + + Trafag Sales Exporter - Prozessplan + Empfohlene Diagrammart: Swimlane-Prozessdiagramm. Es trennt Verantwortung und zeigt den Datenfluss vom Quellsystem bis zur Finance-Kontrolle. + + + + + Quellsysteme + SAP, HANA, + Excel/CSV + + + + Konfiguration + Standorte, + Mappings + + + + Import + Composer, + Validierung + + + + Zentrale + Persistenz + + + + Finance + Soll/Ist, IC, + Budgetkurse + + + + Output + Export, Logs, + Doku + + + + + 1 + SAP ZSCHWEIZ + ABAP schreibt ZSCHWEIZ + 1100 CH, 1200 AT + + + + + 2 + SAP OData Gateway + EntitySet ZSCHWEIZSet + liefert Daten und Metadata + + + + + 3 + SAP HANA / BI1 + Direkte Tabellen/Views + oder Legacy B1-Pfad + + + + + 4 + Manual Excel / CSV + Deutschland, Spanien + und manuelle Dateien + + + + + + 5 + Standort pflegen + TSC, Land, Quellsystem, + URL Override, Aktiv + + + + + 6 + Quellen laden + EntitySets/Felder oder + HANA-Spalten einlesen + + + + + 7 + Grafisch mappen + Quelle, Left Join, Feld + nach SalesRecord + + + + + 8 + Finance-Regeln + Referenzen, Budgetkurse, + IC-Regeln aktuell DB/Seed + + + + + + 9 + Export starten + Ein Standort oder alle + aktiven Standorte + + + + + 10 + Daten lesen + OData, HANA oder + Excel/CSV Adapter + + + + + 11 + Mapped Composer + Gemeinsame Mapping- + Engine fuer SAP/HANA + + + + + 12 + Normalisieren + SalesRecord-Felder, + Datum, Zahl, Waehrung + + + + + + 13 + CentralSalesRecords + Positionsdaten je Standort + werden zentral gespeichert + + + + + 14 + Logs schreiben + ExportLogs und + AppEventLogs + + + + + + 15 + Sollwerte laden + FinanceReferences je + Jahr und Land + + + + + 16 + Ist-Kandidaten bilden + SalesPrice positionsweise, + Belegwerte dedupliziert + + + + + 17 + IC/2nd-party markieren + Regeln nach Nummer + oder Kundentext + + + + + 18 + Ampel bilden + OK, Pruefen oder + keine Daten + + + + + + 19 + Excel-Dateien + Standortdateien und + zentrale Datei + + + + + 20 + Power BI / Weitergabe + Konsolidierte Datei + oder Folgeprozess + + + + + 21 + Monitoring + Dashboard, Logs, + Fehler-Snackbar + + + + + 22 + Config sichern + Mappings, Finance- + Regeln exportieren + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aktuelle bewusste Doppelspur + HANA-B1-Legacy-Pfad bleibt aktiv, + wenn fuer einen Standort kein + grafisches Mapping gepflegt ist. + Ziel: spaeter auf HANA-Mapping migrieren. + + + + + Technischer Kern + MappedSalesRecordComposer + fuehrt Quellzeilen, Left Joins, + Expressionen und Zielfeldmapping + fuer SAP OData und HANA zusammen. + + + + + Naechster Prozessausbau + UI fuer FinanceReferences, + Budgetkurse und IC-Regeln bauen. + Manual Excel Header-Automatik + mit Mapping-Engine vereinheitlichen. + + + diff --git a/TrafagSalesExporter/docs/program-user-stories.svg b/TrafagSalesExporter/docs/program-user-stories.svg new file mode 100644 index 0000000..d69a85c --- /dev/null +++ b/TrafagSalesExporter/docs/program-user-stories.svg @@ -0,0 +1,220 @@ + + Trafag Sales Exporter User Story Map + User Story Map fuer Rollen, Aktivitaeten und konkrete Stories im Trafag Sales Exporter. + + + + + + Trafag Sales Exporter - User Story Map + Empfohlene Diagrammart: User Story Map. Sie zeigt Rollen, fachliche Aktivitaeten und lieferbare Stories nebeneinander. + + + + + + + + Quellen + pflegen + + + + Mapping + konfigurieren + + + + Daten laden + und pruefen + + + + Konsolidieren + und exportieren + + + + Finance + abgleichen + + + + Betrieb + nachvollziehen + + + + + + + + + + Finance + Controller + Soll/Ist, IC, FX + + + + Power User + Admin + Standorte, Mapping + + + + IT / SAP + Entwickler + OData, ABAP, DB + + + + + + Referenzwerte pflegen + Als Finance will ich + check.xlsx-Sollwerte je Land. + + + + Budgetkurse nutzen + CHF-Ausweis erfolgt ueber + Budgetkurse, nicht Tageskurse. + + + + Ist gegen Soll sehen + Ampel zeigt OK, Pruefen + oder fehlende Daten. + + + + Zentrale Datei erhalten + Export aus CentralSalesRecords + fuer Power BI/Weitergabe. + + + + IC klassifizieren + 2nd-party Regeln nach Kunde + oder Namensmarker pflegen. + + + + Abweichungen erklaeren + Differenz, Waehrung und + Ist-Kandidat sichtbar machen. + + + + + + + Standorte verwalten + SAP OData, SAP HANA, + BI1/SAGE, Excel/CSV. + + + + Grafisch mappen + Quellfelder werden auf + SalesRecord-Felder gemappt. + + + + Einzeln exportieren + Standort pruefen, Fehler + direkt in UI sehen. + + + + Alle exportieren + Aktive Standorte laden + und zentral speichern. + + + + Finance-Regeln pflegen + UI fuer Referenzen, Kurse + und IC-Regeln fehlt noch. + + + + Logs lesen + Export- und App-Events + zeigen Laufhistorie. + + + + + + + ZSCHWEIZ bereitstellen + ABAP fuellt 1100 CH + und 1200 AT in SAP. + + + + Metadata lesen + OData EntitySets und Felder + werden aus Gateway geladen. + + + + Legacy stabil halten + BI1/SAGE B1-Pfad bleibt, + bis Mappings migriert sind. + + + + Composer erweitern + SAP OData und HANA + teilen Mapping-Engine. + + + + Regeln versionieren + Config-Export enthaelt + Mappings und Finance-Regeln. + + + + Technische Schulden abbauen + Manual Excel Mapping + noch vereinheitlichen. + + + + + + Kernfunktion + + Naechster Ausbau + + Kontrollpunkt + Lesart: + Von links nach rechts entsteht der Wertfluss von Quelle bis Abgleich; Zeilen zeigen die beteiligten Rollen. + + + diff --git a/TrafagSalesExporter/docs/standorte_systeme.xlsx b/TrafagSalesExporter/docs/standorte_systeme.xlsx new file mode 100644 index 0000000..ee31e9d Binary files /dev/null and b/TrafagSalesExporter/docs/standorte_systeme.xlsx differ