FIELD_FILTER_VALIDATION_EXCEPTION in Salesforce-Deployments beheben
Ein Lookup-Feldwert erfüllt den für dieses Feld konfigurierten Lookup-Filter nicht.
Tritt auf bei: Laufzeit-DML, überall dort, wo ein Lookup-Wert gesetzt wird, auch in Apex-TestsWas das bedeutet
FIELD_FILTER_VALIDATION_EXCEPTION bedeutet, dass eine Lookup- oder Master-Detail-Beziehung auf einen Wert gesetzt wird, der den für dieses Feld definierten Lookup-Filter nicht besteht. Lookup-Filter beschränken, welche Datensätze anhand von Kriterien wie Status oder Datensatztyp ausgewählt werden können, und Salesforce erzwingt sie bei jedem Speichern, nicht nur über die Benutzeroberfläche.
Anders als eine Validierungsregel wird ein Lookup-Filter direkt am Feld selbst in Setup konfiguriert statt als Formel geschrieben, weshalb man leicht vergisst, dass er existiert, bis Seed-Daten oder ein Migrationsskript einen Wert setzen, den der Filter eigentlich ablehnen sollte.
Häufige Ursachen
Die Lösung
- Migrations- oder Seed-Daten an die aktuellen Filterkriterien anpassenRichten Sie den Lookup auf einen Datensatz aus, der den aktiven Lookup-Filter der Zielorg erfüllt.
- Den Lookup-Filter beim Deployment von Daten prüfen, die eine Ausnahme benötigenLockern Sie den Filter vorübergehend, wenn ein bestimmter Massenladevorgang ihn wirklich umgehen muss, und stellen Sie ihn danach wieder her.
- Lookup-Filter nach Änderungen am Objektmodell prüfenPrüfen Sie bei jeder Änderung der Filterkriterien bestehende Automatisierungen und Testdaten auf Referenzen, die den Filter nun nicht mehr bestehen würden.
Wie Serpent das verhindert
Serpent validiert Deployments vor der Beförderung eines Tasks gegen die aktuellen Metadaten der Zielorg, sodass ein in einem späteren Release verschärfter Lookup-Filter während der CI auffällt statt während eines Produktions-Datenladevorgangs. Siehe die Bibliothek der Salesforce-Deploymentfehler.

Prävention
Verwandte Fehler
FIELD_FILTER_VALIDATION_EXCEPTION, erklärt
Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.
In unter 15 Minuten eingerichtet. Keine DevOps-Einstellung nötig.
