So beheben Sie MALFORMED_ID in Salesforce-Bereitstellungen
Ein Wert, der übergeben wird, wo Salesforce eine Datensatz-ID erwartet, ist überhaupt keine gültige ID, nicht nur die falsche.
Tritt auf bei: DML und SOQL zur Laufzeit, bei Datenimporten, Integrationen und Apex-TestsWas das bedeutet
MALFORMED_ID bedeutet, dass der von Salesforce empfangene Wert syntaktisch keine gültige Datensatz-ID ist: falsche Länge, ungültige Zeichen oder ein Wert, der überhaupt keine ID ist. Das unterscheidet sich von INVALID_ID_FIELD, wo die ID wohlgeformt ist, aber auf den falschen Datensatz oder das falsche Objekt verweist; MALFORMED_ID bedeutet, dass die Zeichenfolge selbst fehlerhaft ist.
Eine gültige Salesforce-ID besteht immer aus 15 oder 18 alphanumerischen Zeichen, beginnend mit einem dreistelligen Objekt-Schlüsselpräfix; alles, was kürzer, länger ist oder Zeichen außerhalb von [A-Za-z0-9] enthält, scheitert an dieser Prüfung, bevor Salesforce überhaupt versucht, es zu einem Datensatz aufzulösen.
Häufige Ursachen
Die Lösung
- ID-Format vor der Verwendung validierenPrüfen Sie, ob jede dynamisch erzeugte oder importierte ID genau 15 oder 18 alphanumerische Zeichen hat, bevor sie an DML oder einen Lookup übergeben wird.
Boolean looksLikeId = idValue != null && idValue.isAlphanumeric() && (idValue.length() == 15 || idValue.length() == 18); - Datenimportdateien ohne Neuformatierung erneut exportierenExportieren Sie CSVs als reinen Text und deaktivieren Sie die automatische Formatierung der Tabellenkalkulation, die ID-Spalten entfernen oder verändern kann.
- Niemals Platzhalter-IDs im Test-Setup fest codierenFragen Sie im Test-Setup eine echte Datensatz-ID ab, statt einer als Id typisierten Variable eine literale Zeichenfolge zuzuweisen.
Wie Serpent das verhindert
Serpent AI löst Referenzen beim Verschieben von Änderungen zwischen Umgebungen über einen Business Key statt über rohe ID-Zeichenfolgen auf, sodass eine fehlerhafte oder fest codierte ID das Deployment einer Ziel-Org nie erreicht. Siehe die Bibliothek der Salesforce-Bereitstellungsfehler.

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