3.8 KiB
ERP Enrichment Dry Run
Der ERP Enrichment Dry Run reichert ausschließlich vorhandene RollCalc-Artikel mit ausgewählten ERP-Feldern an. Die RollCalc-Datei definiert die relevante Artikelmenge und Reihenfolge. ERP-Artikel ohne RollCalc-Entsprechung werden ignoriert.
Es handelt sich nicht um einen vollständigen ERP-Import, keinen Merge-Prozess und keinen produktiven RollCalc-Export.
Öffentliche API
from pathlib import Path
from article_data_manager.enrichment.erp import (
enrich_rollcalc_articles_from_erp,
write_enrichment_outputs,
)
result = enrich_rollcalc_articles_from_erp(
Path("data/source/rollcalc/article-data.json"),
Path("data/source/erp/production-key-data.csv"),
)
write_enrichment_outputs(
result,
Path("data/generated/article-data.erp-enriched-dry-run.json"),
Path("data/reports/erp-enrichment-report.csv"),
)
Übernommene ERP-Felder
| ERP-Feld | Zielfeld | Bedeutung | Einheit |
|---|---|---|---|
ROP_PRODUCT_WIDTH |
product_width_m |
ERP-Produktbreite | m |
ROP_RATE_OF_PRODUCTION |
line_speed_m_min |
Liniengeschwindigkeit | m/min |
SL_MINIMUM_PRODUCTION_QUANTITY |
minimum_production_quantity |
Mindestproduktionsmenge | ERP-Originaleinheit |
WPL_WORKPLACE_TEXT |
workplace |
geplanter Arbeitsplatz beziehungsweise geplante Anlage | Text |
ROP_RATE_OF_PRODUCTION ist die für Rollenwechselbetrachtungen maßgebliche Liniengeschwindigkeit in m/min. SL_PRODUCTION_SPEED wird nicht verwendet, weil dessen Einheit artikelabhängig sein kann. kg_qm wird nicht übernommen, weil area_weight aus QC beziehungsweise aus der bestehenden RollCalc-Datenquelle stammt.
ROP_PRODUCT_WIDTH wird als ERP-Produktbreite übernommen, ohne Sonderfälle fachlich zu interpretieren.
Internes Dry-Run-Format
Die vorhandene RollCalc-Struktur bleibt erhalten und wird um ein separates erp-Objekt ergänzt:
{
"nr": "214700",
"name": "Stex H 751 (Tfix 751), 6,00 x 50 m",
"thickness": 6.722,
"area_weight": 0.0,
"core_type": 0.0,
"erp": {
"product_width_m": 6.0,
"line_speed_m_min": 18.5,
"minimum_production_quantity": 5000.0,
"workplace": "Anlage 3"
}
}
Das erp-Objekt ist auch vorhanden, wenn kein ERP-Treffer existiert. Fehlende, widersprüchliche oder ungültige ERP-Werte erscheinen dort als null.
Vor produktiver Verwendung in RollCalc muss dessen Ladeverhalten für das zusätzliche erp-Objekt geprüft werden. Langfristig soll ein eigener RollCalc-Export nur die für RollCalc vorgesehenen Felder ausgeben. ERP-Produktionsinformationen müssen nicht zwangsläufig Bestandteil des RollCalc-Exports werden.
Mehrfachtreffer und Status
ERP-Zeilen werden ausschließlich über SL_ITEM_NO der RollCalc-Artikelnummer nr zugeordnet. Artikelnummern werden nicht numerisch konvertiert oder umformatiert.
Mehrfachtreffer werden feldweise ausgewertet:
- keine ERP-Zeile:
no_erp_match - keine gefüllten Werte:
missing - genau ein Wert:
unique - mehrere Zeilen mit identischem Wert:
same_value_multiple_rows - mehrere unterschiedliche Werte:
conflict - nicht interpretierbarer numerischer Wert:
invalid
Leere Werte zählen nicht als eigener Konfliktwert. Konflikte und ungültige Werte werden berichtet und nicht automatisch aufgelöst.
Artikelstatus:
complete: alle vier Felder habenuniqueodersame_value_multiple_rowspartial: mindestens ein Feld istmissing, aber kein Feld istconflictoderinvalidconflict: mindestens ein Feld istconflictoderinvalidno_erp_match: keine ERP-Zeile zur RollCalc-Artikelnummer
Ausgaben
Standardpfade:
data/generated/article-data.erp-enriched-dry-run.jsondata/reports/erp-enrichment-report.csv
Die Quelldateien werden nicht verändert. Produktive Dry-Run-Ergebnisse werden nicht versioniert.