TEXT_AREA_LENGTH_EXCEEDED in Salesforce-deployments oplossen

Een waarde die naar een long text area of rich text-veld wordt geschreven is langer dan de maximale lengte die voor dat veld is ingesteld.

Komt voor bij: runtime-DML, meestal integratiepayloads en migraties

Wat het betekent

TEXT_AREA_LENGTH_EXCEEDED is het long text area- en rich text-equivalent van STRING_TOO_LONG. Het veldtype staat een veel groter maximum toe, tot 131.072 tekens, maar de geconfigureerde lengte van het specifieke veld is nog steeds kleiner dan de opgeslagen waarde. Dit komt vaak voor bij description-velden en rich text-velden die door integraties of migraties worden gevoed.

Rich text-velden slaan hun inhoud op als HTML, dus het aantal tekens dat Salesforce handhaaft omvat elke opmaaktag die de editor injecteert, niet alleen de zichtbare tekst, wat de reden is dat een kort ogende paragraaf deze fout nog steeds kan veroorzaken zodra vet, links en lijsten allemaal worden meegeteld.

Diagnose

Veelvoorkomende oorzaken

Gemigreerde inhoud is niet gecontroleerd tegen het geconfigureerde maximum van het veld
Inhoud uit het bronsysteem, zoals een legacy notes- of description-veld, is langer dan de geconfigureerde lengte van de long text area op de bestemming.
Rich text-opmaak vergroot het aantal tekens
HTML-markup die door een rich text-editor wordt toegevoegd, telt mee voor het lengtelimiet van het veld, dus visueel korte inhoud kan de limiet nog steeds overschrijden zodra opmaaktags worden meegerekend.
Integratiepayload voegt meerdere velden samen
Een integratie of Flow bouwt een long text area-waarde op door meerdere bronvelden of een volledige e-mailthread samen te voegen, en de gecombineerde lengte overschrijdt de bestemming.

De oplossing

  1. Verhoog de geconfigureerde lengte van het veld indien passend
    Verhoog de maximale lengte van de long text area in metadata, tot aan de algehele limiet van het object, als de langere inhoud legitiem is.
  2. Verwijder opmaak voordat je rich text telt of opslaat
    Converteer rich text naar platte tekst, of houd rekening met de overhead van HTML-tags, bij het valideren van de lengte vóór een save.
  3. Kort in of vat samen voordat je vanuit een integratie pusht
    Begrens de waarde tot de daadwerkelijke limiet van het veld in de integratie of Flow, in plaats van de volledige, onbegrensde broninhoud door te geven.
    String safeBody = fullBody.length() > field.getLength()
        ? fullBody.left(field.getLength())
        : fullBody;
In de praktijk

Hoe Serpent dit voorkomt

Serpent AI valideert veldlengte-beperkingen als onderdeel van het scopen van de datawijzigingen van een taak, zodat een te grote rich text- of long text area-waarde wordt opgemerkt voordat het record waartoe deze behoort een gedeelde org bereikt. Zie de Salesforce-deploymentfoutenbibliotheek.

Metadata en data in één deploymentflow in Serpent

Preventie

Bepaal de grootte van long text area-velden met HTML-overhead in gedachten
Reserveer extra lengtemarge specifiek voor rich text-velden, omdat opmaaktags dezelfde tekenlimiet opeten als de zichtbare inhoud.
Begrens integratiepayloads tot de door describe gerapporteerde lengte van het bestemmingsveld
Lees de daadwerkelijke lengte van het doelveld uit via describe-metadata in de integratiemiddleware, in plaats van een vermoede limiet hard te coderen die kan afwijken van de werkelijkheid.
Profileer de lengte van gemigreerde inhoud vóór het laden, inclusief markup
Meet de lengte van de broninhoud inclusief eventuele HTML- of rich text-markup, niet alleen de zichtbare platte-tekstlengte, voordat je deze koppelt aan een Salesforce-veld.
Veelgestelde vragen

TEXT_AREA_LENGTH_EXCEEDED, beantwoord

Geldt TEXT_AREA_LENGTH_EXCEEDED voor het standaard Description-veld?
Ja. Als je de lengte hebt verhoogd of de binnenkomende waarde de geconfigureerde lengte van het veld in die org overschrijdt, hanteren standaard long text area-velden dezelfde limiet als custom velden.
Wat is de absolute maximale lengte voor een long text area-veld?
131.072 tekens is het platformplafond; de geconfigureerde lengte van een specifiek veld kan bij het aanmaken of bewerken van het veld overal tot dat maximum worden ingesteld.
Kan ik het echte aantal tekens van een rich text-veld meten vóór het opslaan?
Ja, in Apex kun je de lengte controleren van de volledige HTML-string die je op het punt staat toe te wijzen; er is geen aparte "alleen zichtbare tekst"-lengtecontrole beschikbaar in het platform, dus meet de daadwerkelijke waarde die wordt weggeschreven.

Start gratis. Geen creditcard, geen installatie, geen verplichting.

Binnen 15 minuten ingesteld. Geen DevOps-aanwerving nodig.

Benieuwd naar sneller releasen voordat je instapt? Laten we praten

Vrijblijvend.