Hoe je MALFORMED_ID in Salesforce-implementaties oplost
Een waarde die is doorgegeven waar Salesforce een record-ID verwacht, is helemaal geen geldig ID, niet slechts het verkeerde.
Komt voor tijdens: DML en SOQL op runtime, bij data-imports, integraties en Apex-testsWat het betekent
MALFORMED_ID betekent dat de waarde die Salesforce ontving syntactisch geen geldig record-ID is: verkeerde lengte, ongeldige tekens, of een waarde die helemaal geen ID is. Dit verschilt van INVALID_ID_FIELD, waarbij het ID correct gevormd is maar naar het verkeerde record of object verwijst; MALFORMED_ID betekent dat de string zelf kapot is.
Een geldig Salesforce-ID bestaat altijd uit 15 of 18 alfanumerieke tekens, beginnend met een drieledig objectsleutelvoorvoegsel; alles wat korter, langer is, of tekens buiten [A-Za-z0-9] bevat, mislukt deze controle voordat Salesforce ooit probeert het naar een record op te lossen.
Veelvoorkomende oorzaken
De oplossing
- Valideer het ID-formaat vóór gebruikControleer of elk dynamisch opgebouwd of geïmporteerd ID exact 15 of 18 alfanumerieke tekens telt voordat het aan DML of een lookup wordt doorgegeven.
Boolean looksLikeId = idValue != null && idValue.isAlphanumeric() && (idValue.length() == 15 || idValue.length() == 18); - Exporteer data-importbestanden opnieuw zonder herformatteringExporteer CSV's als platte tekst en schakel automatische spreadsheetformattering uit die ID-kolommen kan strippen of wijzigen.
- Hardcode nooit placeholder-ID's in testsetupQuery naar een echt record-ID in testsetup in plaats van een letterlijke string toe te wijzen aan een variabele van het type Id.
Hoe Serpent dit voorkomt
Serpent AI lost verwijzingen op via een business key in plaats van ruwe ID-strings bij het verplaatsen van wijzigingen tussen omgevingen, zodat een misvormd of hardcoded ID nooit de implementatie van een doelorganisatie bereikt. Zie de bibliotheek met Salesforce-implementatiefouten.

Preventie
Gerelateerde fouten
MALFORMED_ID, uitgelegd
Begin gratis. Geen creditcard, geen installatie, geen verplichtingen.
In minder dan 15 minuten ingericht. Geen DevOps-aanwerving nodig.
