Seit August 2026 werden d.velop-Kategorieeigenschaften und ihre Wertelisten nicht mehr bei jedem Seitenaufruf live aus der API geladen, sondern lokal zwischengespeichert:
- **`KWG_DPPropertyPerCategory`** (5740072) – eine Zeile je Eigenschaft einer Kategorie (Datentyp, Pflichtfeld, schreibgeschützt, Mehrfachwert, Validierungs-RegEx, Min/Max, ggf. `DataSetId` einer zugehörigen Werteliste).
- **`KWG_DPPropertyValue`** (5740073) – die erlaubten Werte („Wertemenge"/Dataset) je Eigenschaft mit `DataSetId` (Rohwert + sprachabhängige Beschriftung, Priorität de-DE > de > en > Rohwert).
Codeunit `KWG_DPPropertyMgt` (5740074) ist für Aufbau und Pflege dieses Caches zuständig:
- **`GetPropertiesPerCategory`** liest zuerst aus `KWG_DPPropertyPerCategory` und fällt nur bei leerem Cache auf den Live-API-Aufruf zurück – dies ist der neue Standardweg, über den Mapping-Seiten und die Payload-Erzeugung Eigenschaftsdefinitionen beziehen (ersetzt die bisherigen direkten `GetPropertiesForCategory`-Aufrufe).
- **`RefreshPropertyPerCategoryAndValues`** (aufgerufen über den o. g. Job-Queue-Eintrag) durchläuft alle Kategorien aus `KWG_DPTables`, aktualisiert `KWG_DPPropertyPerCategory` und – für Eigenschaften mit `DataSetId` – `KWG_DPPropertyValue` (Insert/Update/Delete-Abgleich gegen d.velop) und entfernt verwaiste Kategorien/Werte.
- Fehler beim Laden aus d.velop werden als `KWG_ErrorProtocol`-Eintrag protokolliert (siehe 6.3).
Ist einer Eigenschaft ein `DataSetId` zugeordnet (Feld `DPDataSetId` in `KWG_DocumentTransMappingFields`), ist das zugehörige BC-Feld in der Spalten-Zuordnung nicht mehr frei wählbar; bei der Werteingabe (Anhangs-Kategorisierungsdialog, Spalten-Zuordnung) wird der Wert per `OnValidate`/`OnLookup` gegen `KWG_DPPropertyValue` geprüft bzw. per Auswahlliste (`StrMenu`) angeboten (Codeunit `KWG_DPPropertyMgt`, Prozeduren `OnValidatePropertyValue`/`OnLookUpPropertyValue`).