Files
article-data-manager/docs/merge-rules.md
T

65 lines
2.2 KiB
Markdown

# Merge-Regeln
## Matching
Primaerer Matching-Schluessel ist die Artikelnummer:
- RollCalc: `nr`
- ERP: beobachtet `SL_ITEM_NO`
- manuelle Daten: `nr`
Artikelnummern werden als Strings behandelt. Fuehrende Nullen bleiben erhalten. Normalisierung in Phase 0: nur fuehrende und nachgestellte Leerzeichen entfernen.
## Merge-Reihenfolge
1. ERP-Stammdaten
2. bestehende RollCalc-Berechnungsdaten
3. manuelle Ergaenzungen und explizite Korrekturen
Diese Reihenfolge ist eine Prioritaetsregel, aber keine Erlaubnis fuer stille Konfliktbereinigung.
## Mehrfache ERP-Treffer
Wenn dieselbe Artikelnummer mehrfach im ERP-Export vorkommt, darf Phase 1 keinen Datensatz stillschweigend auswaehlen. Der Artikel muss im Report erscheinen. Falls mehrere ERP-Zeilen fachlich gueltig sind, braucht es eine bestaetigte Auswahlregel.
## Fehlende Treffer
- Nur in RollCalc: Artikel bleibt als moeglicher Bestandsartikel sichtbar und wird reportet.
- Nur im ERP: Artikel wird als neuer oder nicht in RollCalc gepflegter Artikel reportet.
- Nur manuell: Artikel wird reportet, weil kein gesicherter Stammdatensatz vorhanden ist.
## Konflikte
Widerspruechliche Werte zwischen Quellen werden nicht stillschweigend ueberschrieben. Konflikte muessen mindestens Quelle, Artikelnummer, Feld, Quellwert und Zielwert enthalten.
## Feldprioritaeten
- ERP: Stammdaten, soweit Feld und Bedeutung bestaetigt sind.
- RollCalc: bestehende Berechnungsparameter wie `thickness`, `area_weight` und bisherige Kerninformationen.
- Manuell: Zusatzdaten und explizit freigegebene Overrides.
## Erlaubte manuelle Overrides
In Phase 0 vorgesehen:
- `core_diameter`
- `core_type`
- `area_weight`
Weitere Overrides muessen im Datenwoerterbuch dokumentiert werden.
## Reporting
Geplante Reports:
- `data/reports/merge-report.csv`
- `data/reports/unmatched-rollcalc-articles.csv`
- `data/reports/unmatched-erp-articles.csv`
- `data/reports/validation-report.json`
Reports koennen sensible Inhalte enthalten und werden nicht versioniert.
## Deterministische Ausgabe
Die exportierte JSON-Datei soll stabil sortiert werden, voraussichtlich nach normalisierter Artikelnummer. Das genaue Sortierverhalten wird in Phase 1 getestet.